diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2014-10-09 08:45:04 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2014-10-09 08:45:04 +0000 |
commit | ec4747802ae99edea83b3199df52be5c1f43f048 (patch) | |
tree | 0ab9f13bad64139844298485d5f2e3a62559720d /clang/test/CodeGenCXX/funcsig.cpp | |
parent | a9ee5c06f4c7d6e03aafe2b730f505f901694987 (diff) | |
download | bcm5719-llvm-ec4747802ae99edea83b3199df52be5c1f43f048.tar.gz bcm5719-llvm-ec4747802ae99edea83b3199df52be5c1f43f048.zip |
Fix for bug http://llvm.org/PR17427.
Assertion failed: "Computed __func__ length differs from type!"
Reworked PredefinedExpr representation with internal StringLiteral field for function declaration.
Differential Revision: http://reviews.llvm.org/D5365
llvm-svn: 219393
Diffstat (limited to 'clang/test/CodeGenCXX/funcsig.cpp')
-rw-r--r-- | clang/test/CodeGenCXX/funcsig.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/clang/test/CodeGenCXX/funcsig.cpp b/clang/test/CodeGenCXX/funcsig.cpp index 684a796c190..2a6e641aec9 100644 --- a/clang/test/CodeGenCXX/funcsig.cpp +++ b/clang/test/CodeGenCXX/funcsig.cpp @@ -8,7 +8,7 @@ extern "C" int printf(const char *, ...); void freeFunc(int *, char) { printf("__FUNCSIG__ %s\n\n", __FUNCSIG__); } -// CHECK: private unnamed_addr constant [{{.*}} x i8] c"void __cdecl freeFunc(int *, char)\00" +// CHECK: @"\01??_C@_0CD@KLGMNNL@void?5__cdecl?5freeFunc?$CIint?5?$CK?0?5cha@" = linkonce_odr unnamed_addr constant [{{.*}} x i8] c"void __cdecl freeFunc(int *, char)\00" struct TopLevelClass { void topLevelMethod(int *, char); @@ -16,7 +16,7 @@ struct TopLevelClass { void TopLevelClass::topLevelMethod(int *, char) { printf("__FUNCSIG__ %s\n\n", __FUNCSIG__); } -// CHECK: private unnamed_addr constant [{{.*}} x i8] c"void __thiscall TopLevelClass::topLevelMethod(int *, char)\00" +// CHECK: @"\01??_C@_0DL@OBHNMDP@void?5__thiscall?5TopLevelClass?3?3t@" = linkonce_odr unnamed_addr constant [{{.*}} x i8] c"void __thiscall TopLevelClass::topLevelMethod(int *, char)\00" namespace NS { struct NamespacedClass { @@ -25,5 +25,5 @@ struct NamespacedClass { void NamespacedClass::namespacedMethod(int *, char) { printf("__FUNCSIG__ %s\n\n", __FUNCSIG__); } -// CHECK: private unnamed_addr constant [{{.*}} x i8] c"void __thiscall NS::NamespacedClass::namespacedMethod(int *, char)\00" +// CHECK: @"\01??_C@_0ED@PFDKIEBA@void?5__thiscall?5NS?3?3NamespacedCl@" = linkonce_odr unnamed_addr constant [{{.*}} x i8] c"void __thiscall NS::NamespacedClass::namespacedMethod(int *, char)\00" } |