This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/23345] Assembler message: symbol is already defined
- From: "kreckel at ginac dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 11 Aug 2005 22:42:15 -0000
- Subject: [Bug c++/23345] Assembler message: symbol is already defined
- References: <20050811220006.23345.kreckel@ginac.de>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From kreckel at ginac dot de 2005-08-11 22:42 -------
(In reply to comment #2)
> This is not a gcc bug, you cannot declare a lablel in an inline-asm that is
going to be exposed.
Is there a reference of some sort? I was unable to find one with google.
> You can see the issue on any target by:
> struct cl_module_destroyer {
> inline cl_module_destroyer ()
> {
> __asm__("\nthis_symbol_is_defined_once_or_twice:");
> }
> };
>
> cl_module_destroyer a;
> void g(void)
> {
> cl_module_destroyer a1;
> }
Please illuminate me why this is the same situation. I can vaguely understand
how in the latter case the compiler ends up with two labels. But this appears
to be quite different from the original situation where there's only one object
to destroy.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23345