blob: ed90747b8ca99dc8bc369c077cee1c76c0814bb9 [file] [log] [blame]
Tanya Lattner3f7706b2004-11-07 06:08:43 +00001; RUN: llvm-as %s -o - | llvm-dis > %t1.ll
2; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
3; RUN: diff %t1.ll %t2.ll
4
Vikram S. Adve37d0e7e2002-07-14 22:39:02 +00005; This testcase is for testing illegal constant expressions.
6; Uncomment any code line below to test that the error is caught
7; See constexpr.ll in this directory for legal ones.
8;
9
10%somestr = constant [11x sbyte] c"hello world"
11
12;;---------------------------------------------------
13;; Illegal cast expressions
14;;---------------------------------------------------
15
16;missing attribute (global/constant) or type before operator
17;%casterr1 = cast int 0
18;%casterr2 = global cast int 0
19
20;missing or illegal initializer value for constant
21;%casterr3 = constant
22;%casterr4 = constant int 4.0
23
24;;
25;;---------------------------------------------------
26;; Illegal getelementptr expressions
27;;---------------------------------------------------
28
29;; return value must be a pointer to the element
Chris Lattner7209bff2002-10-06 22:43:49 +000030;%geperr1 = global sbyte getelementptr([11x sbyte]* %somestr, long 0, long 8)
Vikram S. Adve37d0e7e2002-07-14 22:39:02 +000031
32;; index types must be valid for pointer type
33;%geperr2 = global sbyte* getelementptr([11x sbyte]* %somestr, ubyte 0)
Chris Lattner7209bff2002-10-06 22:43:49 +000034;%geperr3 = global sbyte* getelementptr([11x sbyte]* %somestr, long 0, long 0, long 3)
Vikram S. Adve37d0e7e2002-07-14 22:39:02 +000035
36;; element accessed by index list must match return type
37;%geperr4 = global sbyte* getelementptr([11x sbyte]* %somestr)
Chris Lattner7209bff2002-10-06 22:43:49 +000038;%geperr5 = global sbyte* getelementptr([11x sbyte]* %somestr, long 0)
39;%geperr6 = global int* getelementptr([11x sbyte]* %somestr, long 0, long 0)
Vikram S. Adve37d0e7e2002-07-14 22:39:02 +000040
41;; Cannot use cast expression in pointer field of getelementptr
42;; (unlike the index fields, where it is legal)
Chris Lattner7209bff2002-10-06 22:43:49 +000043;%geperr7 = constant int* getelementptr (int* cast long 0, long 27)
Vikram S. Adve37d0e7e2002-07-14 22:39:02 +000044
45