This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Alignas broken when used with constexpr array data member for structure
- From: Alec Teal <a dot teal at warwick dot ac dot uk>
- To: "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Tue, 9 Jan 2018 13:15:37 +0000
- Subject: Alignas broken when used with constexpr array data member for structure
- Authentication-results: sourceware.org; auth=none
- Authentication-results: spf=none (sender IP is ) smtp.mailfrom=A dot Teal at warwick dot ac dot uk;
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
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