brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 564f7ff Raw
37 lines · cpp
1// Test for debug info for C++11 deleted member functions2 3//Supported: -O0, standalone DI4// RUN: %clang_cc1 -emit-llvm -triple x86_64-linux-gnu %s -o - \5// RUN:   -O0 -disable-llvm-passes \6// RUN:   -debug-info-kind=standalone \7// RUN: | FileCheck %s -check-prefix=ATTR8 9// ATTR: DISubprogram(name: "deleted", {{.*}}, flags: DIFlagPublic | DIFlagPrototyped,10// ATTR: DISubprogram(name: "deleted", {{.*}}, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagDeleted11// ATTR: DISubprogram(name: "operator=", linkageName: "_ZN7deletedaSERKS_", {{.*}}, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagDeleted12// ATTR: DISubprogram(name: "deleted", {{.*}}, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagDeleted13// ATTR: DISubprogram(name: "operator=", linkageName: "_ZN7deletedaSEOS_", {{.*}}, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagDeleted14// ATTR: DISubprogram(name: "func", {{.*}}, flags: DIFlagPublic | DIFlagPrototyped | DIFlagRValueReference, spFlags: DISPFlagDeleted15// ATTR: DISubprogram(name: "bar", {{.*}}, flags: DIFlagPublic | DIFlagPrototyped | DIFlagStaticMember, spFlags: DISPFlagDeleted16// ATTR: DISubprogram(name: "~deleted", {{.*}}, flags: DIFlagPublic | DIFlagPrototyped,17class deleted {18public:19  // Defaulted on purpose, so as to facilitate object creation20  deleted() = default;21 22  deleted(const deleted &) = delete;23  deleted &operator=(const deleted &) = delete;24 25  deleted(deleted &&) = delete;26  deleted &operator=(deleted &&) = delete;27 28  void func() && = delete;29  static int bar() = delete;30 31  ~deleted() = default;32};33 34void foo() {35  deleted obj1;36}37