Using va_arg with _Decimal128 for powerpc-linux results in an error message followed by an ICE, resulting in several new failing GCC tests.
This testcase: void foo (int n, ...) { __builtin_va_list ap; _Decimal128 x; __builtin_va_start (ap, n); x = __builtin_va_arg (ap, _Decimal128); __builtin_va_end (ap); } results in these messages: elm3b145% /opt/gcc-nightly/trunk/bin/gcc -c va.c va.c: In function foo: va.c:3: error: type mismatch in binary expression unsigned char unsigned char unsigned int D.1240 = D.1239 | 1 va.c:3: internal compiler error: verify_gimple failed Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. The failure becomes apparent with r133479, but it also happens with earlier GCC sources configured with --enable-checking=types. I plan to continue investigating this problem. -- Summary: invalid type for va_arg with _Decimal128 Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: target AssignedTo: janis at gcc dot gnu dot org ReportedBy: janis at gcc dot gnu dot org GCC target triplet: powerpc-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35713