diff options
Diffstat (limited to 'src/llvm.cff')
| -rw-r--r-- | src/llvm.cff | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/llvm.cff b/src/llvm.cff index f3db972..16abb93 100644 --- a/src/llvm.cff +++ b/src/llvm.cff @@ -606,7 +606,7 @@ fn genexpr(f *Fn, ex *Expr) Value { let tmpvar = mktmp(mkptrtype(ex.ty)); let res = mktmp(ex.ty); gen("\t%v = alloca %t\n", tmpvar, ex.ty); - gen("\t%v = icmp ne %t %v, 0\n", cnd, lhs.ty, lhs); + gen("\t%v = icmp ne %t %v, %s\n", cnd, lhs.ty, lhs, lhs.ty->is(:Ptr) ? "null" : "0"); gen("\tbr i1 %v, label %%CondT%d, label %%CondF%d\n", cnd, id, id); gen("CondT%d: ", id); let t = convert(f, ex.ty, cond.t); @@ -1195,7 +1195,7 @@ extern fn llvm_genstatic(externp bool, name *const u8, var *Var) void { extern fn llvm_fini() void { vec_each(s, i, strs) { - gen("@.str.%z = internal constant [%z x i8] c%S;\n", i, s.#len + 1, s); + gen("@.str.%z = private unnamed_addr constant [%z x i8] c%S;\n", i, s.#len + 1, s); } map_each(g, k, globls) { if g.t != :Decl { |