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