[Bug c++/38007] [4.2/4.3/4.4 Regression] g++ instantiate same operator twice due to bitfield in -O0 mode, causing symbol already defined assembler error
pinskia at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon Nov 3 20:08:00 GMT 2008
------- Comment #1 from pinskia at gcc dot gnu dot org 2008-11-03 20:07 -------
Confirmed, a regression from GCC 4.1.1.
Here is a self contained example :):
class foo {
public:
template <typename T> operator T ();
};
template <typename T>
inline foo::operator T () {
return (T)0;
}
struct bar {
unsigned int _bar : 24;
};
int main() {
foo a;
unsigned int b = a;
bar c;
c._bar = a;
return 1;
}
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |pinskia at gcc dot gnu dot
| |org
Severity|normal |critical
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Keywords| |assemble-failure
Known to fail| |4.3.0 4.4.0
Known to work| |4.1.1
Last reconfirmed|0000-00-00 00:00:00 |2008-11-03 20:07:32
date| |
Summary|g++ instantiate same |[4.2/4.3/4.4 Regression] g++
|operator twice due to |instantiate same operator
|bitfield in -O0 mode, |twice due to bitfield in -O0
|causing symbol already |mode, causing symbol already
|defined assembler error |defined assembler error
Target Milestone|--- |4.2.5
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38007
More information about the Gcc-bugs
mailing list