| // RUN: %clang_cc1 -fsyntax-only -verify -Wsign-conversion %s |
| // RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -fsyntax-only -verify -Wsign-conversion %s |
| // RUN: %clang_cc1 -triple x86_64-pc-windows-msvc -fsyntax-only -verify -Wsign-conversion %s |
| |
| // PR9345: make a subgroup of -Wconversion for signedness changes |
| |
| void test(int x) { |
| unsigned t0 = x; // expected-warning {{implicit conversion changes signedness}} |
| unsigned t1 = (t0 == 5 ? x : 0); // expected-warning {{operand of ? changes signedness}} |
| |
| // Clang has special treatment for left shift of literal '1'. |
| // Make sure there is no diagnostics. |
| long t2 = 1LL << x; |
| } |