[Bug c++/37540] [4.4 regression] ICE on __decltype of method call in function template
--- Comment #8 from jason at gcc dot gnu dot org 2008-11-20 18:42 --- Subject: Bug 37540 Author: jason Date: Thu Nov 20 18:40:52 2008 New Revision: 142054 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=142054 Log: PR c++/37540 * call.c (build_over_call): Take the address of the function even in a template. (build_new_method_call): Remember the type of the called function in a template. Added: trunk/gcc/testsuite/g++.dg/cpp0x/decltype14.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/call.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37540
[Bug c++/37540] [4.4 regression] ICE on __decltype of method call in function template
--- Comment #9 from jason at gcc dot gnu dot org 2008-11-20 18:42 --- Fixed. -- jason at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37540
[Bug c++/37540] [4.4 regression] ICE on __decltype of method call in function template
--- Comment #6 from jakub at gcc dot gnu dot org 2008-11-19 08:42 --- Jason, how could we avoid creating the type dependent CALL_EXPR_FN? It is created by build_new_method_call, but for templates both args and instance are going through build_non_dependent_expr which modifies them. -- jakub at gcc dot gnu dot org changed: What|Removed |Added CC||jason at gcc dot gnu dot org AssignedTo|jakub at gcc dot gnu dot org|unassigned at gcc dot gnu ||dot org Status|ASSIGNED|NEW http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37540
[Bug c++/37540] [4.4 regression] ICE on __decltype of method call in function template
--- Comment #7 from jason at gcc dot gnu dot org 2008-11-19 21:56 --- I'll poke at this. -- jason at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |jason at gcc dot gnu dot org |dot org | Status|NEW |ASSIGNED Last reconfirmed|2008-09-16 17:09:22 |2008-11-19 21:56:40 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37540
[Bug c++/37540] [4.4 regression] ICE on __decltype of method call in function template
--- Comment #5 from jakub at gcc dot gnu dot org 2008-10-21 16:38 --- Created an attachment (id=16521) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16521action=view) gcc44-pr37540.patch Fix. -- jakub at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |jakub at gcc dot gnu dot org |dot org | Status|NEW |ASSIGNED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37540
[Bug c++/37540] [4.4 regression] ICE on __decltype of method call in function template
-- mmitchel at gcc dot gnu dot org changed: What|Removed |Added Priority|P3 |P1 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37540
[Bug c++/37540] [4.4 regression] ICE on __decltype of method call in function template
--- Comment #4 from dgregor at gcc dot gnu dot org 2008-09-24 13:51 --- We need to look at CALL_EXPR_FN's type because the decltype of a call retrieves the return type of the the function called, which may be a REFERENCE_TYPE. The type of the expression will have stripped away that reference. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37540
[Bug c++/37540] [4.4 regression] ICE on __decltype of method call in function template
--- Comment #3 from jakub at gcc dot gnu dot org 2008-09-17 10:28 --- Caused by http://gcc.gnu.org/viewcvs?root=gccview=revrev=138843 Any reason why you look at CALL_EXPR_FN's type instead of just TREE_TYPE (expr)? In this case TREE_TYPE (expr) is int, but CALL_EXPR_FN is COMPONENT_REF with NULL TREE_TYPE, created by: 5692 if (processing_template_decl call != error_mark_node) 5693call = (build_min_non_dep_call_list 5694(call, 5695 build_min_nt (COMPONENT_REF, orig_instance, orig_fns, NULL_TREE), 5696 orig_args)); -- jakub at gcc dot gnu dot org changed: What|Removed |Added CC||dgregor at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37540
[Bug c++/37540] [4.4 regression] ICE on __decltype of method call in function template
--- Comment #2 from pinskia at gcc dot gnu dot org 2008-09-16 17:09 --- ICEs in finish_decltype_type. Confirmed. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords||ice-on-valid-code Known to fail||4.4.0 Known to work||4.3.0 Last reconfirmed|-00-00 00:00:00 |2008-09-16 17:09:22 date|| Target Milestone|--- |4.4.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37540