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

Reply via email to