Adding a workaround for __main linking with remote lli and Cygwin/MinGW
[oota-llvm.git] / test / ExecutionEngine / 2003-08-21-EnvironmentTest.ll
index 82d4d460b957201844c393810f2395bd59e0af50..60dc3d6b7d43103b6ea7335676bb037e325292b9 100644 (file)
@@ -1,3 +1,6 @@
+; RUN: %lli %s > /dev/null
+; XFAIL: arm
+
 ;
 ; Regression Test: EnvironmentTest.ll
 ;
@@ -6,18 +9,14 @@
 ;      environment to the main() function.
 ;
 
-target endian = little
-target pointersize = 32
-
-implementation
 
-declare uint %strlen(sbyte*)
+declare i32 @strlen(i8*)
 
-int %main(int %argc.1, sbyte** %argv.1, sbyte** %envp.1) {
-       %tmp.2 = load sbyte** %envp.1           ; <sbyte*> [#uses=2]
-       %tmp.3 = call uint %strlen( sbyte* %tmp.2 )             ; <uint> [#uses=1]
-       %T = seteq uint %tmp.3, 0
-       %R = cast bool %T to int        
-       ret int %R
+define i32 @main(i32 %argc.1, i8** %argv.1, i8** %envp.1) {
+       %tmp.2 = load i8** %envp.1              ; <i8*> [#uses=1]
+       %tmp.3 = call i32 @strlen( i8* %tmp.2 )         ; <i32> [#uses=1]
+       %T = icmp eq i32 %tmp.3, 0              ; <i1> [#uses=1]
+       %R = zext i1 %T to i32          ; <i32> [#uses=1]
+       ret i32 %R
 }