1 static _Alignas(8)      int v;
   2 static _Alignas(long)   int t;
   3 static _Alignas(void *) int p;
   4 static _Alignas(int[4]) int a;
   5 static _Alignas(0)      int z;
   6 static _Alignas(3)      int bnpow2;
   7 static _Alignas(-1)     int bneg;
   8 static _Alignas(-2)     int bnegpow2;
   9 static _Alignas(v)      int bnc;
  10 static _Alignas(+)      int bsyn;
  11 
  12 static int check(void)
  13 {
  14         if (_Alignof(v) != 8)
  15                 return -1;
  16         if (_Alignof(t) != _Alignof(long))
  17                 return -1;
  18         if (_Alignof(p) != _Alignof(void *))
  19                 return -1;
  20         if (_Alignof(a) != _Alignof(int))
  21                 return -1;
  22 
  23         return 0;
  24 }
  25 
  26 /*
  27  * check-name: c11-alignas
  28  * check-command: test-linearize -std=c11 $file
  29  *
  30  * check-error-start
  31 c11-alignas.c:6:25: warning: non-power-of-2 alignment
  32 c11-alignas.c:7:25: warning: non-positive alignment
  33 c11-alignas.c:8:25: warning: non-positive alignment
  34 c11-alignas.c:9:17: error: bad constant expression
  35 c11-alignas.c:10:17: error: Syntax error in unary expression
  36  * check-error-end
  37  *
  38  * check-output-ignore
  39  * check-output-contains: ret\\.32 *\$0
  40  */