]> granicus.if.org Git - clang/commitdiff
Check in a test case for the problem with late-dropped dllimport (PR20803)
authorHans Wennborg <hans@hanshq.net>
Fri, 29 Aug 2014 17:36:11 +0000 (17:36 +0000)
committerHans Wennborg <hans@hanshq.net>
Fri, 29 Aug 2014 17:36:11 +0000 (17:36 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216749 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/dllimport.c

index 0f592d00f5310ff00a54a4876f8f06fe159b2236..259e1a8d0b763ba2916b824feaaa42d4fb405db8 100644 (file)
@@ -50,13 +50,18 @@ __declspec(dllimport) extern int GlobalRedecl4;
 USEVAR(GlobalRedecl4)
                       int GlobalRedecl4; // dllimport ignored
 
+// FIXME: dllimport is dropped in the AST; this should be reflected in codegen (PR02803).
+// CHECK: @GlobalRedecl5 = external dllimport global i32
+__declspec(dllimport) extern int GlobalRedecl5;
+USEVAR(GlobalRedecl5)
+                      extern int GlobalRedecl5; // dllimport ignored
 
 // Redeclaration in local context.
-// CHECK: @GlobalRedecl5 = external dllimport global i32
-__declspec(dllimport) int GlobalRedecl5;
+// CHECK: @GlobalRedecl6 = external dllimport global i32
+__declspec(dllimport) int GlobalRedecl6;
 int functionScope() {
-  extern int GlobalRedecl5; // still dllimport
-  return GlobalRedecl5;
+  extern int GlobalRedecl6; // still dllimport
+  return GlobalRedecl6;
 }
 
 
@@ -112,3 +117,9 @@ USE(redecl3)
 __declspec(dllimport) void redecl4(void);
 USE(redecl4)
                       void redecl4(void) {} // dllimport ignored
+
+// FIXME: dllimport is dropped in the AST; this should be reflected in codegen (PR20803).
+// CHECK-DAG: declare dllimport
+__declspec(dllimport) void redecl5(void);
+USE(redecl5)
+                      void redecl5(void); // dllimport ignored