llvm-project/clang/test/AST/ast-dump-cxx2c-delete-with-message.cpp
Sirraide ef164cee90
[Clang] [C++26] Implement P2573R2: = delete("should have a reason"); (#86526)
This implements support for the `= delete("message")` syntax that was
only just added to C++26
([P2573R2](https://isocpp.org/files/papers/P2573R2.html#proposal-scope)).
2024-04-14 12:30:01 +02:00

24 lines
783 B
C++

// 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");