[Bug c++/56915] [4.9 regression] ICE in symtab_add_to_same_comdat_group, at symtab.c:383
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56915 Jason Merrill jason at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC||jason at gcc dot gnu.org Resolution|--- |FIXED Assignee|unassigned at gcc dot gnu.org |jason at gcc dot gnu.org --- Comment #7 from Jason Merrill jason at gcc dot gnu.org --- Fixed.
[Bug c++/56915] [4.9 regression] ICE in symtab_add_to_same_comdat_group, at symtab.c:383
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56915 --- Comment #5 from Paolo Carlini paolo.carlini at oracle dot com 2013-04-24 09:16:20 UTC --- Normally patches go to gcc-patches.
[Bug c++/56915] [4.9 regression] ICE in symtab_add_to_same_comdat_group, at symtab.c:383
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56915 --- Comment #6 from Shixiong shixiong at kugelworks dot com 2013-04-24 09:36:13 UTC --- (In reply to comment #5) yes, I know that. I just want to let the bug submitter have a try. Normally patches go to gcc-patches.
[Bug c++/56915] [4.9 regression] ICE in symtab_add_to_same_comdat_group, at symtab.c:383
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56915 --- Comment #3 from Shixiong shixiong at kugelworks dot com 2013-04-23 23:09:17 UTC --- Created attachment 29924 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=29924 Patch for PR56915
[Bug c++/56915] [4.9 regression] ICE in symtab_add_to_same_comdat_group, at symtab.c:383
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56915 --- Comment #4 from Shixiong shixiong at kugelworks dot com 2013-04-23 23:09:58 UTC --- Please see the attached Patch for this ICE.
[Bug c++/56915] [4.9 regression] ICE in symtab_add_to_same_comdat_group, at symtab.c:383
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56915 Shixiong shixiong at kugelworks dot com changed: What|Removed |Added CC||shixiong at kugelworks dot ||com --- Comment #1 from Shixiong shixiong at kugelworks dot com 2013-04-12 07:29:38 UTC --- I am not an expert of C++11, but I am trying to help you with this ICE. Before I jump into the compiler to find the bugs, I guess you probably made several mistakes in your given code. 1) when lambdas are used as parameters, I think, they should be written in either function pointer (no state) or functional object (with state, dependent on outside vars). 2) it declared typename T::type b(), but instantiated the class with int, but int do not have a filed named type. 3)C++11 seems to only support monomorphic lambdas, if you want to use polymorphic lambdas, you probably should use other libraries like Boost. If changed into the following code, it works. template typename T class A { T b(); // Note: still cannot use 'typename T::type b()' }; template typename T, typename U void waldo(T, U); template typename T void bar() { AT (*func_pointer1) (AT) = [](AT a) { return a; }; void (*func_pointer2) () = []() { }; waldo(func_pointer2, func_pointer1); // waldo ([](AT a) { return a; }, []() { }); } int main() { barint(); } Anyway, it is just my personal opinion. If I made mistakes, pls. tell me.
[Bug c++/56915] [4.9 regression] ICE in symtab_add_to_same_comdat_group, at symtab.c:383
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56915 --- Comment #2 from Nathan Ridge zeratul976 at hotmail dot com 2013-04-12 07:40:46 UTC --- (In reply to comment #1) I am not an expert of C++11, but I am trying to help you with this ICE. Before I jump into the compiler to find the bugs, I guess you probably made several mistakes in your given code. I know the code is invalid. However, an ICE is always a compiler bug, even if it's for invalid code. The compiler should give proper errors for invalid code. (In this case it gives the ICE after giving the proper errors - that's still a bug). Also, an ICE on invalid code can indicate a logic error in the compiler's code that may also be causing (yet to be discovered) ICEs on valid code. Also, just FYI: 3)C++11 seems to only support monomorphic lambdas, if you want to use polymorphic lambdas, you probably should use other libraries like Boost. Using a lambda inside a template does not make it polymorphic. Each instantiation of the template will have a different, monomorphic, lambda.
[Bug c++/56915] [4.9 regression] ICE in symtab_add_to_same_comdat_group, at symtab.c:383
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56915 Richard Biener rguenth at gcc dot gnu.org changed: What|Removed |Added CC||hubicka at gcc dot gnu.org Target Milestone|--- |4.9.0