on master help sign in
Initialize Boehm GC (hopefully fixes OSX)
6489978Benjamin Saunders
src/IRTS/CodegenLLVM.hs+3−1
@@ -91,7 +91,8 @@ mainDef =
91 , G.name = Name "main"
91 , G.name = Name "main"
92 , G.basicBlocks =
92 , G.basicBlocks =
93 [ BasicBlock (UnName 0)
93 [ BasicBlock (UnName 0)
94+ [ UnName 1 := simpleCall "GC_init" []
94− [ UnName 1 := idrCall "{runMain0}" [] ] -- TODO: Set GMP memory functions
95+ , UnName 2 := idrCall "{runMain0}" [] ] -- TODO: Set GMP memory functions
95 (Do $ Ret (Just (ConstantOperand (C.Int 32 0))) [])
96 (Do $ Ret (Just (ConstantOperand (C.Int 32 0))) [])
96 ]}
97 ]}
97
98
@@ -133,6 +134,7 @@ initDefs tgt =
133 , exfun "strcmp" (IntegerType 32) [ptrI8, ptrI8] False
134 , exfun "strcmp" (IntegerType 32) [ptrI8, ptrI8] False
134 , exfun "strlen" intPtr [ptrI8] False
135 , exfun "strlen" intPtr [ptrI8] False
135 , exfun "memcpy" ptrI8 [ptrI8, ptrI8, intPtr] False
136 , exfun "memcpy" ptrI8 [ptrI8, ptrI8, intPtr] False
137+ , exfun "GC_init" VoidType [] False
136 , exfun "GC_malloc" ptrI8 [intPtr] False
138 , exfun "GC_malloc" ptrI8 [intPtr] False
137 , exfun "GC_malloc_atomic" ptrI8 [intPtr] False
139 , exfun "GC_malloc_atomic" ptrI8 [intPtr] False
138 , exfun "__gmpz_init" VoidType [pmpz] False
140 , exfun "__gmpz_init" VoidType [pmpz] False