http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53017
Bug #: 53017 Summary: Integer constant not constant enough for vector_size Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: marc.gli...@normalesup.org In the following code, s is apparently not an acceptable parameter for the vector_size attribute, but s+0 is. constexpr int s=32; typedef double VEC __attribute__ ((__vector_size__ (s #ifndef BUG + 0 #endif ))); VEC a={2.,3.,4.}; $ g++ -std=c++0x v.cc -Wall -W -c -O3 $ g++ -std=c++0x v.cc -Wall -W -c -O3 -DBUG v.cc:6:4: warning: '__vector_size__' attribute ignored [-Wattributes] v.cc:8:16: error: scalar object 'a' requires one element in initializer