[Bug c++/31743] [4.1/4.2/4.3 regression] ICE with invalid use of new

2007-06-05 Thread brolley at redhat dot com
--- Comment #1 from brolley at redhat dot com 2007-06-05 19:57 --- Created an attachment (id=13659) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13659&action=view) Proposed patch -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31743

[Bug c++/31743] [4.1/4.2/4.3 regression] ICE with invalid use of new

2007-06-05 Thread brolley at redhat dot com
--- Comment #2 from brolley at redhat dot com 2007-06-05 20:09 --- The macro invocation "TYPE_MODE (type)" causes the ICE when tree checking is enabled because TREE_CODE_CLASS (type) is ERROR_MARK. Checking for this before checking the tree and returning NULL_TREE allows the c

[Bug c++/31743] [4.1/4.2/4.3 regression] ICE with invalid use of new

2007-06-05 Thread brolley at redhat dot com
--- Comment #3 from brolley at redhat dot com 2007-06-05 20:11 --- Typo (sorry!) "4.2 and 4.3" above should be "4.1 and 4.2" -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31743

[Bug c++/29704] [4.1 Regression] ICE: default non-type template argument of pointer-to-member type

2007-06-07 Thread brolley at redhat dot com
--- Comment #6 from brolley at redhat dot com 2007-06-07 15:48 --- As Andrew Pinski has noted, 4.2.0 rejects the code with a proper error message. The latest trunk does the same. The change which fixes this is 2006-08-20 Mark Mitchell <[EMAIL PROTECTED]> PR c++

[Bug c++/29704] [4.1 Regression] ICE: default non-type template argument of pointer-to-member type

2007-06-07 Thread brolley at redhat dot com
--- Comment #7 from brolley at redhat dot com 2007-06-07 15:49 --- Created an attachment (id=13665) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13665&action=view) Proposed Patch -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29704

[Bug c++/31743] [4.1/4.2/4.3 regression] ICE with invalid use of new

2007-06-08 Thread brolley at redhat dot com
--- Comment #5 from brolley at redhat dot com 2007-06-08 15:41 --- OK, I've looked into this a bit more. For inspiration I looked into where the error is generated when an incomplete struct is used instead of an unsized array. I found it in: cxx_incomplete_type_diagnostic call

[Bug c++/31743] [4.1/4.2/4.3 regression] ICE with invalid use of new

2007-06-08 Thread brolley at redhat dot com
--- Comment #7 from brolley at redhat dot com 2007-06-08 15:46 --- Small optimization. We need only call complete_type_or_else once we know it's an array type. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31743

[Bug c++/31743] [4.1/4.2/4.3 regression] ICE with invalid use of new

2007-06-08 Thread brolley at redhat dot com
--- Comment #6 from brolley at redhat dot com 2007-06-08 15:42 --- Created an attachment (id=13667) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13667&action=view) New proposed patch -- brolley at redhat dot com changed: What|Removed

[Bug c++/31743] [4.1/4.2/4.3 regression] ICE with invalid use of new

2007-06-08 Thread brolley at redhat dot com
--- Comment #8 from brolley at redhat dot com 2007-06-08 15:47 --- Created an attachment (id=13668) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13668&action=view) Improvement on previous patch -- brolley at redhat dot com changed: What|

[Bug c++/31992] [4.1/4.2/4.3 regression] ICE initializing static variable of template class

2007-07-05 Thread brolley at redhat dot com
--- Comment #1 from brolley at redhat dot com 2007-07-05 20:05 --- I've worked on this a bit and just realized that it's assigned to Mark Mitchell. However, here's what I've learned, in case it helps... The segfault occurs in convert_for_initialization because the