1  /* Test __regio_symbol diagnostics for unsupported declarations.  */
       2  
       3  /* { dg-do compile } */
       4  /* { dg-options "-O1" } */
       5  
       6  #include <stdint.h>
       7  
       8  uint32_t __regio_symbol *test1(void); /* { dg-error "pointers to '__regio_symbol' address space are prohibited" } */
       9  
      10  void test2(uint32_t __regio_symbol __R30); /* { dg-error "'__regio_symbol' specified for parameter '__R30'" } */
      11  
      12  void test3(uint32_t __regio_symbol *__R30); /* { dg-error "pointers to '__regio_symbol' address space are prohibited" } */
      13  
      14  typedef volatile uint32_t __regio_symbol * regio_type1_t; /* { dg-error "pointers to '__regio_symbol' address space are prohibited" } */
      15  
      16  struct A {
      17    uint32_t __regio_symbol *__R30; /* { dg-error "pointers to '__regio_symbol' address space are prohibited" } */
      18    uint32_t __regio_symbol __R31; /* { dg-error "__regio_symbol' specified for structure field '__R31'" } */
      19  };