summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/mangle-ms.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2012-05-01 02:33:44 +0000
committerJohn McCall <rjmccall@apple.com>2012-05-01 02:33:44 +0000
commit23dfaa1cef1eb1b47195408fdd456a238097ee9c (patch)
tree7dc86d3a584ce3e22e179ed8986e0ec4873195e7 /clang/test/CodeGenCXX/mangle-ms.cpp
parentd37a0c09441bbe4c339d14b758ceb4c888c64c68 (diff)
downloadbcm5719-llvm-23dfaa1cef1eb1b47195408fdd456a238097ee9c.tar.gz
bcm5719-llvm-23dfaa1cef1eb1b47195408fdd456a238097ee9c.zip
When mangling a synthetic function declaration, we might not have
type-source information for its parameters. Don't crash when mangling them in the MS C++ ABI. Patch by Timur Iskhodzhanov! llvm-svn: 155879
Diffstat (limited to 'clang/test/CodeGenCXX/mangle-ms.cpp')
-rw-r--r--clang/test/CodeGenCXX/mangle-ms.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/mangle-ms.cpp b/clang/test/CodeGenCXX/mangle-ms.cpp
index fe5fde1a1b3..ceaa669f199 100644
--- a/clang/test/CodeGenCXX/mangle-ms.cpp
+++ b/clang/test/CodeGenCXX/mangle-ms.cpp
@@ -103,3 +103,17 @@ void epsilon(int a[][10][20]) {}
void zeta(int (^)(int, int)) {}
// CHECK: @"\01?zeta@@YAXP_EAHHH@Z@Z"
+void operator_new_delete() {
+ char *ptr = new char;
+// CHECK: @"\01??2@YAPAXI@Z"
+
+ delete ptr;
+// CHECK: @"\01??3@YAXPAX@Z"
+
+ char *array = new char[42];
+// CHECK: @"\01??_U@YAPAXI@Z"
+
+ // FIXME: enable once PR12333 is fixed
+ // delete [] array;
+// Should be: @"\01??_V@YAXPAX@Z"
+}
OpenPOWER on IntegriCloud