Enhance '_Pragma' diagnostics verification in OMP C/C++ test cases
Follow-up to recent commit 0587cef3d7
"c: Fix location for _Pragma tokens [PR97498]".
gcc/testsuite/
* c-c++-common/gomp/pragma-3.c: Enhance '_Pragma' diagnostics
verification.
* c-c++-common/gomp/pragma-5.c: Likewise.
libgomp/
* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Enhance
'_Pragma' diagnostics verification.
This commit is contained in:
parent
4c94382a13
commit
06b2a2abe2
3 changed files with 15 additions and 9 deletions
|
@ -2,13 +2,15 @@
|
|||
/* PR preprocessor/103165 */
|
||||
|
||||
#define inner(...) #__VA_ARGS__ ; _Pragma("omp error severity(warning) message (\"Test\") at(compilation)") /* { dg-line inner_location } */
|
||||
#define outer(...) inner(__VA_ARGS__)
|
||||
#define outer(...) inner(__VA_ARGS__) /* { dg-line outer_location } */
|
||||
|
||||
void
|
||||
f (void)
|
||||
{
|
||||
const char *str = outer(inner(1,2));
|
||||
/* { dg-warning "'pragma omp error' encountered: Test" "inner expansion" { target *-*-* } inner_location } */
|
||||
const char *str = outer(inner(1,2)); /* { dg-line str_location } */
|
||||
/* { dg-warning "35:'pragma omp error' encountered: Test" "" { target *-*-* } inner_location }
|
||||
{ dg-note "20:in expansion of macro 'inner'" "" { target *-*-* } outer_location }
|
||||
{ dg-note "21:in expansion of macro 'outer'" "" { target *-*-* } str_location } */
|
||||
}
|
||||
|
||||
#if 0
|
||||
|
|
|
@ -2,13 +2,15 @@
|
|||
/* PR preprocessor/103165 */
|
||||
|
||||
#define inner(...) #__VA_ARGS__ ; _Pragma ( " omp error severity (warning) message (\"Test\") at(compilation)" ) /* { dg-line inner_location } */
|
||||
#define outer(...) inner(__VA_ARGS__)
|
||||
#define outer(...) inner(__VA_ARGS__) /* { dg-line outer_location } */
|
||||
|
||||
void
|
||||
f (void)
|
||||
{
|
||||
const char *str = outer(inner(1,2));
|
||||
/* { dg-warning "'pragma omp error' encountered: Test" "inner expansion" { target *-*-* } inner_location } */
|
||||
const char *str = outer(inner(1,2)); /* { dg-line str_location } */
|
||||
/* { dg-warning "35:'pragma omp error' encountered: Test" "" { target *-*-* } inner_location }
|
||||
{ dg-note "20:in expansion of macro 'inner'" "" { target *-*-* } outer_location }
|
||||
{ dg-note "21:in expansion of macro 'outer'" "" { target *-*-* } str_location } */
|
||||
}
|
||||
|
||||
#if 0
|
||||
|
|
|
@ -17,7 +17,7 @@ const int n = 100;
|
|||
#define check_reduction(gwv_par, gwv_loop) \
|
||||
{ \
|
||||
s1 = 2; s2 = 5; \
|
||||
DO_PRAGMA (acc parallel gwv_par copy (s1, s2)) \
|
||||
DO_PRAGMA (acc parallel gwv_par copy (s1, s2)) /* { dg-line DO_PRAGMA_loc } */ \
|
||||
DO_PRAGMA (acc loop gwv_loop reduction (+:s1, s2)) \
|
||||
for (i = 0; i < n; i++) \
|
||||
{ \
|
||||
|
@ -45,8 +45,10 @@ main (void)
|
|||
|
||||
/* Nvptx targets require a vector_length or 32 in to allow spinlocks with
|
||||
gangs. */
|
||||
check_reduction (num_workers (nw) vector_length (vl), worker);
|
||||
/* { dg-warning "region is vector partitioned but does not contain vector partitioned code" "test1" { target *-*-* } pragma_loc } */
|
||||
check_reduction (num_workers (nw) vector_length (vl), worker); /* { dg-line check_reduction_loc }
|
||||
/* { dg-warning "22:region is vector partitioned but does not contain vector partitioned code" "" { target *-*-* } pragma_loc }
|
||||
{ dg-note "1:in expansion of macro 'DO_PRAGMA'" "" { target *-*-* } DO_PRAGMA_loc }
|
||||
{ dg-note "3:in expansion of macro 'check_reduction'" "" { target *-*-* } check_reduction_loc } */
|
||||
check_reduction (vector_length (vl), vector);
|
||||
check_reduction (num_gangs (ng) num_workers (nw) vector_length (vl), gang
|
||||
worker vector);
|
||||
|
|
Loading…
Add table
Reference in a new issue