aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/openmp.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2010-05-13 14:02:50 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2010-05-13 14:02:50 +0200
commit2b45bf2152099996118ac8903d22718963cf1e99 (patch)
tree968dcddb045fa5a13f020becad9a9ef77f7d4942 /gcc/fortran/openmp.c
parent78c7cabba9ba2bd3b371fc6e4aa07896869d2b03 (diff)
downloadgcc-2b45bf2152099996118ac8903d22718963cf1e99.zip
gcc-2b45bf2152099996118ac8903d22718963cf1e99.tar.gz
gcc-2b45bf2152099996118ac8903d22718963cf1e99.tar.bz2
re PR fortran/44036 (I can't declare an external function in an OMP shared statement.)
PR fortran/44036 * openmp.c (resolve_omp_clauses): Allow procedure pointers in clause variable lists. * trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize by reference dummy procedures or non-dummy procedure pointers. (gfc_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_FIRSTPRIVATE for dummy procedures. * gfortran.dg/gomp/pr44036-1.f90: New test. * gfortran.dg/gomp/pr44036-2.f90: New test. * gfortran.dg/gomp/pr44036-3.f90: New test. From-SVN: r159361
Diffstat (limited to 'gcc/fortran/openmp.c')
-rw-r--r--gcc/fortran/openmp.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/fortran/openmp.c b/gcc/fortran/openmp.c
index bbf7e5a..4e96521 100644
--- a/gcc/fortran/openmp.c
+++ b/gcc/fortran/openmp.c
@@ -837,6 +837,8 @@ resolve_omp_clauses (gfc_code *code)
if (el)
continue;
}
+ if (n->sym->attr.proc_pointer)
+ continue;
}
gfc_error ("Object '%s' is not a variable at %L", n->sym->name,
&code->loc);