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

            Bug ID: 57769
           Summary: Unable to call a constructor invoking another
                    constructor in the same class (sister constructor)
                    with designated initializer for aggregate types
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: blocker
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: korpela.henri.mikael at gmail dot com

While implementing a matrix class template called Matrix4, I ran into a problem
with designated initializers for aggregate types. Here is my Matrix4 class
implementation (shortened):

http://pastebin.com/t5ESv24K

Calling a constructor Matrix4<T>::Matrix4(T (&)[4][4]) or Matrix4<T>::Matrix4(T
(&&)[4][4]), both of which invoke sister constructor called
Matrix4<T>::Matrix4(Matrix4&&) with designated initializer for aggregate types
(<i>lines 40-47 and 52-59</i>), leads to internal compiler error, which is as
follows:

<quote>|internal compiler error: in process_init_constructor_array, at
cp/typeck2.c:1080|</quote>

Reply via email to