[Bug c++/46348] [C++0x] ICE with constexpr default constructor and array member

2010-12-09 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46348

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 CC||miles at gnu dot org

--- Comment #7 from Paolo Carlini paolo.carlini at oracle dot com 2010-12-09 
10:32:53 UTC ---
*** Bug 46701 has been marked as a duplicate of this bug. ***


[Bug c++/46348] [C++0x] ICE with constexpr default constructor and array member

2010-12-09 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46348

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution||FIXED

--- Comment #8 from Jason Merrill jason at gcc dot gnu.org 2010-12-10 
00:20:12 UTC ---
Really fixed now.


[Bug c++/46348] [C++0x] ICE with constexpr default constructor and array member

2010-12-08 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46348

--- Comment #6 from Jason Merrill jason at gcc dot gnu.org 2010-12-09 
02:08:34 UTC ---
Author: jason
Date: Thu Dec  9 02:08:28 2010
New Revision: 167623

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=167623
Log:
PR c++/46348
* semantics.c (cxx_eval_vec_init_1): Handle value-init.
(cxx_eval_vec_init): Pass value_init arg.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-array2.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/semantics.c
trunk/gcc/testsuite/ChangeLog


[Bug c++/46348] [C++0x] ICE with constexpr default constructor and array member

2010-11-07 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46348

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #1 from Jason Merrill jason at gcc dot gnu.org 2010-11-07 
18:06:38 UTC ---
Already fixed.


[Bug c++/46348] [C++0x] ICE with constexpr default constructor and array member

2010-11-07 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46348

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2010-11-07 
18:09:35 UTC ---
Ah, now I see the patch, thanks Jason!


[Bug c++/46348] [C++0x] ICE with constexpr default constructor and array member

2010-11-07 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46348

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
   Last reconfirmed||2010.11.07 18:43:45
 Resolution|FIXED   |
 Ever Confirmed|0   |1

--- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com 2010-11-07 
18:43:45 UTC ---
Jason, unfortunately the original std::bitset issues aren't all fixed yet. If
you apply the patchlet I'm attaching here too for your convenience to
std::bitset and then run the v3 testsuite, you get this new ICE:

FAIL: 23_containers/bitset/cons/constexpr.cc (test for excess errors)
Excess errors:
/home/paolo/Gcc/svn-dirs/trunk/libstdc++-v3/testsuite/util/testsuite_common_types.h:654:20:
  in constexpr expansion of '((std::bitset256ul*)(
__v))-std::bitset_Nb::bitset [with long unsigned int _Nb = 256ul]()'
/home/paolo/Gcc/svn-dirs/trunk-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/bitset:814:7:
  in constexpr expansion of
'std::bitset256ul::anonymous.std::_Base_bitset_Nw::_Base_bitset [with
long unsigned int _Nw = 4ul]()'
/home/paolo/Gcc/svn-dirs/trunk/libstdc++-v3/testsuite/util/testsuite_common_types.h:654:20:
internal compiler error: tree check: expected record_type or union_type or
qual_union_type, have integer_type in build_special_member_call, at
cp/call.c:6342
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

I'll try to come up with a reduced testcase myself ASAP.


[Bug c++/46348] [C++0x] ICE with constexpr default constructor and array member

2010-11-07 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46348

--- Comment #4 from Paolo Carlini paolo.carlini at oracle dot com 2010-11-07 
18:45:19 UTC ---
Created attachment 22309
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=22309
Apply to current v3 to see ICEs in the testsuite


[Bug c++/46348] [C++0x] ICE with constexpr default constructor and array member

2010-11-07 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46348

--- Comment #5 from Paolo Carlini paolo.carlini at oracle dot com 2010-11-07 
19:07:45 UTC ---
This:

template__SIZE_TYPE__ _Nw
  struct _Base
  {
typedef unsigned long _WordT;

_WordT _M_w[_Nw];

constexpr
_Base()
: _M_w() { }
  };

int main()
{
  _Base256 bs;
}

t2.C: In function ‘int main()’:
t2.C:15:14:   in constexpr expansion of ‘bs._Base_Nw::_Base [with long
unsigned int _Nw = 256ul]()’
t2.C:15:14: internal compiler error: tree check: expected record_type or
union_type or qual_union_type, have integer_type in build_special_member_call,
at cp/call.c:6342