https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58855
ncm at cantrip dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ncm at cantrip dot org
--- Comment #1 from ncm at cantrip dot org ---
This bug is still present in g++-5.3.1:
$ cat usingbug.cc
template <unsigned N>
struct S {
typedef unsigned __attribute__((vector_size(N*sizeof(unsigned)))) T1;
using T2 = unsigned __attribute__((vector_size(N*sizeof(unsigned))));
};
int main()
{
S<4u>::T1 v1;
S<4u>::T2 v2;
return v1[1] + v2[2];
}
$ g++ -std=c++14 usingbug.cc
usingbug.cc: In function ‘int main()’:
usingbug.cc:13:24: error: invalid types ‘S<4u>::T2 {aka unsigned int}[int]’ for
array subscript
return v1[1] + v2[2];
^
$ g++ --version
g++ (Debian 5.3.1-4) 5.3.1 20151219