aboutsummaryrefslogtreecommitdiff
path: root/src/llvm.cff
diff options
context:
space:
mode:
Diffstat (limited to 'src/llvm.cff')
-rw-r--r--src/llvm.cff4
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 {