/* { dg-do compile } */
/* { dg-options "-std=gnu99 -Wall -Wconversion -Wsign-conversion" } */
-typedef unsigned short char16_t;
-typedef unsigned int char32_t;
+typedef short unsigned int char16_t;
+typedef unsigned int char32_t;
extern void f_c (char);
extern void fsc (signed char);
extern void f_l (long);
extern void fsl (signed long);
extern void ful (unsigned long);
+extern void f_ll (long long);
+extern void fsll (signed long long);
+extern void full (unsigned long long);
void m (char16_t c0, char32_t c1)
{
- f_c (c0); /* { dg-warning "alter its value" } */
- fsc (c0); /* { dg-warning "alter its value" } */
- fuc (c0); /* { dg-warning "alter its value" } */
- f_s (c0); /* { dg-warning "change the sign" } */
- fss (c0); /* { dg-warning "change the sign" } */
+ f_c (c0); /* { dg-warning "alter its value" } */
+ fsc (c0); /* { dg-warning "alter its value" } */
+ fuc (c0); /* { dg-warning "alter its value" } */
+ f_s (c0); /* { dg-warning "change the sign" } */
+ fss (c0); /* { dg-warning "change the sign" } */
fus (c0);
f_i (c0);
fsi (c0);
f_l (c0);
fsl (c0);
ful (c0);
+ f_ll (c0);
+ fsll (c0);
+ full (c0);
- f_c (c1); /* { dg-warning "alter its value" } */
- fsc (c1); /* { dg-warning "alter its value" } */
- fuc (c1); /* { dg-warning "alter its value" } */
- f_s (c1); /* { dg-warning "alter its value" } */
- fss (c1); /* { dg-warning "alter its value" } */
- fus (c1); /* { dg-warning "alter its value" } */
- f_i (c1); /* { dg-warning "change the sign" } */
- fsi (c1); /* { dg-warning "change the sign" } */
+ f_c (c1); /* { dg-warning "alter its value" } */
+ fsc (c1); /* { dg-warning "alter its value" } */
+ fuc (c1); /* { dg-warning "alter its value" } */
+ f_s (c1); /* { dg-warning "alter its value" } */
+ fss (c1); /* { dg-warning "alter its value" } */
+ fus (c1); /* { dg-warning "alter its value" } */
+ f_i (c1); /* { dg-warning "change the sign" } */
+ fsi (c1); /* { dg-warning "change the sign" } */
fui (c1);
- f_l (c1); /* { dg-warning "change the sign" } */
- fsl (c1); /* { dg-warning "change the sign" } */
+ f_l (c1); /* { dg-warning "change the sign" "" { target { ilp32 } } } */
+ fsl (c1); /* { dg-warning "change the sign" "" { target { ilp32 } } } */
ful (c1);
+ f_ll (c1);
+ fsll (c1);
+ full (c1);
}