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?

Reply via email to