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>