]> granicus.if.org Git - clang/commitdiff
Try to fix non-asserts CodeGenCXX/vararg-non-pod-ms-compat.cpp
authorHans Wennborg <hans@hanshq.net>
Mon, 29 Sep 2014 23:45:00 +0000 (23:45 +0000)
committerHans Wennborg <hans@hanshq.net>
Mon, 29 Sep 2014 23:45:00 +0000 (23:45 +0000)
There are two GEP's in the function, and it seems the X64 CHECK
was matching the wrong one.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@218645 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGenCXX/vararg-non-pod-ms-compat.cpp

index da05c0b5248edf76e1d1b15174d7e1ccd5e74b47..0d468aac5798e35db73cdaf7987264f738b72a99 100644 (file)
@@ -15,7 +15,8 @@ void test(X x) {
   // X86: %[[argmem:[^ ]*]] = alloca inalloca <{ %struct.X }>
   // X86: call void (<{ %struct.X }>*, ...)* bitcast (void (...)* @"\01?vararg@@YAXZZ" to void (<{ %struct.X }>*, ...)*)(<{ %struct.X }>* inalloca %[[argmem]])
 
-  // X64: %[[valptr:[^ ]*]] = getelementptr %struct.X* %{{[^ ]*}}, i32 0, i32 0
+  // X64: %[[agg:[^ ]*]] = alloca %struct.X
+  // X64: %[[valptr:[^ ]*]] = getelementptr %struct.X* %[[agg]], i32 0, i32 0
   // X64: %[[val:[^ ]*]] = load i32* %[[valptr]]
   // X64: call void (...)* @"\01?vararg@@YAXZZ"(i32 %[[val]])
 
@@ -23,4 +24,3 @@ void test(X x) {
   vararg(x);
   // CHECK: ret void
 }
-