aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/openmp.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran/openmp.c')
-rw-r--r--gcc/fortran/openmp.c36
1 files changed, 19 insertions, 17 deletions
diff --git a/gcc/fortran/openmp.c b/gcc/fortran/openmp.c
index a6c39cd..0dd1a92 100644
--- a/gcc/fortran/openmp.c
+++ b/gcc/fortran/openmp.c
@@ -175,24 +175,26 @@ gfc_find_omp_udr (gfc_namespace *ns, const char *name, gfc_typespec *ts)
st = gfc_find_symtree (ns->omp_udr_root, name);
if (st != NULL)
- for (omp_udr = st->n.omp_udr; omp_udr; omp_udr = omp_udr->next)
- if (ts == NULL)
- return omp_udr;
- else if (gfc_compare_types (&omp_udr->ts, ts))
- {
- if (ts->type == BT_CHARACTER)
- {
- if (omp_udr->ts.u.cl->length == NULL)
- return omp_udr;
- if (ts->u.cl->length == NULL)
- continue;
- if (gfc_compare_expr (omp_udr->ts.u.cl->length,
- ts->u.cl->length,
- INTRINSIC_EQ) != 0)
- continue;
- }
+ {
+ for (omp_udr = st->n.omp_udr; omp_udr; omp_udr = omp_udr->next)
+ if (ts == NULL)
return omp_udr;
- }
+ else if (gfc_compare_types (&omp_udr->ts, ts))
+ {
+ if (ts->type == BT_CHARACTER)
+ {
+ if (omp_udr->ts.u.cl->length == NULL)
+ return omp_udr;
+ if (ts->u.cl->length == NULL)
+ continue;
+ if (gfc_compare_expr (omp_udr->ts.u.cl->length,
+ ts->u.cl->length,
+ INTRINSIC_EQ) != 0)
+ continue;
+ }
+ return omp_udr;
+ }
+ }
/* Don't escape an interface block. */
if (ns && !ns->has_import_set