]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
OpenMP: Improve C/C++ parsing error message [PR109999]
authorTobias Burnus <tobias@codesourcery.com>
Tue, 30 May 2023 10:49:09 +0000 (12:49 +0200)
committerTobias Burnus <tobias@codesourcery.com>
Tue, 30 May 2023 10:49:09 +0000 (12:49 +0200)
Replace
  error: expected '#pragma omp' clause before ...
by the the more readable/clearer
  error: expected an OpenMP clause before ...

(And likewise for '#pragma acc' and OpenACC.)

PR c/109999

gcc/c/ChangeLog:

* c-parser.cc (c_parser_oacc_all_clauses,
c_parser_omp_all_clauses): Improve error wording.

gcc/cp/ChangeLog:

* parser.cc (cp_parser_oacc_all_clauses,
cp_parser_omp_all_clauses): Improve error wording.

gcc/testsuite/ChangeLog:

* c-c++-common/goacc/asyncwait-1.c: Update dg-error.
* c-c++-common/goacc/clauses-fail.c: Likewise.
* c-c++-common/goacc/data-2.c: Likewise.
* c-c++-common/gomp/declare-target-2.c: Likewise.
* c-c++-common/gomp/directive-1.c: Likewise.
* g++.dg/goacc/data-1.C: Likewise.

gcc/c/c-parser.cc
gcc/cp/parser.cc
gcc/testsuite/c-c++-common/goacc/asyncwait-1.c
gcc/testsuite/c-c++-common/goacc/clauses-fail.c
gcc/testsuite/c-c++-common/goacc/data-2.c
gcc/testsuite/c-c++-common/gomp/declare-target-2.c
gcc/testsuite/c-c++-common/gomp/directive-1.c
gcc/testsuite/g++.dg/goacc/data-1.C

index 0ec75348091e5cfeacf6e9b2c9ba937cc5bcb26f..5baa501dbeea9c745c623b7dfe1fdde8abf5bc65 100644 (file)
@@ -17692,7 +17692,7 @@ c_parser_oacc_all_clauses (c_parser *parser, omp_clause_mask mask,
                                                c_name, clauses);
          break;
        default:
-         c_parser_error (parser, "expected %<#pragma acc%> clause");
+         c_parser_error (parser, "expected an OpenACC clause");
          goto saw_error;
        }
 
@@ -18050,7 +18050,7 @@ c_parser_omp_all_clauses (c_parser *parser, omp_clause_mask mask,
          c_name = "enter";
          break;
        default:
-         c_parser_error (parser, "expected %<#pragma omp%> clause");
+         c_parser_error (parser, "expected an OpenMP clause");
          goto saw_error;
        }
 
index 5feed77c7acd0d5193aa4f025abb2b4bd7aea210..1c9aa6718518428767371514d337588324e0c5cf 100644 (file)
@@ -41087,7 +41087,7 @@ cp_parser_oacc_all_clauses (cp_parser *parser, omp_clause_mask mask,
                                                 c_name, clauses);
          break;
        default:
-         cp_parser_error (parser, "expected %<#pragma acc%> clause");
+         cp_parser_error (parser, "expected an OpenACC clause");
          goto saw_error;
        }
 
@@ -41489,7 +41489,7 @@ cp_parser_omp_all_clauses (cp_parser *parser, omp_clause_mask mask,
          c_name = "enter";
          break;
        default:
-         cp_parser_error (parser, "expected %<#pragma omp%> clause");
+         cp_parser_error (parser, "expected an OpenMP clause");
          goto saw_error;
        }
 
index 1857d65a0b2fb8a97aaf25af66bf325354f550cc..3f0b1451cf6eb9c318dbbbb271915e1d985c3010 100644 (file)
@@ -185,9 +185,9 @@ f (int N, float *a, float *b)
 
 #pragma acc wait (1.0) /* { dg-error "expression must be integral" } */
 
-#pragma acc wait 1 /* { dg-error "expected '#pragma acc' clause before numeric constant" } */
+#pragma acc wait 1 /* { dg-error "expected an OpenACC clause before numeric constant" } */
 
-#pragma acc wait N /* { dg-error "expected '#pragma acc' clause before 'N'" } */
+#pragma acc wait N /* { dg-error "expected an OpenACC clause before 'N'" } */
 
 #pragma acc wait async (1 2) /* { dg-error "expected '\\)' before numeric constant" } */
 
index 853d010d038912fa28e29bb3d26e4cf9200accbc..41d7e6bd194209d3486bbea854b7238ca86ed0b3 100644 (file)
@@ -5,17 +5,17 @@ f (void)
 {
   int i;
 
-#pragma acc parallel one /* { dg-error "expected '#pragma acc' clause before 'one'" } */
+#pragma acc parallel one /* { dg-error "expected an OpenACC clause before 'one'" } */
   ;
 
-#pragma acc kernels eins /* { dg-error "expected '#pragma acc' clause before 'eins'" } */
+#pragma acc kernels eins /* { dg-error "expected an OpenACC clause before 'eins'" } */
   ;
 
-#pragma acc data two /* { dg-error "expected '#pragma acc' clause before 'two'" } */
+#pragma acc data two /* { dg-error "expected an OpenACC clause before 'two'" } */
   ;
 
 #pragma acc parallel
-#pragma acc loop deux /* { dg-error "expected '#pragma acc' clause before 'deux'" } */
+#pragma acc loop deux /* { dg-error "expected an OpenACC clause before 'deux'" } */
   for (i = 0; i < 2; ++i)
     ;
 }
index a8723b04c8f3ab9525cd9002232e0e3f3ef33069..eafe145433684b46bfa69f08251f4f2c47629e09 100644 (file)
@@ -5,7 +5,7 @@ foo (void)
   int n;
 #pragma acc enter data copyin (a, b) async wait
 #pragma acc enter data create (b[20:30]) async wait
-#pragma acc enter data (a) /* { dg-error "expected '#pragma acc' clause before '\\\(' token" } */
+#pragma acc enter data (a) /* { dg-error "expected an OpenACC clause before '\\\(' token" } */
 /* { dg-error "has no data movement clause" "" { target *-*-* } .-1 } */
 #pragma acc enter data create (b(1:10)) /* { dg-error "expected '\\\)' before '\\\(' token" } */
 #pragma acc exit data delete (a) if (0)
index 97602dc799240f8928675625efb22405b9e6689e..7b47e2b41823e3e9d31e0651e8a7342d1800795b 100644 (file)
@@ -59,7 +59,7 @@ int n, o, s, t;
 #pragma omp declare target (s, t, s)           /* { dg-error "appears more than once on the same .declare target. directive" } */
 int p, q, r;
 #pragma omp declare target (p) to (q)          /* { dg-error "expected end of line before .to." } */
-#pragma omp declare target to (p) (q) link (r) /* { dg-error "expected .#pragma omp. clause before" } */
-#pragma omp declare target link (r) (p)                /* { dg-error "expected .#pragma omp. clause before" } */
+#pragma omp declare target to (p) (q) link (r) /* { dg-error "expected an OpenMP clause before" } */
+#pragma omp declare target link (r) (p)                /* { dg-error "expected an OpenMP clause before" } */
 #pragma omp declare target
 #pragma omp end declare target to (p)          /* { dg-error "expected end of line before .to." } */
index e1218bd686954d6a6f213460f93aa723c6537344..fc4415387781fa0aa08b4c4d5af03c62c300277e 100644 (file)
@@ -20,7 +20,7 @@ foo (void)
   #pragma omp allocate, (i)                    /* { dg-error "expected '\\\(' before ',' token" } */
                                                /* { dg-error "expected end of line before ',' token" "" { target c++ } .-1 } */
                                                /* { dg-message "not yet supported" "" { target *-*-* } .-2 } */
-  #pragma omp critical, (bar)                  /* { dg-error "expected '#pragma omp' clause before '\\\(' token" } */
+  #pragma omp critical, (bar)                  /* { dg-error "expected an OpenMP clause before '\\\(' token" } */
   ;
   #pragma omp flush, (k, l)                    /* { dg-error "expected '\\\(' or end of line before ',' token" "" { target c } } */
                                                /* { dg-error "expected end of line before ',' token" "" { target c++ } .-1 } */
index 73de964a51886a2f1d3d87893426b5c7bf35aa66..58f333652cd68904f96a91be724f75c71a83688f 100644 (file)
@@ -5,7 +5,7 @@ foo (int &a, int (&b)[100], int &n)
 #pragma acc enter data create (b[20:30]) async wait
 
 #pragma acc enter data (a)
-  /* { dg-error "expected '#pragma acc' clause before '\\\(' token" "" { target *-*-* } .-1 } */
+  /* { dg-error "expected an OpenACC clause before '\\\(' token" "" { target *-*-* } .-1 } */
   /* { dg-error "has no data movement clause" "" { target *-*-* } .-2 } */
 
 #pragma acc enter data create (b(1:10)) /* { dg-error "expected '\\\)' before '\\\(' token" } */
@@ -28,7 +28,7 @@ foo (T &a, T (&b)[100], T &n)
 #pragma acc enter data create (b[20:30]) async wait
 
 #pragma acc enter data (a)
-  /* { dg-error "expected '#pragma acc' clause before '\\\(' token" "" { target *-*-* } .-1 } */
+  /* { dg-error "expected an OpenACC clause before '\\\(' token" "" { target *-*-* } .-1 } */
   /* { dg-error "has no data movement clause" "" { target *-*-* } .-2 } */
 
 #pragma acc enter data create (b(1:10)) /* { dg-error "expected '\\\)' before '\\\(' token" } */