blob: 592e1ca349ade6c163267b56a56259f82068d900 [file] [log] [blame]
Vikram S. Adve37d0e7e2002-07-14 22:39:02 +00001; This testcase is for testing illegal constant expressions.
2; Uncomment any code line below to test that the error is caught
3; See constexpr.ll in this directory for legal ones.
4;
5
6%somestr = constant [11x sbyte] c"hello world"
7
8;;---------------------------------------------------
9;; Illegal cast expressions
10;;---------------------------------------------------
11
12;missing attribute (global/constant) or type before operator
13;%casterr1 = cast int 0
14;%casterr2 = global cast int 0
15
16;missing or illegal initializer value for constant
17;%casterr3 = constant
18;%casterr4 = constant int 4.0
19
20;;
21;;---------------------------------------------------
22;; Illegal getelementptr expressions
23;;---------------------------------------------------
24
25;; return value must be a pointer to the element
26;%geperr1 = global sbyte getelementptr([11x sbyte]* %somestr, uint 0, uint 8)
27
28;; index types must be valid for pointer type
29;%geperr2 = global sbyte* getelementptr([11x sbyte]* %somestr, ubyte 0)
30;%geperr3 = global sbyte* getelementptr([11x sbyte]* %somestr, uint 0, uint 0, uint 3)
31
32;; element accessed by index list must match return type
33;%geperr4 = global sbyte* getelementptr([11x sbyte]* %somestr)
34;%geperr5 = global sbyte* getelementptr([11x sbyte]* %somestr, uint 0)
35;%geperr6 = global int* getelementptr([11x sbyte]* %somestr, uint 0, uint 0)
36
37;; Cannot use cast expression in pointer field of getelementptr
38;; (unlike the index fields, where it is legal)
39;%geperr7 = constant int* getelementptr (int* cast long 0, uint 27)
40
41