<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi,
<br>
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?
<br>
<br>
llvm-as if.ll
<br>
llc -f if.bc
<br>
gcc -o if if.s
<br>
ld: 32-bit pointer out of range in _main from <i class="moz-txt-slash"><span
 class="moz-txt-tag">/</span>var/folders/TY/TYHT2tSJEcaVdUEWeuX5P++++TI<span
 class="moz-txt-tag">/</span></i>-Tmp-//cck44HlB.o
<br>
collect2: ld returned 1 exit status
<br>
<br>
--------
<br>
<br>
@s = internal constant [4 x i8] c"%d\0A\00"
<br>
declare i32 @printf(i8 *, ...)
<br>
<br>
define i32 @main() nounwind {
<br>
<br>
entry:
<br>
%x = alloca i32
<br>
%x.0 = add i32 0, 5
<br>
%t1 = icmp sgt i32 %x.0, 0
<br>
br i1 %t1, label %thenLabel1, label %elseLabel2
<br>
<br>
thenLabel1:
<br>
%x.1 = add i32 2, %x.0
<br>
br label %joinIfLabel3
<br>
<br>
elseLabel2:
<br>
%x.2 = add i32 3, %x.0
<br>
br label %joinIfLabel3
<br>
<br>
joinIfLabel3:
<br>
%x.3 = phi i32 [%x.1, %thenLabel1],[%x.2, %elseLabel2]
<br>
tail call i32 (i8*, ...)* @printf(i8* getelementptr ([4 x i8]* @s, i64
0, i64 0), i32 %x.3) nounwind
<br>
ret i32 0
<br>
}
</body>
</html>