1 #define __user          __attribute__((address_space(1)))
   2 
   3 struct s {
   4         int i;
   5 } __user;
   6 
   7 
   8 extern void use0(void *);
   9 extern void use1(void __user *);
  10 
  11 void main(void)
  12 {
  13         struct s s;
  14         int i;
  15 
  16         use0(&s);   // KO
  17         use0(&i);   // OK
  18         use1(&s);   // OK
  19         use1(&i);   // KO
  20 }
  21 
  22 /*
  23  * check-name: type-attribute-as
  24  *
  25  * check-error-start
  26 type-attribute-as.c:16:15: warning: incorrect type in argument 1 (different address spaces)
  27 type-attribute-as.c:16:15:    expected void *<noident>
  28 type-attribute-as.c:16:15:    got struct s <asn:1>*<noident>
  29 type-attribute-as.c:19:15: warning: incorrect type in argument 1 (different address spaces)
  30 type-attribute-as.c:19:15:    expected void <asn:1>*<noident>
  31 type-attribute-as.c:19:15:    got int *<noident>
  32  * check-error-end
  33  */