| // Without serialization: |
| // RUN: %clang_cc1 -ast-dump %s | FileCheck %s |
| // |
| // With serialization: |
| // RUN: %clang_cc1 -emit-pch -o %t %s |
| // RUN: %clang_cc1 -x c++ -include-pch %t -ast-dump-all /dev/null | FileCheck %s |
| |
| struct S { |
| // CHECK: CXXMethodDecl {{.*}} a 'void ()' delete |
| // CHECK-NEXT: delete message: StringLiteral {{.*}} "foo" |
| void a() = delete("foo"); |
| |
| // CHECK: FunctionTemplateDecl {{.*}} b |
| // CHECK-NEXT: TemplateTypeParmDecl |
| // CHECK-NEXT: CXXMethodDecl {{.*}} b 'void ()' delete |
| // CHECK-NEXT: delete message: StringLiteral {{.*}} "bar" |
| template <typename> |
| void b() = delete("bar"); |
| }; |
| |
| // CHECK: FunctionDecl {{.*}} c 'void ()' delete |
| // CHECK-NEXT: delete message: StringLiteral {{.*}} "baz" |
| void c() = delete("baz"); |