Mercurial > hg > CbC > CbC_llvm
comparison test/Verifier/module-flags-1.ll @ 83:60c9769439b8 LLVM3.7
LLVM 3.7
author | Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 18 Feb 2015 14:55:36 +0900 |
parents | 95c75e76d11b |
children | 803732b1fca8 |
comparison
equal
deleted
inserted
replaced
78:af83660cff7b | 83:60c9769439b8 |
---|---|
1 ; RUN: not llvm-as < %s -o /dev/null 2>&1 | FileCheck %s | 1 ; RUN: not llvm-as < %s -o /dev/null 2>&1 | FileCheck %s |
2 | 2 |
3 ; Check that module flags are structurally correct. | 3 ; Check that module flags are structurally correct. |
4 ; | 4 ; |
5 ; CHECK: incorrect number of operands in module flag | 5 ; CHECK: incorrect number of operands in module flag |
6 ; CHECK: metadata !0 | 6 ; CHECK: !0 |
7 !0 = metadata !{ i32 1 } | 7 !0 = !{i32 1} |
8 ; CHECK: invalid behavior operand in module flag (expected constant integer) | 8 ; CHECK: invalid behavior operand in module flag (expected constant integer) |
9 ; CHECK: metadata !"foo" | 9 ; CHECK: !"foo" |
10 !1 = metadata !{ metadata !"foo", metadata !"foo", i32 42 } | 10 !1 = !{!"foo", !"foo", i32 42} |
11 ; CHECK: invalid behavior operand in module flag (unexpected constant) | 11 ; CHECK: invalid behavior operand in module flag (unexpected constant) |
12 ; CHECK: i32 999 | 12 ; CHECK: i32 999 |
13 !2 = metadata !{ i32 999, metadata !"foo", i32 43 } | 13 !2 = !{i32 999, !"foo", i32 43} |
14 ; CHECK: invalid ID operand in module flag (expected metadata string) | 14 ; CHECK: invalid ID operand in module flag (expected metadata string) |
15 ; CHECK: i32 1 | 15 ; CHECK: i32 1 |
16 !3 = metadata !{ i32 1, i32 1, i32 44 } | 16 !3 = !{i32 1, i32 1, i32 44} |
17 ; CHECK: invalid value for 'require' module flag (expected metadata pair) | 17 ; CHECK: invalid value for 'require' module flag (expected metadata pair) |
18 ; CHECK: i32 45 | 18 ; CHECK: i32 45 |
19 !4 = metadata !{ i32 3, metadata !"bla", i32 45 } | 19 !4 = !{i32 3, !"bla", i32 45} |
20 ; CHECK: invalid value for 'require' module flag (expected metadata pair) | 20 ; CHECK: invalid value for 'require' module flag (expected metadata pair) |
21 ; CHECK: metadata ! | 21 ; CHECK: ! |
22 !5 = metadata !{ i32 3, metadata !"bla", metadata !{ i32 46 } } | 22 !5 = !{i32 3, !"bla", !{i32 46}} |
23 ; CHECK: invalid value for 'require' module flag (first value operand should be a string) | 23 ; CHECK: invalid value for 'require' module flag (first value operand should be a string) |
24 ; CHECK: i32 47 | 24 ; CHECK: i32 47 |
25 !6 = metadata !{ i32 3, metadata !"bla", metadata !{ i32 47, i32 48 } } | 25 !6 = !{i32 3, !"bla", !{i32 47, i32 48}} |
26 | 26 |
27 ; Check that module flags only have unique IDs. | 27 ; Check that module flags only have unique IDs. |
28 ; | 28 ; |
29 ; CHECK: module flag identifiers must be unique (or of 'require' type) | 29 ; CHECK: module flag identifiers must be unique (or of 'require' type) |
30 !7 = metadata !{ i32 1, metadata !"foo", i32 49 } | 30 !7 = !{i32 1, !"foo", i32 49} |
31 !8 = metadata !{ i32 2, metadata !"foo", i32 50 } | 31 !8 = !{i32 2, !"foo", i32 50} |
32 ; CHECK-NOT: module flag identifiers must be unique | 32 ; CHECK-NOT: module flag identifiers must be unique |
33 !9 = metadata !{ i32 2, metadata !"bar", i32 51 } | 33 !9 = !{i32 2, !"bar", i32 51} |
34 !10 = metadata !{ i32 3, metadata !"bar", metadata !{ metadata !"bar", i32 51 } } | 34 !10 = !{i32 3, !"bar", !{!"bar", i32 51}} |
35 | 35 |
36 ; Check that any 'append'-type module flags are valid. | 36 ; Check that any 'append'-type module flags are valid. |
37 ; CHECK: invalid value for 'append'-type module flag (expected a metadata node) | 37 ; CHECK: invalid value for 'append'-type module flag (expected a metadata node) |
38 !16 = metadata !{ i32 5, metadata !"flag-2", i32 56 } | 38 !16 = !{i32 5, !"flag-2", i32 56} |
39 ; CHECK: invalid value for 'append'-type module flag (expected a metadata node) | 39 ; CHECK: invalid value for 'append'-type module flag (expected a metadata node) |
40 !17 = metadata !{ i32 5, metadata !"flag-3", i32 57 } | 40 !17 = !{i32 5, !"flag-3", i32 57} |
41 ; CHECK-NOT: invalid value for 'append'-type module flag (expected a metadata node) | 41 ; CHECK-NOT: invalid value for 'append'-type module flag (expected a metadata node) |
42 !18 = metadata !{ i32 5, metadata !"flag-4", metadata !{ i32 57 } } | 42 !18 = !{i32 5, !"flag-4", !{i32 57}} |
43 | 43 |
44 ; Check that any 'require' module flags are valid. | 44 ; Check that any 'require' module flags are valid. |
45 ; CHECK: invalid requirement on flag, flag is not present in module | 45 ; CHECK: invalid requirement on flag, flag is not present in module |
46 !11 = metadata !{ i32 3, metadata !"bar", | 46 !11 = !{i32 3, !"bar", !{!"no-such-flag", i32 52}} |
47 metadata !{ metadata !"no-such-flag", i32 52 } } | |
48 ; CHECK: invalid requirement on flag, flag does not have the required value | 47 ; CHECK: invalid requirement on flag, flag does not have the required value |
49 !12 = metadata !{ i32 1, metadata !"flag-0", i32 53 } | 48 !12 = !{i32 1, !"flag-0", i32 53} |
50 !13 = metadata !{ i32 3, metadata !"bar", | 49 !13 = !{i32 3, !"bar", !{!"flag-0", i32 54}} |
51 metadata !{ metadata !"flag-0", i32 54 } } | |
52 ; CHECK-NOT: invalid requirement on flag, flag is not present in module | 50 ; CHECK-NOT: invalid requirement on flag, flag is not present in module |
53 ; CHECK-NOT: invalid requirement on flag, flag does not have the required value | 51 ; CHECK-NOT: invalid requirement on flag, flag does not have the required value |
54 !14 = metadata !{ i32 1, metadata !"flag-1", i32 55 } | 52 !14 = !{i32 1, !"flag-1", i32 55} |
55 !15 = metadata !{ i32 3, metadata !"bar", | 53 !15 = !{i32 3, !"bar", !{!"flag-1", i32 55}} |
56 metadata !{ metadata !"flag-1", i32 55 } } | |
57 | 54 |
58 !llvm.module.flags = !{ | 55 !llvm.module.flags = !{ |
59 !0, !1, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, | 56 !0, !1, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, |
60 !16, !17, !18 } | 57 !16, !17, !18 } |