r218645 - Try to fix non-asserts CodeGenCXX/vararg-non-pod-ms-compat.cpp

Hans Wennborg hans at hanshq.net
Mon Sep 29 16:45:00 PDT 2014


Author: hans
Date: Mon Sep 29 18:45:00 2014
New Revision: 218645

URL: http://llvm.org/viewvc/llvm-project?rev=218645&view=rev
Log:
Try to fix non-asserts CodeGenCXX/vararg-non-pod-ms-compat.cpp

There are two GEP's in the function, and it seems the X64 CHECK
was matching the wrong one.

Modified:
    cfe/trunk/test/CodeGenCXX/vararg-non-pod-ms-compat.cpp

Modified: cfe/trunk/test/CodeGenCXX/vararg-non-pod-ms-compat.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/vararg-non-pod-ms-compat.cpp?rev=218645&r1=218644&r2=218645&view=diff
==============================================================================
--- cfe/trunk/test/CodeGenCXX/vararg-non-pod-ms-compat.cpp (original)
+++ cfe/trunk/test/CodeGenCXX/vararg-non-pod-ms-compat.cpp Mon Sep 29 18:45:00 2014
@@ -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
 }
-





More information about the cfe-commits mailing list