; This testcase shoudl return with an exit code of 1.
;
; RUN: llvm-as < %s | not lli

%test = global long 0
implementation


internal long %test() {
        %tmp.0 = load long* %test               ; <long> [#uses=1]
        %tmp.1 = add long %tmp.0, 1             ; <long> [#uses=1]
        ret long %tmp.1
}

int %main() {
	%L = call long %test()
	%I = cast long %L to int
	ret int %I
}

