[Bug c++/49921] [C++0x] Segfault during compilation, decltype and operator-*
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49921 Jason Merrill jason at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED Target Milestone|--- |4.6.2 --- Comment #6 from Jason Merrill jason at gcc dot gnu.org 2011-08-06 22:23:19 UTC --- Fixed for 4.6.2.
[Bug c++/49921] [C++0x] Segfault during compilation, decltype and operator-*
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49921 Jason Merrill jason at gcc dot gnu.org changed: What|Removed |Added Status|NEW |ASSIGNED CC||jason at gcc dot gnu.org AssignedTo|unassigned at gcc dot |jason at gcc dot gnu.org |gnu.org |
[Bug c++/49921] [C++0x] Segfault during compilation, decltype and operator-*
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49921 --- Comment #4 from Jason Merrill jason at gcc dot gnu.org 2011-08-06 04:34:40 UTC --- Author: jason Date: Sat Aug 6 04:34:37 2011 New Revision: 177498 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=177498 Log: PR c++/49921 * semantics.c (finish_decltype_type): Call invalid_nonstatic_memfn_p. Added: trunk/gcc/testsuite/g++.dg/cpp0x/decltype31.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/semantics.c trunk/gcc/testsuite/ChangeLog
[Bug c++/49921] [C++0x] Segfault during compilation, decltype and operator-*
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49921 --- Comment #5 from Jason Merrill jason at gcc dot gnu.org 2011-08-06 04:38:27 UTC --- Author: jason Date: Sat Aug 6 04:38:24 2011 New Revision: 177502 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=177502 Log: PR c++/49921 * semantics.c (finish_decltype_type): Call invalid_nonstatic_memfn_p. Added: branches/gcc-4_6-branch/gcc/testsuite/g++.dg/cpp0x/decltype31.C Modified: branches/gcc-4_6-branch/gcc/cp/ChangeLog branches/gcc-4_6-branch/gcc/cp/semantics.c branches/gcc-4_6-branch/gcc/testsuite/ChangeLog
[Bug c++/49921] [C++0x] Segfault during compilation, decltype and operator-*
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49921 --- Comment #3 from Jonathan Wakely redi at gcc dot gnu.org 2011-08-01 09:51:56 UTC --- Yes, the standard says: If the result of .* or -* is a function, then that result can be used only as the operand for the function call operator () So I think G++ should reject decltype((l-*ptr))
[Bug c++/49921] [C++0x] Segfault during compilation, decltype and operator-*
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49921 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2011.07.31 10:38:25 Summary|Segfault during |[C++0x] Segfault during |compilation, decltype and |compilation, decltype and |operator-* |operator-* Ever Confirmed|0 |1 Severity|blocker |normal --- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2011-07-31 10:38:25 UTC --- Confirmed. Mainline says: 49921.C: In function ‘int main()’: 49921.C:15:25: internal compiler error: tree check: expected record_type or union_type or qual_union_type, have translation_unit_decl in maybe_dummy_object, at cp/tree.c:2474
[Bug c++/49921] [C++0x] Segfault during compilation, decltype and operator-*
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49921 --- Comment #2 from fabian.bergmark at gmail dot com 2011-07-31 10:57:17 UTC --- (In reply to comment #1) Confirmed. Mainline says: 49921.C: In function ‘int main()’: 49921.C:15:25: internal compiler error: tree check: expected record_type or union_type or qual_union_type, have translation_unit_decl in maybe_dummy_object, at cp/tree.c:2474 To quote Modern C++ Design by Andrei Alexandrescu: In C++, where every object has a type, the result of operator-* or operator.* is a unique exception. and Both are binary functions all right, and they return something to which you can apply the function-call operator immediately, but that something does no have a type. Is this possibly the reason to the error?