public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/46348] New: [C++0x] ICE with constexpr default constructor and array member
@ 2010-11-07 15:54 paolo.carlini at oracle dot com
  2010-11-07 18:06 ` [Bug c++/46348] " jason at gcc dot gnu.org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: paolo.carlini at oracle dot com @ 2010-11-07 15:54 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46348

           Summary: [C++0x] ICE with constexpr default constructor and
                    array member
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: paolo.carlini@oracle.com


This is just a link to this issue

  http://gcc.gnu.org/ml/gcc/2010-11/msg00135.html
  http://gcc.gnu.org/ml/gcc/2010-11/msg00136.html

which we don't want to forget. To repeat:

struct A
{
  int arr[1];

  constexpr A()
  : arr() { }
};

u.C: In constructor ‘constexpr A::A()’:
u.C:6:13: internal compiler error: in build_data_member_initialization, at
cp/semantics.c:5499

I'm adding Jason in CC.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug c++/46348] [C++0x] ICE with constexpr default constructor and array member
  2010-11-07 15:54 [Bug c++/46348] New: [C++0x] ICE with constexpr default constructor and array member paolo.carlini at oracle dot com
@ 2010-11-07 18:06 ` jason at gcc dot gnu.org
  2010-11-07 18:09 ` paolo.carlini at oracle dot com
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: jason at gcc dot gnu.org @ 2010-11-07 18:06 UTC (permalink / raw)
  To: gcc-bugs

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.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug c++/46348] [C++0x] ICE with constexpr default constructor and array member
  2010-11-07 15:54 [Bug c++/46348] New: [C++0x] ICE with constexpr default constructor and array member paolo.carlini at oracle dot com
  2010-11-07 18:06 ` [Bug c++/46348] " jason at gcc dot gnu.org
@ 2010-11-07 18:09 ` paolo.carlini at oracle dot com
  2010-11-07 18:43 ` paolo.carlini at oracle dot com
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: paolo.carlini at oracle dot com @ 2010-11-07 18:09 UTC (permalink / raw)
  To: gcc-bugs

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!


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug c++/46348] [C++0x] ICE with constexpr default constructor and array member
  2010-11-07 15:54 [Bug c++/46348] New: [C++0x] ICE with constexpr default constructor and array member paolo.carlini at oracle dot com
  2010-11-07 18:06 ` [Bug c++/46348] " jason at gcc dot gnu.org
  2010-11-07 18:09 ` paolo.carlini at oracle dot com
@ 2010-11-07 18:43 ` paolo.carlini at oracle dot com
  2010-11-07 18:45 ` paolo.carlini at oracle dot com
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: paolo.carlini at oracle dot com @ 2010-11-07 18:43 UTC (permalink / raw)
  To: gcc-bugs

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::bitset<256ul>*)(&
__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::bitset<256ul>::<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.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug c++/46348] [C++0x] ICE with constexpr default constructor and array member
  2010-11-07 15:54 [Bug c++/46348] New: [C++0x] ICE with constexpr default constructor and array member paolo.carlini at oracle dot com
                   ` (2 preceding siblings ...)
  2010-11-07 18:43 ` paolo.carlini at oracle dot com
@ 2010-11-07 18:45 ` paolo.carlini at oracle dot com
  2010-11-07 19:07 ` paolo.carlini at oracle dot com
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: paolo.carlini at oracle dot com @ 2010-11-07 18:45 UTC (permalink / raw)
  To: gcc-bugs

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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug c++/46348] [C++0x] ICE with constexpr default constructor and array member
  2010-11-07 15:54 [Bug c++/46348] New: [C++0x] ICE with constexpr default constructor and array member paolo.carlini at oracle dot com
                   ` (3 preceding siblings ...)
  2010-11-07 18:45 ` paolo.carlini at oracle dot com
@ 2010-11-07 19:07 ` paolo.carlini at oracle dot com
  2010-12-09  2:08 ` jason at gcc dot gnu.org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: paolo.carlini at oracle dot com @ 2010-11-07 19:07 UTC (permalink / raw)
  To: gcc-bugs

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()
{
  _Base<256> 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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug c++/46348] [C++0x] ICE with constexpr default constructor and array member
  2010-11-07 15:54 [Bug c++/46348] New: [C++0x] ICE with constexpr default constructor and array member paolo.carlini at oracle dot com
                   ` (4 preceding siblings ...)
  2010-11-07 19:07 ` paolo.carlini at oracle dot com
@ 2010-12-09  2:08 ` jason at gcc dot gnu.org
  2010-12-09 10:33 ` paolo.carlini at oracle dot com
  2010-12-10  0:20 ` jason at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: jason at gcc dot gnu.org @ 2010-12-09  2:08 UTC (permalink / raw)
  To: gcc-bugs

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=gcc&view=rev&rev=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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug c++/46348] [C++0x] ICE with constexpr default constructor and array member
  2010-11-07 15:54 [Bug c++/46348] New: [C++0x] ICE with constexpr default constructor and array member paolo.carlini at oracle dot com
                   ` (5 preceding siblings ...)
  2010-12-09  2:08 ` jason at gcc dot gnu.org
@ 2010-12-09 10:33 ` paolo.carlini at oracle dot com
  2010-12-10  0:20 ` jason at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: paolo.carlini at oracle dot com @ 2010-12-09 10:33 UTC (permalink / raw)
  To: gcc-bugs

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. ***


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug c++/46348] [C++0x] ICE with constexpr default constructor and array member
  2010-11-07 15:54 [Bug c++/46348] New: [C++0x] ICE with constexpr default constructor and array member paolo.carlini at oracle dot com
                   ` (6 preceding siblings ...)
  2010-12-09 10:33 ` paolo.carlini at oracle dot com
@ 2010-12-10  0:20 ` jason at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: jason at gcc dot gnu.org @ 2010-12-10  0:20 UTC (permalink / raw)
  To: gcc-bugs

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.


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2010-12-10  0:20 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-11-07 15:54 [Bug c++/46348] New: [C++0x] ICE with constexpr default constructor and array member paolo.carlini at oracle dot com
2010-11-07 18:06 ` [Bug c++/46348] " jason at gcc dot gnu.org
2010-11-07 18:09 ` paolo.carlini at oracle dot com
2010-11-07 18:43 ` paolo.carlini at oracle dot com
2010-11-07 18:45 ` paolo.carlini at oracle dot com
2010-11-07 19:07 ` paolo.carlini at oracle dot com
2010-12-09  2:08 ` jason at gcc dot gnu.org
2010-12-09 10:33 ` paolo.carlini at oracle dot com
2010-12-10  0:20 ` jason at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).