I'd say the FE is not setting the name properly into whatever _DECL we found.
<var_decl 0xb7b907e8 c$1 type <integer_type 0xb7b95114 char public unsigned string-flag QI size <integer_cst 0xb7b851f8 constant invariant 8> unit size <integer_cst 0xb7b85210 constant invariant 1> align 8 symtab 0 alias set 4 precision 8 min <integer_cst 0xb7b85270 0> max <integer_cst 0xb7b85288 255> pointer_to_this <pointer_type 0xb7b9c1cc>> used unsigned QI file pr13615.f line 7 size <integer_cst 0xb7b851f8 8> unit size <integer_cst 0xb7b85210 1> align 8 context <function_decl 0xb7be0e00 warn_character>> I'll try to understand why this $1 behaves so badly in the error message, and why it is set that way in the first place. FX