https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25466
--- Comment #18 from Jason Merrill ---
Author: jason
Date: Thu Dec 17 16:51:52 2015
New Revision: 231776
URL: https://gcc.gnu.org/viewcvs?rev=231776=gcc=rev
Log:
PR c++/67576
PR c++/25466
* rtti.c (build_typeid): Use
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25466
--- Comment #19 from Jason Merrill ---
Author: jason
Date: Thu Dec 17 16:52:04 2015
New Revision: 231778
URL: https://gcc.gnu.org/viewcvs?rev=231778=gcc=rev
Log:
PR c++/67576
PR c++/25466
* rtti.c (build_typeid): Use
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25466
--- Comment #20 from Jason Merrill ---
Author: jason
Date: Thu Dec 17 16:52:25 2015
New Revision: 231781
URL: https://gcc.gnu.org/viewcvs?rev=231781=gcc=rev
Log:
PR c++/67576
PR c++/25466
* rtti.c (build_typeid): Use
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25466
--- Comment #15 from Jason Merrill jason at gcc dot gnu.org 2013-04-09
17:32:49 UTC ---
Mind if I take this one?
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25466
Paolo Carlini paolo.carlini at oracle dot com changed:
What|Removed |Added
CC|jason at gcc dot gnu.org|
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25466
Jason Merrill jason at gcc dot gnu.org changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25466
--- Comment #13 from Jason Merrill jason at gcc dot gnu.org 2013-04-03
17:21:52 UTC ---
I guess it depends on the meaning of obtained. If obtained refers to the
form of the expression, G++ is following the standard. If it refers to the
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25466
--- Comment #14 from Paolo Carlini paolo.carlini at oracle dot com 2013-04-03
17:27:03 UTC ---
Ah, ah. Thanks Jason.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25466
--- Comment #12 from Paolo Carlini paolo.carlini at oracle dot com 2013-03-27
10:13:29 UTC ---
I'm having another look to this and apparently clang behaves like GCC.
Jason, what do you think? Should we extend somehow build_typeid? I'm not
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25466
--- Comment #8 from Daniel Krügler daniel.kruegler at googlemail dot com
2012-11-01 07:11:56 UTC ---
(In reply to comment #7)
The error is real. The original example belongs to 5.2.8 p2:
When typeid is applied to a **glvalue expression** whose
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25466
--- Comment #9 from Paolo Carlini paolo.carlini at oracle dot com 2012-11-01
08:39:48 UTC ---
Oops, sorry about the rvalue stupid mistake, you are right. Thus I understand
that this type of wording means that assuming it's a glvalue, the
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25466
--- Comment #10 from Daniel Krügler daniel.kruegler at googlemail dot com
2012-11-01 09:10:56 UTC ---
(In reply to comment #9)
I don't think that the standard says (or intends to say) that an implementation
has to defer all evaluations here. For
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25466
--- Comment #11 from Paolo Carlini paolo.carlini at oracle dot com 2012-11-01
11:53:26 UTC ---
I see, thanks Daniel for the additional analysis. Indeed, I can confirm that
with the operator+ return type fixed, ICC doesn't throw either. Now
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25466
Paolo Carlini paolo.carlini at oracle dot com changed:
What|Removed |Added
Status|NEW
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25466
Paolo Carlini paolo.carlini at oracle dot com changed:
What|Removed |Added
CC|
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25466
Paolo Carlini paolo.carlini at oracle dot com changed:
What|Removed |Added
CC|gcc-bugs at gcc dot gnu.org |
--- Comment #1 from pinskia at gcc dot gnu dot org 2005-12-17 21:44 ---
This is a front-end issue:
cleanup_point Unknown tree: expr_stmt (void) (struct type_info *)
*(((void) (result = 1); *0B;)._vptr.polymorphic + -4B) ;
Confirmed.
--
pinskia at gcc dot gnu dot org changed:
--- Comment #2 from pinskia at gcc dot gnu dot org 2005-12-17 21:52 ---
So for the following:
#include iostream
#include typeinfo
const std::type_info *a;
template class T
bool is_polymorphic() {
bool result(false);
const std::type_info a1 = typeid( (result=true), *(T*)0);
a
--- Comment #3 from pinskia at gcc dot gnu dot org 2005-12-17 21:55 ---
*** Bug 25467 has been marked as a duplicate of this bug. ***
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25466
--- Comment #4 from hhinnant at apple dot com 2005-12-17 22:01 ---
Agreed, (that's brutal ;-) ).
Sorry about the duplicate. My clumsy fingers hit refresh on my browser and
that generated the duplicate.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25466
20 matches
Mail list logo