+; RUN: %lli %s > /dev/null
+; XFAIL: arm
+
;
; Regression Test: EnvironmentTest.ll
;
; environment to the main() function.
;
-target endian = little
-target pointersize = 32
- %struct..TorRec = type { int, void ()* }
-
-implementation ; Functions:
-
-declare uint %strlen(sbyte*)
-declare void %exit(int)
-
-internal void %__main() {
-entry: ; No predecessors!
- ret void
-}
+declare i32 @strlen(i8*)
-int %main(int %argc.1, sbyte** %argv.1, sbyte** %envp.1) {
-entry: ; No predecessors!
- call void %__main( )
- %tmp.2 = load sbyte** %envp.1 ; <sbyte*> [#uses=2]
- %tmp.3 = call uint %strlen( sbyte* %tmp.2 ) ; <uint> [#uses=1]
- %tmp.0 = call int %write( int 1, sbyte* %tmp.2, uint %tmp.3 ) ; <int> [#uses=0]
- call void %exit( int 0 )
- ret int 0
+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
}
-declare int %write(int, sbyte*, uint)