summaryrefslogtreecommitdiffstats
path: root/test/CodeGenCXX/funcsig.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2017-01-09 22:16:16 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2017-01-09 22:16:16 +0000
commit0d1b93e943ffb23a5f476f1997f8462fb147ccea (patch)
treeb73bdf4e52ff191d815f374846d3608feb136813 /test/CodeGenCXX/funcsig.cpp
parent265da68fe2c8c48f77b82f736230690870127fa5 (diff)
MSVC seems to use (void) in __FUNCSIG__ for a zero-parameter function even in C++. Follow suit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@291489 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/funcsig.cpp')
-rw-r--r--test/CodeGenCXX/funcsig.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/test/CodeGenCXX/funcsig.cpp b/test/CodeGenCXX/funcsig.cpp
index c064946e92..16e5f7e1c9 100644
--- a/test/CodeGenCXX/funcsig.cpp
+++ b/test/CodeGenCXX/funcsig.cpp
@@ -13,13 +13,12 @@ void funcNoProto() {
printf("__FUNCSIG__ %s\n\n", __FUNCSIG__);
}
// CHECK-C: @"\01??_C@_0BL@IHLLLCAO@void?5__cdecl?5funcNoProto?$CI?$CJ?$AA@" = linkonce_odr unnamed_addr constant [27 x i8] c"void __cdecl funcNoProto()\00"
-// CHECK-CXX: @"\01??_C@_0BL@IHLLLCAO@void?5__cdecl?5funcNoProto?$CI?$CJ?$AA@" = linkonce_odr unnamed_addr constant [27 x i8] c"void __cdecl funcNoProto()\00"
+// CHECK-CXX: @"\01??_C@_0BP@PJOECCJN@void?5__cdecl?5funcNoProto?$CIvoid?$CJ?$AA@" = linkonce_odr unnamed_addr constant [31 x i8] c"void __cdecl funcNoProto(void)\00"
void funcNoParams(void) {
printf("__FUNCSIG__ %s\n\n", __FUNCSIG__);
}
-// CHECK-C: @"\01??_C@_0CA@GBIDFNBN@void?5__cdecl?5funcNoParams?$CIvoid?$CJ?$AA@" = linkonce_odr unnamed_addr constant [32 x i8] c"void __cdecl funcNoParams(void)\00"
-// CHECK-CXX: @"\01??_C@_0BM@GDFBOAEE@void?5__cdecl?5funcNoParams?$CI?$CJ?$AA@" = linkonce_odr unnamed_addr constant [28 x i8] c"void __cdecl funcNoParams()\00"
+// CHECK: @"\01??_C@_0CA@GBIDFNBN@void?5__cdecl?5funcNoParams?$CIvoid?$CJ?$AA@" = linkonce_odr unnamed_addr constant [32 x i8] c"void __cdecl funcNoParams(void)\00"
void freeFunc(int *p, char c) {
printf("__FUNCSIG__ %s\n\n", __FUNCSIG__);
@@ -27,6 +26,11 @@ void freeFunc(int *p, char c) {
// 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"
#ifdef __cplusplus
+void funcVarargs(...) {
+ printf("__FUNCSIG__ %s\n\n", __FUNCSIG__);
+}
+// CHECK-CXX: @"\01??_C@_0BO@BOBPLEKP@void?5__cdecl?5funcVarargs?$CI?4?4?4?$CJ?$AA@" = linkonce_odr unnamed_addr constant [30 x i8] c"void __cdecl funcVarargs(...)\00"
+
struct TopLevelClass {
void topLevelMethod(int *, char);
};