为什么在使用clang的静态声明中使用时不进行alignas编译?

时间:2017-03-09 09:54:14

标签: c++11 compiler-errors static clang alignas

我在clang上有一个编译错误,并且用gcc警告这段代码:

static alignas(16) int one_s = 1;                      // clang: error: an attribute list cannot appear here; gcc: warning: attribute ignored;
static __attribute__((aligned(16))) int zero_s = 0;    // on the other hand this works well on both compilers...
alignas(16) int one = 1;                               // this also works on both compilers
__attribute__((aligned(16))) int zero = 0;             // as well as this

有没有人知道为什么在包含static关键字的声明中不接受alignas?我在gcc和clang中使用了--std = c ++ 11编译器选项。 (编辑:我使用了clang 3.4及以上版本以及gcc 4.8及以上版本)

请注意,在使用Visual Studio(CL 19 RC)进行编译时,在静态声明中使用alignas时,我不会收到错误。

0 个答案:

没有答案