Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 ; RUN: not pnacl-abicheck < %s | FileCheck %s | |
| 2 | |
| 3 ; Test type-checking of function signatures. | |
| 4 | |
| 5 ; CHECK: Function f_arg_i1 has disallowed type: void (i1) | |
| 6 ; CHECK: Function f_ret_i1 has disallowed type: i1 () | |
| 7 define internal void @f_arg_i1(i1 %a) { | |
| 8 ret void | |
| 9 } | |
| 10 define internal i1 @f_ret_i1() { | |
| 11 ret i1 undef | |
| 12 } | |
| 13 | |
| 14 ; CHECK: Function f_arg_i8 has disallowed type: void (i8) | |
| 15 ; CHECK: Function f_ret_i8 has disallowed type: i8 () | |
| 16 define internal void @f_arg_i8(i8 %a) { | |
| 17 ret void | |
| 18 } | |
| 19 define internal i8 @f_ret_i8() { | |
| 20 ret i8 undef | |
| 21 } | |
| 22 | |
| 23 ; CHECK: Function f_arg_i16 has disallowed type: void (i16) | |
| 24 ; CHECK: Function f_ret_i16 has disallowed type: i16 () | |
| 25 define internal void @f_arg_i16(i16 %a) { | |
| 26 ret void | |
| 27 } | |
| 28 define internal i16 @f_ret_i16() { | |
| 29 ret i16 undef | |
| 30 } | |
| 31 | |
| 32 ; CHECK-NOT: f_arg_i32 {{.*}} disallowed | |
|
jvoung (off chromium)
2014/04/16 22:03:12
I think you can regex the middle of the CHECK-NOT
JF
2014/04/16 22:35:36
Done.
| |
| 33 define internal void @f_arg_i32(i32 %a) { | |
| 34 ret void | |
| 35 } | |
| 36 define internal i32 @f_ret_i32() { | |
| 37 ret i32 undef | |
| 38 } | |
| 39 | |
| 40 ; CHECK-NOT: f_arg_i64 {{.*}} disallowed | |
| 41 define internal void @f_arg_i64(i64 %a) { | |
| 42 ret void | |
| 43 } | |
| 44 define internal i64 @f_ret_i64() { | |
| 45 ret i64 undef | |
| 46 } | |
| 47 | |
| 48 ; CHECK: Function f_arg_i128 has disallowed type: void (i128) | |
| 49 ; CHECK: Function f_ret_i128 has disallowed type: i128 () | |
| 50 define internal void @f_arg_i128(i128 %a) { | |
| 51 ret void | |
| 52 } | |
| 53 define internal i128 @f_ret_i128() { | |
| 54 ret i128 undef | |
| 55 } | |
| 56 | |
| 57 ; CHECK-NOT: f_arg_float {{.*}} disallowed | |
| 58 define internal void @f_arg_float(float %a) { | |
| 59 ret void | |
| 60 } | |
| 61 define internal float @f_ret_float() { | |
| 62 ret float undef | |
| 63 } | |
| 64 | |
| 65 ; CHECK-NOT: f_arg_double {{.*}} disallowed | |
| 66 define internal void @f_arg_double(double %a) { | |
| 67 ret void | |
| 68 } | |
| 69 define internal double @f_ret_double() { | |
| 70 ret double undef | |
| 71 } | |
| 72 | |
| 73 ; CHECK: Function f_arg_1xi1 has disallowed type: void (<1 x i1>) | |
| 74 ; CHECK: Function f_ret_1xi1 has disallowed type: <1 x i1> () | |
| 75 define internal void @f_arg_1xi1(<1 x i1> %a) { | |
| 76 ret void | |
| 77 } | |
| 78 define internal <1 x i1> @f_ret_1xi1() { | |
| 79 ret <1 x i1> undef | |
| 80 } | |
| 81 | |
| 82 ; CHECK: Function f_arg_2xi1 has disallowed type: void (<2 x i1>) | |
| 83 ; CHECK: Function f_ret_2xi1 has disallowed type: <2 x i1> () | |
| 84 define internal void @f_arg_2xi1(<2 x i1> %a) { | |
| 85 ret void | |
| 86 } | |
| 87 define internal <2 x i1> @f_ret_2xi1() { | |
| 88 ret <2 x i1> undef | |
| 89 } | |
| 90 | |
| 91 ; CHECK-NOT: f_arg_4xi1 {{.*}} disallowed | |
| 92 define internal void @f_arg_4xi1(<4 x i1> %a) { | |
| 93 ret void | |
| 94 } | |
| 95 define internal <4 x i1> @f_ret_4xi1() { | |
| 96 ret <4 x i1> undef | |
| 97 } | |
| 98 | |
| 99 ; CHECK-NOT: f_arg_8xi1 {{.*}} disallowed | |
| 100 define internal void @f_arg_8xi1(<8 x i1> %a) { | |
| 101 ret void | |
| 102 } | |
| 103 define internal <8 x i1> @f_ret_8xi1() { | |
| 104 ret <8 x i1> undef | |
| 105 } | |
| 106 | |
| 107 ; CHECK-NOT: f_arg_16xi1 {{.*}} disallowed | |
| 108 define internal void @f_arg_16xi1(<16 x i1> %a) { | |
| 109 ret void | |
| 110 } | |
| 111 define internal <16 x i1> @f_ret_16xi1() { | |
| 112 ret <16 x i1> undef | |
| 113 } | |
| 114 | |
| 115 ; CHECK: Function f_arg_32xi1 has disallowed type: void (<32 x i1>) | |
| 116 ; CHECK: Function f_ret_32xi1 has disallowed type: <32 x i1> () | |
| 117 define internal void @f_arg_32xi1(<32 x i1> %a) { | |
| 118 ret void | |
| 119 } | |
| 120 define internal <32 x i1> @f_ret_32xi1() { | |
| 121 ret <32 x i1> undef | |
| 122 } | |
| 123 | |
| 124 ; CHECK: Function f_arg_64xi1 has disallowed type: void (<64 x i1>) | |
| 125 ; CHECK: Function f_ret_64xi1 has disallowed type: <64 x i1> () | |
| 126 define internal void @f_arg_64xi1(<64 x i1> %a) { | |
| 127 ret void | |
| 128 } | |
| 129 define internal <64 x i1> @f_ret_64xi1() { | |
| 130 ret <64 x i1> undef | |
| 131 } | |
| 132 | |
| 133 ; CHECK-NOT: f_arg_16xi8 {{.*}} disallowed | |
| 134 define internal void @f_arg_16xi8(<16 x i8> %a) { | |
| 135 ret void | |
| 136 } | |
| 137 define internal <16 x i8> @f_ret_16xi8() { | |
| 138 ret <16 x i8> undef | |
| 139 } | |
| 140 | |
| 141 ; CHECK-NOT: f_arg_8xi16 {{.*}} disallowed | |
| 142 define internal void @f_arg_8xi16(<8 x i16> %a) { | |
| 143 ret void | |
| 144 } | |
| 145 define internal <8 x i16> @f_ret_8xi16() { | |
| 146 ret <8 x i16> undef | |
| 147 } | |
| 148 | |
| 149 ; CHECK-NOT: f_arg_4xi32 {{.*}} disallowed | |
| 150 define internal void @f_arg_4xi32(<4 x i32> %a) { | |
| 151 ret void | |
| 152 } | |
| 153 define internal <4 x i32> @f_ret_4xi32() { | |
| 154 ret <4 x i32> undef | |
| 155 } | |
| 156 | |
| 157 ; CHECK: Function f_arg_2xi64 has disallowed type: void (<2 x i64>) | |
| 158 ; CHECK: Function f_ret_2xi64 has disallowed type: <2 x i64> () | |
| 159 define internal void @f_arg_2xi64(<2 x i64> %a) { | |
| 160 ret void | |
| 161 } | |
| 162 define internal <2 x i64> @f_ret_2xi64() { | |
| 163 ret <2 x i64> undef | |
| 164 } | |
| 165 | |
| 166 ; CHECK-NOT: f_arg_4xfloat {{.*}} disallowed | |
| 167 define internal void @f_arg_4xfloat(<4 x float> %a) { | |
| 168 ret void | |
| 169 } | |
| 170 define internal <4 x float> @f_ret_4xfloat() { | |
| 171 ret <4 x float> undef | |
| 172 } | |
| 173 | |
| 174 ; CHECK: Function f_arg_2xdouble has disallowed type: void (<2 x double>) | |
| 175 ; CHECK: Function f_ret_2xdouble has disallowed type: <2 x double> () | |
| 176 define internal void @f_arg_2xdouble(<2 x double> %a) { | |
| 177 ret void | |
| 178 } | |
| 179 define internal <2 x double> @f_ret_2xdouble() { | |
| 180 ret <2 x double> undef | |
| 181 } | |
| OLD | NEW |