This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/36870] __has_nothrow_constructor violates the ODR
- From: "sebor at roguewave dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 18 Jul 2008 22:11:32 -0000
- Subject: [Bug c++/36870] __has_nothrow_constructor violates the ODR
- References: <bug-36870-1186@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #7 from sebor at roguewave dot com 2008-07-18 22:11 -------
FYI: I discussed the wording briefly with Daveed (eccp returns true if and
only if the class has a trivial ctor or the ctor has a throw() spec on it,
for just this reason). We agree that the wording is unclear and should be
tightened up. I plan to bring it up on the reflector and write up an issue
if there's consensus on the intent (I hope you and/or Mark can help give
guidance). That said, IMO, the ODR requirement is orthogonal and beyond
question. I.e., the compiler must return the same result throughout the
same program, although it should be allowed to return a "more correct"
result by doing whatever magic it has at its disposal.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36870