Alignas broken when used with constexpr array data member for structure

Alec Teal a.teal@warwick.ac.uk
Tue Jan 9 13:15:00 GMT 2018


Hi there,

In GCC 4.8.4 I have something like the following:

constexpr int x = 5;

constexpr int y = 4;

struct alignas(y) my_data_block {

    char data[x];

};


And it causes some weird errors to the tune of "size of array ‘data’ is 
not an integral constant-expression" in the presence of the alignas

This is a pretty nasty bug and means it's not implemented as I thought. 
I don't know the front-ends (but I do actually know GIMPLE-low and below 
quite well, love the pattern matching) and I'd like to dig more, it's 
almost certainly fixed - this is just for personal curiosity.

Where would I look? A 1 line reply with a directory would be a great 
start; even if it's just a guess.

I did ask in #gcc on freenode - it didn't go so well, sorry to ping you 
all for this.


Alec



More information about the Gcc mailing list