http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52952
--- Comment #19 from Manuel López-Ibáñez <manu at gcc dot gnu.org> 2013-03-30 13:26:19 UTC --- Unfortunately, there are some stuff like this: <addr_expr 0x7ffff708f680 type <pointer_type 0x7ffff7094690 type <array_type 0x7ffff7094540 type <integer_type 0x7ffff6ef3dc8 char> BLK size <integer_cst 0x7ffff708f540 constant 280> unit size <integer_cst 0x7ffff708f620 constant 35> align 8 symtab 0 alias set -1 canonical type 0x7ffff7094540 domain <integer_type 0x7ffff70943f0> pointer_to_this <pointer_type 0x7ffff7094690>> unsigned DI size <integer_cst 0x7ffff6ecddc0 constant 64> unit size <integer_cst 0x7ffff6ecdde0 constant 8> align 64 symtab 0 alias set -1 canonical type 0x7ffff7094690> readonly constant arg 0 <string_cst 0x7ffff7059038 type <array_type 0x7ffff7094540> readonly constant static "%s:%d: %s: Assertion '%s' failed.\012\000">> so we cannot assert that the format_expr has no unknown location.