diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2016-07-23 20:44:14 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2016-07-23 20:44:14 +0000 |
commit | 2b6b257f4e5503a7a2675bdb8735693db769f75c (patch) | |
tree | e85e046ae7003fe3bcc8b5454cd0fa3f7407b470 /test/CodeGenCXX/debug-info-codeview-display-name.cpp | |
parent | b4348ed0b7e90c0831b925fbee00b5f179a99796 (diff) |
Notes
Diffstat (limited to 'test/CodeGenCXX/debug-info-codeview-display-name.cpp')
-rw-r--r-- | test/CodeGenCXX/debug-info-codeview-display-name.cpp | 56 |
1 files changed, 38 insertions, 18 deletions
diff --git a/test/CodeGenCXX/debug-info-codeview-display-name.cpp b/test/CodeGenCXX/debug-info-codeview-display-name.cpp index 1d0300c76c01..b1b5a1e9acb8 100644 --- a/test/CodeGenCXX/debug-info-codeview-display-name.cpp +++ b/test/CodeGenCXX/debug-info-codeview-display-name.cpp @@ -1,14 +1,22 @@ -// RUN: %clang_cc1 -fblocks -debug-info-kind=limited -gcodeview -emit-llvm %s -o - -triple=x86_64-pc-win32 -std=c++98 | \ -// RUN: grep 'DISubprogram' | sed -e 's/.*name: "\([^"]*\)".*/"\1"/' | FileCheck %s +// RUN: %clang_cc1 -fblocks -debug-info-kind=limited -gcodeview -emit-llvm %s \ +// RUN: -o - -triple=x86_64-pc-win32 -std=c++98 | \ +// RUN: grep 'DISubprogram' | sed -e 's/.*name: "\([^"]*\)".*/"\1"/' | \ +// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=UNQUAL +// RUN: %clang_cc1 -fblocks -debug-info-kind=line-tables-only -gcodeview -emit-llvm %s \ +// RUN: -o - -triple=x86_64-pc-win32 -std=c++98 | \ +// RUN: grep 'DISubprogram' | sed -e 's/.*name: "\([^"]*\)".*/"\1"/' | \ +// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=QUAL void freefunc() { } // CHECK-DAG: "freefunc" namespace N { int b() { return 0; } -// CHECK-DAG: "N::b" +// UNQUAL-DAG: "b" +// QUAL-DAG: "N::b" namespace { void func() { } } -// CHECK-DAG: "N::`anonymous namespace'::func +// UNQUAL-DAG: "func" +// QUAL-DAG: "N::`anonymous namespace'::func" } void _c(void) { @@ -19,19 +27,24 @@ void _c(void) { struct foo { int operator+(int); foo(){} -// CHECK-DAG: "foo::foo" +// UNQUAL-DAG: "foo" +// QUAL-DAG: "foo::foo" ~foo(){} -// CHECK-DAG: "foo::~foo" +// UNQUAL-DAG: "~foo" +// QUAL-DAG: "foo::~foo" foo(int i){} -// CHECK-DAG: "foo::foo" +// UNQUAL-DAG: "foo" +// QUAL-DAG: "foo::foo" foo(char *q){} -// CHECK-DAG: "foo::foo" +// UNQUAL-DAG: "foo" +// QUAL-DAG: "foo::foo" static foo* static_method() { return 0; } -// CHECK-DAG: "foo::static_method" +// UNQUAL-DAG: "static_method" +// QUAL-DAG: "foo::static_method" }; @@ -40,7 +53,8 @@ void use_foo() { foo::static_method(); } -// CHECK-DAG: "foo::operator+" +// UNQUAL-DAG: "operator+" +// QUAL-DAG: "foo::operator+" int foo::operator+(int a) { return a; } // PR17371 @@ -60,14 +74,20 @@ void OverloadedNewDelete::operator delete(void *) { } void OverloadedNewDelete::operator delete[](void *) { } int OverloadedNewDelete::operator+(int x) { return x; }; -// CHECK-DAG: "OverloadedNewDelete::operator new" -// CHECK-DAG: "OverloadedNewDelete::operator new[]" -// CHECK-DAG: "OverloadedNewDelete::operator delete" -// CHECK-DAG: "OverloadedNewDelete::operator delete[]" -// CHECK-DAG: "OverloadedNewDelete::operator+" +// UNQUAL-DAG: "operator new" +// UNQUAL-DAG: "operator new[]" +// UNQUAL-DAG: "operator delete" +// UNQUAL-DAG: "operator delete[]" +// UNQUAL-DAG: "operator+" +// QUAL-DAG: "OverloadedNewDelete::operator new" +// QUAL-DAG: "OverloadedNewDelete::operator new[]" +// QUAL-DAG: "OverloadedNewDelete::operator delete" +// QUAL-DAG: "OverloadedNewDelete::operator delete[]" +// QUAL-DAG: "OverloadedNewDelete::operator+" -template <void (*)(void)> + +template <typename T, void (*)(void)> void fn_tmpl() {} -template void fn_tmpl<freefunc>(); -// CHECK-DAG: "fn_tmpl" +template void fn_tmpl<int, freefunc>(); +// CHECK-DAG: "fn_tmpl<int,&freefunc>" |