@@ -124,6 +124,10 @@ mainDef =
124124 , ConstantOperand . C.GlobalReference . Name $ "__idris_gmpRealloc"
125125 , ConstantOperand . C.GlobalReference . Name $ "__idris_gmpFree"
126126 ]
127+ , Do $ Store False (ConstantOperand . C.GlobalReference . Name $ "__idris_argc")
128+ (LocalReference (Name "argc")) Nothing 0 []
129+ , Do $ Store False (ConstantOperand . C.GlobalReference . Name $ "__idris_argv")
130+ (LocalReference (Name "argv")) Nothing 0 []
127131 , UnName 1 := idrCall "{runMain0}" [] ]
128132 (Do $ Ret (Just (ConstantOperand (C.Int 32 0))) [])
129133 ]}
@@ -198,6 +202,8 @@ initDefs tgt =
198202 , exVar (stdinName tgt) ptrI8
199203 , exVar (stdoutName tgt) ptrI8
200204 , exVar (stderrName tgt) ptrI8
205+ , exVar "__idris_argc" (IntegerType 32)
206+ , exVar "__idris_argv" (PointerType ptrI8 (AddrSpace 0))
201207 , GlobalDefinition mainDef
202208 ] ++ map mpzBinFun ["add", "sub", "mul", "fdiv_q", "fdiv_r", "and", "ior", "xor"]
203209 where