Hi,
Learning the ropes of LLVM. I have this simple LLVM assembly snippet which compiles/runs fine in Ubuntu but won’t work on snow leopard. Somehow related to 64-bit? Anyone else experience this?
llvm-as if.ll
llc -f if.bc
gcc -o if if.s
ld: 32-bit pointer out of range in _main from -Tmp-//cck44HlB.o collect2: ld returned 1 exit status -------- @s = internal constant [4 x i8] c"%d\0A\00" declare i32 @printf(i8 , …) define i32 @main() nounwind { entry: %x = alloca i32 %x.0 = add i32 0, 5 %t1 = icmp sgt i32 %x.0, 0 br i1 %t1, label %thenLabel1, label %elseLabel2 thenLabel1: %x.1 = add i32 2, %x.0 br label %joinIfLabel3 elseLabel2: %x.2 = add i32 3, %x.0 br label %joinIfLabel3 joinIfLabel3: %x.3 = phi i32 [%x.1, %thenLabel1],[%x.2, %elseLabel2] tail call i32 (i8, …)* @printf(i8* getelementptr ([4 x i8]* @s, i64 0, i64 0), i32 %x.3) nounwind ret i32 0 }