(root)/
gcc-13.2.0/
gcc/
testsuite/
c-c++-common/
goacc/
builtin-goacc-parlevel-id-size-2.c
       1  /* { dg-do compile }  */
       2  /* { dg-additional-options "-O2" }  */
       3  
       4  #include "../../../../include/gomp-constants.h"
       5  
       6  void
       7  foo (void)
       8  {
       9    __builtin_goacc_parlevel_id (GOMP_DIM_GANG);
      10    /* { dg-error "'__builtin_goacc_parlevel_id' only supported in OpenACC code" "" { target *-*-* } .-1 } */
      11    
      12    __builtin_goacc_parlevel_size (GOMP_DIM_GANG);
      13    /* { dg-error "'__builtin_goacc_parlevel_size' only supported in OpenACC code" "" { target *-*-* } .-1 } */
      14  }
      15  
      16  #pragma acc routine
      17  void
      18  foo2 (int arg)
      19  {
      20    __builtin_goacc_parlevel_id (arg);
      21    /* { dg-error "non-constant argument 0 to '__builtin_goacc_parlevel_id'" "" { target *-*-* } .-1 } */
      22  
      23    __builtin_goacc_parlevel_size (arg);
      24    /* { dg-error "non-constant argument 0 to '__builtin_goacc_parlevel_size'" "" { target *-*-* } .-1 } */
      25  
      26    __builtin_goacc_parlevel_id (-1);
      27    /* { dg-error "illegal argument 0 to '__builtin_goacc_parlevel_id'" "" { target *-*-* } .-1 } */
      28  
      29    __builtin_goacc_parlevel_id (-1);
      30    /* { dg-error "illegal argument 0 to '__builtin_goacc_parlevel_id'" "" { target *-*-* } .-1 } */
      31  
      32    __builtin_goacc_parlevel_size (-1);
      33    /* { dg-error "illegal argument 0 to '__builtin_goacc_parlevel_size'" "" { target *-*-* } .-1 } */
      34  
      35    __builtin_goacc_parlevel_size (3);
      36    /* { dg-error "illegal argument 0 to '__builtin_goacc_parlevel_size'" "" { target *-*-* } .-1 } */
      37  }