; RUN: llvm-as < %s | llvm-dis > %t1.ll
; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
; RUN: diff %t1.ll %t2.ll

@somestr = constant [11 x i8] c"hello world"            ; <[11 x i8]*> [#uses=1]
@array = constant [2 x i32] [ i32 12, i32 52 ]          ; <[2 x i32]*> [#uses=1]
@0 = constant { i32, i32 } { i32 4, i32 3 }        ; <{ i32, i32 }*>:0 [#uses=0]

define [2 x i32]* @testfunction(i32 %i0, i32 %j0) {
        ret [2 x i32]* @array
}

define i8* @otherfunc(i32, double) {
        %somestr = getelementptr [11 x i8], [11 x i8]* @somestr, i64 0, i64 0              ; <i8*> [#uses=1]
        ret i8* %somestr
}

define i8* @yetanotherfunc(i32, double) {
        ret i8* null
}

define i32 @negativeUnsigned() {
        ret i32 -1
}

define i32 @largeSigned() {
        ret i32 -394967296
}

