optimization/7715: inlining of function with inline assembler causes duplicate assembler lables
linux_dr@yahoo.com
linux_dr@yahoo.com
Sat Aug 24 18:06:00 GMT 2002
>Number: 7715
>Category: optimization
>Synopsis: inlining of function with inline assembler causes duplicate assembler lables
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: rejects-legal
>Submitter-Id: net
>Arrival-Date: Sat Aug 24 18:06:03 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: Loren Osborn <linux_dr@yahoo.com>
>Release: gcc 3.1.1
>Organization:
>Environment:
Linux Mandrake 8.1
>Description:
I found a similar bug to PR233, and was disappointed to
see that PR233 was closed, appearantly just because the
URL to the test case became a broken link.
I think I have found a manifistaion of the same bug,
although it doesn't involve unrolling loops. It involves
inlining of functions with inline-assembler lables in it...
I have included a minimal test case
As far as I am aware, the code itself (while not
technically vailid ANSI C, because ANSI C doesn't
explicitly allow inline assembler) should be valid in
gcc.
>How-To-Repeat:
gcc -O3 -c -o InlineLableBug.o InlineLableBug.c
>Fix:
gcc should probably prepend (or append) a string to each assembler label that is unique to each instantiation of that function.
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="InlineLableBug.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="InlineLableBug.c"
More information about the Gcc-bugs
mailing list