This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Is it a bug allowing to copy GIMPLE_ASM with labels?
- From: Alexander Monakov <amonakov at ispras dot ru>
- To: "Bin.Cheng" <amker dot cheng at gmail dot com>
- Cc: GCC Development <gcc at gcc dot gnu dot org>
- Date: Sat, 29 Dec 2018 10:41:54 +0300 (MSK)
- Subject: Re: Is it a bug allowing to copy GIMPLE_ASM with labels?
- References: <CAHFci29NA3-eZ3GN+O=hYFNEjbFt4==VAhnuBPJqLY_x+re0WA@mail.gmail.com>
On Sat, 29 Dec 2018, Bin.Cheng wrote:
> tracer-1.c: Assembler messages:
> tracer-1.c:16: Error: symbol `foo_label' is already defined
>
> Root cause is in tracer.c which duplicates basic block without
> checking if any GIMPLE_ASM defines labels.
> Is this a bug or invalid code?
This is invalid code, GCC documentation is clear that the compiler
may duplicate inline asm statements (passes other than tracer can do
that too, loop unswitching just to give one example).
We don't provide a way to write an asm that wouldn't be duplicated.
Alexander