This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/18644] [3.3/3.4/4.0 regression] -Wsynth warning in <complex>
- From: "bangerth at dealii dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 25 Nov 2004 19:19:47 -0000
- Subject: [Bug libstdc++/18644] [3.3/3.4/4.0 regression] -Wsynth warning in <complex>
- References: <20041124043902.18644.bangerth@dealii.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From bangerth at dealii dot org 2004-11-25 19:19 -------
I am not an expert in ABI questions, but in my naive world constructors
are somewhat different than regular functions if they are declared
inline (and synthesized constructors always are):
- you can't take the address of a constructor
- (old) code linked against a new libstdc++ with a new constructor would
be fine since the old synthesized constructor had been inlined
- (new) code linked against an old libstdc++ without the new constructor
would also be fine if the new constructor were declared inline, since
then no call to the respective library function would be attempted
IOW, the result is a situation where programs couldn't tell the difference.
The fact that you can't take the address of a constructor makes the situation
markedly different from the case of a regular function.
W.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18644