On Wed, 10 Jun 2015, weixiangyu wrote: > + if (bitsize + bitnum > unit && bitnum < unit) > + { > + warning (OPT_Wextra, "write of "HOST_WIDE_INT_PRINT_UNSIGNED"bit data > " > + "outside the bound of destination object, data truncated into > " > + HOST_WIDE_INT_PRINT_UNSIGNED"bit", bitsize, unit - bitnum);
HOST_WIDE_INT_PRINT_UNSIGNED is a printf format, which depends on the host and is not suitable for any translatable string, not a format for GCC's pretty printers. Use %wu instead in any call to a GCC diagnostic function. Mainline appears to have this correct. -- Joseph S. Myers jos...@codesourcery.com