https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82817

--- Comment #2 from Thomas Preud'homme <thopre01 at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #1)
> The GIMPLE FE also doesn't like that some variable names created by the
> middle-end contain '.'.
> 
> I belive it would be good to "fix" create_tmp_var_name.  I suppose it
> intentionally uses ASM_FORMAT_PRIVATE_NAME to avoid clashes with user
> vars - but that should only be necessary for globals which should better
> use a more "manual" way of creating the name.

That would work for this specific instance but as I said it's a more general
problem. You can see at the end another such case:

expected character `[', found `)'

for this RTL:

      (cinsn 11 (set (reg:SI r3 [orig:111 c.1_2 ] [111])
                    (mem/c:SI (reg/f:SI r3 [117]) [1 c+0 S4 A32]))
"testcase.c":7)


I don't see why the RTL body goes through the C tokenizer since we only seems
to care about matching curly braces and detecting EOF which I'm sure a lower
level function that deals with encoding and buffer management would do.

Reply via email to