http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25466
Paolo Carlini <paolo.carlini at oracle dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |daniel.kruegler at
| |googlemail dot com, jason
| |at gcc dot gnu.org
--- Comment #7 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-11-01
01:01:07 UTC ---
In fact, I'm not so sure we have a bug here. C++11 5.2.8 says "the expression
is obtained by applying the unary * operator to a pointer and the pointer is a
null pointer value": does that mean *any* possible expression where a null
pointer appears or just the expressions of the simple form clarified in note
68? In fact, if I add:
polymorphic operator+(polymorphic, polymorphic);
and change the typeid argument to:
*(T*)0 + *(T*)0
then ICC doesn't throw. Why (result=true, *(T*)0) should be different?