
This patch works towards consolidating all Clang debug-info into the `clang/test/DebugInfo` directory (https://discourse.llvm.org/t/clang-test-location-of-clang-debug-info-tests/87958). Here we move only the `clang/test/CodeGenCXX` tests. I created a `CXX` subdirectory for now because many of the tests I checked actually did seem C++-specific. There is probably overlap between the `Generic` and `CXX` subdirectory, but I haven't gone through and audited them all. The list of files i came up with is: 1. searched for anything with `*debug-info*` in the filename 2. searched for occurrences of `debug-info-kind` in the tests There's a couple of tests in `clang/test/CodeGenCXX` that still set `-debug-info-kind`. They probably don't need to do that, but I'm not changing that as part of this PR.
37 lines
1.6 KiB
C++
37 lines
1.6 KiB
C++
// Test for debug info for C++11 deleted member functions
|
|
|
|
//Supported: -O0, standalone DI
|
|
// RUN: %clang_cc1 -emit-llvm -triple x86_64-linux-gnu %s -o - \
|
|
// RUN: -O0 -disable-llvm-passes \
|
|
// RUN: -debug-info-kind=standalone \
|
|
// RUN: | FileCheck %s -check-prefix=ATTR
|
|
|
|
// ATTR: DISubprogram(name: "deleted", {{.*}}, flags: DIFlagPublic | DIFlagPrototyped,
|
|
// ATTR: DISubprogram(name: "deleted", {{.*}}, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagDeleted
|
|
// ATTR: DISubprogram(name: "operator=", linkageName: "_ZN7deletedaSERKS_", {{.*}}, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagDeleted
|
|
// ATTR: DISubprogram(name: "deleted", {{.*}}, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagDeleted
|
|
// ATTR: DISubprogram(name: "operator=", linkageName: "_ZN7deletedaSEOS_", {{.*}}, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagDeleted
|
|
// ATTR: DISubprogram(name: "func", {{.*}}, flags: DIFlagPublic | DIFlagPrototyped | DIFlagRValueReference, spFlags: DISPFlagDeleted
|
|
// ATTR: DISubprogram(name: "bar", {{.*}}, flags: DIFlagPublic | DIFlagPrototyped | DIFlagStaticMember, spFlags: DISPFlagDeleted
|
|
// ATTR: DISubprogram(name: "~deleted", {{.*}}, flags: DIFlagPublic | DIFlagPrototyped,
|
|
class deleted {
|
|
public:
|
|
// Defaulted on purpose, so as to facilitate object creation
|
|
deleted() = default;
|
|
|
|
deleted(const deleted &) = delete;
|
|
deleted &operator=(const deleted &) = delete;
|
|
|
|
deleted(deleted &&) = delete;
|
|
deleted &operator=(deleted &&) = delete;
|
|
|
|
void func() && = delete;
|
|
static int bar() = delete;
|
|
|
|
~deleted() = default;
|
|
};
|
|
|
|
void foo() {
|
|
deleted obj1;
|
|
}
|