The following line of code is accepted:
typedef double AlignedDoubleType __attribute__((aligned(16)));
However, if I replace 'double' with a template parameter inside a template
function, then I get the following error message:
error: alignment of array elements is greater than element size
I think that the template version of the typedef should be allowed also, as it
is in 4.4.
--
Summary: 4.5 regression: 16-byte aligned double is disallowed
only in templates
Product: gcc
Version: 4.5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bredelin at ucla dot edu
GCC build triplet: x86_64-linux-gnu
GCC host triplet: x86_64-linux-gnu
GCC target triplet: x86_64-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42555