diff options
Diffstat (limited to 'test/Sema/conversion.c')
-rw-r--r-- | test/Sema/conversion.c | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/test/Sema/conversion.c b/test/Sema/conversion.c index 842641b..a591ac0 100644 --- a/test/Sema/conversion.c +++ b/test/Sema/conversion.c @@ -61,53 +61,125 @@ void test0(char c, short s, int i, long l, long long ll) { char test1(long long ll) { return (long long) ll; // expected-warning {{implicit conversion loses integer precision}} +} +char test1_a(long long ll) { return (long) ll; // expected-warning {{implicit conversion loses integer precision}} +} +char test1_b(long long ll) { return (int) ll; // expected-warning {{implicit conversion loses integer precision}} +} +char test1_c(long long ll) { return (short) ll; // expected-warning {{implicit conversion loses integer precision}} +} +char test1_d(long long ll) { return (char) ll; +} +char test1_e(long long ll) { return (long long) BIG; // expected-warning {{implicit conversion from 'long long' to 'char' changes value}} +} +char test1_f(long long ll) { return (long) BIG; // expected-warning {{implicit conversion from 'long' to 'char' changes value}} +} +char test1_g(long long ll) { return (int) BIG; // expected-warning {{implicit conversion from 'int' to 'char' changes value}} +} +char test1_h(long long ll) { return (short) BIG; // expected-warning {{implicit conversion from 'short' to 'char' changes value}} +} +char test1_i(long long ll) { return (char) BIG; } short test2(long long ll) { return (long long) ll; // expected-warning {{implicit conversion loses integer precision}} +} +short test2_a(long long ll) { return (long) ll; // expected-warning {{implicit conversion loses integer precision}} +} +short test2_b(long long ll) { return (int) ll; // expected-warning {{implicit conversion loses integer precision}} +} +short test2_c(long long ll) { return (short) ll; +} +short test2_d(long long ll) { return (char) ll; +} +short test2_e(long long ll) { return (long long) BIG; // expected-warning {{implicit conversion from 'long long' to 'short' changes value}} +} +short test2_f(long long ll) { return (long) BIG; // expected-warning {{implicit conversion from 'long' to 'short' changes value}} +} +short test2_g(long long ll) { return (int) BIG; // expected-warning {{implicit conversion from 'int' to 'short' changes value}} +} +short test2_h(long long ll) { return (short) BIG; +} +short test2_i(long long ll) { return (char) BIG; } int test3(long long ll) { return (long long) ll; // expected-warning {{implicit conversion loses integer precision}} +} +int test3_b(long long ll) { return (long) ll; // expected-warning {{implicit conversion loses integer precision}} +} +int test3_c(long long ll) { return (int) ll; +} +int test3_d(long long ll) { return (short) ll; +} +int test3_e(long long ll) { return (char) ll; +} +int test3_f(long long ll) { return (long long) BIG; // expected-warning {{implicit conversion from 'long long' to 'int' changes value}} +} +int test3_g(long long ll) { return (long) BIG; // expected-warning {{implicit conversion from 'long' to 'int' changes value}} +} +int test3_h(long long ll) { return (int) BIG; +} +int test3_i(long long ll) { return (short) BIG; +} +int test3_j(long long ll) { return (char) BIG; } long test4(long long ll) { return (long long) ll; +} +long test4_a(long long ll) { return (long) ll; +} +long test4_b(long long ll) { return (int) ll; +} +long test4_c(long long ll) { return (short) ll; +} +long test4_d(long long ll) { return (char) ll; +} +long test4_e(long long ll) { return (long long) BIG; +} +long test4_f(long long ll) { return (long) BIG; +} +long test4_g(long long ll) { return (int) BIG; +} +long test4_h(long long ll) { return (short) BIG; +} +long test4_i(long long ll) { return (char) BIG; } |