Regression test that verifies that the JIT passes the environment to the
authorJohn Criswell <criswell@uiuc.edu>
Thu, 21 Aug 2003 21:18:21 +0000 (21:18 +0000)
committerJohn Criswell <criswell@uiuc.edu>
Thu, 21 Aug 2003 21:18:21 +0000 (21:18 +0000)
main() function.

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

test/ExecutionEngine/2003-08-21-EnvironmentTest.ll [new file with mode: 0644]

diff --git a/test/ExecutionEngine/2003-08-21-EnvironmentTest.ll b/test/ExecutionEngine/2003-08-21-EnvironmentTest.ll
new file mode 100644 (file)
index 0000000..c880221
--- /dev/null
@@ -0,0 +1,34 @@
+;
+; Regression Test: EnvironmentTest.ll
+;
+; Description:
+;      This is a regression test that verifies that the JIT passes the
+;      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
+}
+
+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
+}
+
+declare int %write(int, sbyte*, uint)