/* { dg-do compile } */ /* { dg-options -Wtraditional-conversion } */ int test_s (signed int x) { return __builtin_abs (x) /* { dg-bogus "as unsigned due to prototype" } */ + __builtin_clz (x) /* { dg-warning "as unsigned due to prototype" } */ + __builtin_ctz (x) /* { dg-warning "as unsigned due to prototype" } */ + __builtin_clrsb (x) /* { dg-bogus "as unsigned due to prototype" } */ + __builtin_ffs (x) /* { dg-bogus "as unsigned due to prototype" } */ + __builtin_parity (x) /* { dg-warning "as unsigned due to prototype" } */ + __builtin_popcount (x); /* { dg-warning "as unsigned due to prototype" } */ } int test_u (unsigned int x) { return __builtin_abs (x) /* { dg-warning "as signed due to prototype" } */ + __builtin_clz (x) /* { dg-bogus "as signed due to prototype" } */ + __builtin_ctz (x) /* { dg-bogus "as signed due to prototype" } */ + __builtin_clrsb (x) /* { dg-warning "as signed due to prototype" } */ + __builtin_ffs (x) /* { dg-warning "as signed due to prototype" } */ + __builtin_parity (x) /* { dg-bogus "as signed due to prototype" } */ + __builtin_popcount (x); /* { dg-bogus "as signed due to prototype" } */ } int test_sl (signed long x) { return __builtin_labs (x) /* { dg-bogus "as unsigned due to prototype" } */ + __builtin_clzl (x) /* { dg-warning "as unsigned due to prototype" } */ + __builtin_ctzl (x) /* { dg-warning "as unsigned due to prototype" } */ + __builtin_clrsbl (x) /* { dg-bogus "as unsigned due to prototype" } */ + __builtin_ffsl (x) /* { dg-bogus "as unsigned due to prototype" } */ + __builtin_parityl (x) /* { dg-warning "as unsigned due to prototype" } */ + __builtin_popcountl (x); /* { dg-warning "as unsigned due to prototype" } */ } int test_ul (unsigned long x) { return __builtin_labs (x) /* { dg-warning "as signed due to prototype" } */ + __builtin_clzl (x) /* { dg-bogus "as signed due to prototype" } */ + __builtin_ctzl (x) /* { dg-bogus "as signed due to prototype" } */ + __builtin_clrsbl (x) /* { dg-warning "as signed due to prototype" } */ + __builtin_ffsl (x) /* { dg-warning "as signed due to prototype" } */ + __builtin_parityl (x) /* { dg-bogus "as signed due to prototype" } */ + __builtin_popcountl (x); /* { dg-bogus "as signed due to prototype" } */ } int test_sll (signed long long x) { return __builtin_llabs (x) /* { dg-bogus "as unsigned due to prototype" } */ + __builtin_clzll (x) /* { dg-warning "as unsigned due to prototype" } */ + __builtin_ctzll (x) /* { dg-warning "as unsigned due to prototype" } */ + __builtin_clrsbll (x) /* { dg-bogus "as unsigned due to prototype" } */ + __builtin_ffsll (x) /* { dg-bogus "as unsigned due to prototype" } */ + __builtin_parityll (x) /* { dg-warning "as unsigned due to prototype" } */ + __builtin_popcountll (x); /* { dg-warning "as unsigned due to prototype" } */ } int test_ull (unsigned long long x) { return __builtin_llabs (x) /* { dg-warning "as signed due to prototype" } */ + __builtin_clzll (x) /* { dg-bogus "as signed due to prototype" } */ + __builtin_ctzll (x) /* { dg-bogus "as signed due to prototype" } */ + __builtin_clrsbll (x) /* { dg-warning "as signed due to prototype" } */ + __builtin_ffsll (x) /* { dg-warning "as signed due to prototype" } */ + __builtin_parityll (x) /* { dg-bogus "as signed due to prototype" } */ + __builtin_popcountll (x); /* { dg-bogus "as signed due to prototype" } */ }