1 static void a(void) __attribute__((context));           // KO
   2 static void b(void) __attribute__((context()));         // KO
   3 static void c(void) __attribute__((context 1));         // KO
   4 static void d(void) __attribute__((context 1,2));       // KO
   5 static void e(void) __attribute__((context (1)));       // !!!!
   6 static void f(void) __attribute__((context(0)));        // !!!!
   7 static void g(void) __attribute__((context(0,1,2,3)));  // KO
   8 
   9 static void h(void) __attribute__((context (1,2)));     // OK
  10 static void i(void) __attribute__((context(0,1)));      // OK
  11 static void j(void) __attribute__((context(0,1,2)));    // OK
  12 
  13 extern int u, v;
  14 static void x(void) __attribute__((context(0,1,v)));
  15 static void y(void) __attribute__((context(0,u,1)));
  16 static void z(void) __attribute__((context(0,u)));
  17 
  18 /*
  19  * check-name: attr-context
  20  *
  21  * check-error-start
  22 attr-context.c:1:43: error: Expected ( after context attribute
  23 attr-context.c:1:43: error: got )
  24 attr-context.c:2:44: error: Expected , after context 1st argument
  25 attr-context.c:2:44: error: got )
  26 attr-context.c:3:44: error: Expected ( after context attribute
  27 attr-context.c:3:44: error: got 1
  28 attr-context.c:4:44: error: Expected ( after context attribute
  29 attr-context.c:4:44: error: got 1
  30 attr-context.c:5:46: error: Expected , after context 1st argument
  31 attr-context.c:5:46: error: got )
  32 attr-context.c:6:45: error: Expected , after context 1st argument
  33 attr-context.c:6:45: error: got )
  34 attr-context.c:7:49: error: Expected ) after context 3rd argument
  35 attr-context.c:7:49: error: got ,
  36 attr-context.c:14:48: error: bad constant expression
  37 attr-context.c:15:46: error: bad constant expression
  38 attr-context.c:16:46: error: bad constant expression
  39  * check-error-end
  40  */