1 // RUN: %clang_cc1 %s -verify -Wconversion -fsyntax-only -triple x86_64-pc-linux-gnu
2 // RUN: %clang_cc1 %s -verify -Wconversion -fsyntax-only -triple i386-pc-linux-gnu
7 unsigned long long b
= -a
; // expected-warning {{higher order bits are zeroes after implicit conversion}}
8 long long c
= -a
; // expected-warning {{the resulting value is always non-negative after implicit conversion}}
10 unsigned long b2
= -a
;
12 // expected-warning@-2 {{higher order bits are zeroes after implicit conversion}}
16 // expected-warning@-2 {{the resulting value is always non-negative after implicit conversion}}
18 // expected-warning@-4 {{implicit conversion changes signedness: 'unsigned int' to 'long'}}
22 int n
= -(m
& 0xff); // no warning