diff options
author | dim <dim@FreeBSD.org> | 2015-05-27 18:47:56 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2015-05-27 18:47:56 +0000 |
commit | 3191b2b32a96e1a6ee833fcca73e5c8e0c67ba65 (patch) | |
tree | dbbd4047878da71c1a706e26ce05b4e7791b14cc /test/CodeGenCXX/debug-info-decl-nested.cpp | |
parent | 38d6f2e7f2ce51a5b3836d26596c6c34a3288752 (diff) | |
download | FreeBSD-src-3191b2b32a96e1a6ee833fcca73e5c8e0c67ba65.zip FreeBSD-src-3191b2b32a96e1a6ee833fcca73e5c8e0c67ba65.tar.gz |
Vendor import of clang trunk r238337:
https://llvm.org/svn/llvm-project/cfe/trunk@238337
Diffstat (limited to 'test/CodeGenCXX/debug-info-decl-nested.cpp')
-rw-r--r-- | test/CodeGenCXX/debug-info-decl-nested.cpp | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/test/CodeGenCXX/debug-info-decl-nested.cpp b/test/CodeGenCXX/debug-info-decl-nested.cpp index 95d32c4..2c35241 100644 --- a/test/CodeGenCXX/debug-info-decl-nested.cpp +++ b/test/CodeGenCXX/debug-info-decl-nested.cpp @@ -17,11 +17,16 @@ class OuterClass public: InnerClass(); // Here createContextChain() generates a limited type for OuterClass. } theInnerClass; -// CHECK0: [[DECL:[0-9]+]] = {{.*}} ; [ DW_TAG_subprogram ] [line [[@LINE+1]]] [OuterClass] +// CHECK0: ![[DECL:[0-9]+]] = !DISubprogram(name: "OuterClass" +// CHECK0-SAME: line: [[@LINE+2]] +// CHECK0-SAME: isDefinition: false OuterClass(const Foo *); // line 10 }; OuterClass::InnerClass OuterClass::theInnerClass; // This toplevel decl causes InnerClass to be generated. -// CHECK0: !"0x2e\00OuterClass\00{{.*}}\00[[@LINE+1]]"{{.*}}, ![[DECL]], {{![0-9]+}}} ; [ DW_TAG_subprogram ] [line [[@LINE+1]]] [def] [OuterClass] +// CHECK0: !DISubprogram(name: "OuterClass" +// CHECK0-SAME: line: [[@LINE+3]] +// CHECK0-SAME: isDefinition: true +// CHECK0-SAME: declaration: ![[DECL]] OuterClass::OuterClass(const Foo *meta) { } // line 13 @@ -36,11 +41,16 @@ class OuterClass1 public: InnerClass1(); } theInnerClass1; -// CHECK1: [[DECL:[0-9]+]] = {{.*}} ; [ DW_TAG_subprogram ] [line [[@LINE+2]]] [Bar] -// CHECK1: !"0x2e\00Bar\00{{.*}}\00[[@LINE+4]]"{{.*}}, ![[DECL]], {{![0-9]+}}} ; [ DW_TAG_subprogram ] [line [[@LINE+4]]] [def] [Bar] +// CHECK1: ![[DECL:[0-9]+]] = !DISubprogram(name: "Bar" +// CHECK1-SAME: line: [[@LINE+2]] +// CHECK1-SAME: isDefinition: false void Bar(const Foo1 *); }; OuterClass1::InnerClass1 OuterClass1::theInnerClass1; +// CHECK1: !DISubprogram(name: "Bar" +// CHECK1-SAME: line: [[@LINE+3]] +// CHECK1-SAME: isDefinition: true +// CHECK1-SAME: declaration: ![[DECL]] void OuterClass1::Bar(const Foo1 *meta) { } @@ -54,9 +64,14 @@ class OuterClass2 public: InnerClass2(); } theInnerClass2; -// CHECK2: [[DECL:[0-9]+]] = {{.*}} ; [ DW_TAG_subprogram ] [line [[@LINE+1]]] [~OuterClass2] +// CHECK2: ![[DECL:[0-9]+]] = !DISubprogram(name: "~OuterClass2" +// CHECK2-SAME: line: [[@LINE+2]] +// CHECK2-SAME: isDefinition: false ~OuterClass2(); // line 10 }; OuterClass2::InnerClass2 OuterClass2::theInnerClass2; -// CHECK2: !"0x2e\00~OuterClass2\00{{.*}}\00[[@LINE+1]]"{{.*}}, ![[DECL]], {{.*}}} ; [ DW_TAG_subprogram ] [line [[@LINE+1]]] [def] [~OuterClass2] +// CHECK4: !DISubprogram(name: "~OuterClass2" +// CHECK4-SAME: line: [[@LINE+3]] +// CHECK4-SAME: isDefinition: true +// CHECK4-SAME: declaration: ![[DECL]] OuterClass2::~OuterClass2() { } |