This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[committed] Tiny OpenMP atomic diagnostics improvement (PR libgomp/59337)
- From: Jakub Jelinek <jakub at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org, fortran at gcc dot gnu dot org
- Date: Mon, 16 Dec 2013 16:40:02 +0100
- Subject: [committed] Tiny OpenMP atomic diagnostics improvement (PR libgomp/59337)
- Authentication-results: sourceware.org; auth=none
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
Hi!
I've added "binary" word to the diagnostics, because apparently it wasn't
clear that unary - (and unary +) aren't valid for !$omp atomic.
Committed to trunk.
2013-12-16 Jakub Jelinek <jakub@redhat.com>
PR libgomp/59337
* openmp.c (resolve_omp_atomic): Adjust error message.
* gfortran.dg/gomp/pr59337.f90: New test.
--- gcc/fortran/openmp.c.jj 2013-08-23 09:28:03.000000000 +0200
+++ gcc/fortran/openmp.c 2013-12-16 16:13:50.295846238 +0100
@@ -1279,7 +1279,7 @@ resolve_omp_atomic (gfc_code *code)
alt_op = INTRINSIC_EQV;
break;
default:
- gfc_error ("!$OMP ATOMIC assignment operator must be "
+ gfc_error ("!$OMP ATOMIC assignment operator must be binary "
"+, *, -, /, .AND., .OR., .EQV. or .NEQV. at %L",
&expr2->where);
return;
--- gcc/testsuite/gfortran.dg/gomp/pr59337.f90.jj 2013-12-16 16:15:14.203409196 +0100
+++ gcc/testsuite/gfortran.dg/gomp/pr59337.f90 2013-12-16 16:14:56.000000000 +0100
@@ -0,0 +1,8 @@
+! PR libgomp/59337
+! { dg-do compile }
+! { dg-options "-fopenmp" }
+
+ integer :: i
+ i = 0
+ !$omp atomic
+ i = -i ! { dg-error "assignment operator must be binary\[^\n\r]*-" }
+end
Jakub