diff options
| author | Asher Langton <langton2@llnl.gov> | 2006-05-30 23:27:38 +0000 |
|---|---|---|
| committer | Steven G. Kargl <kargl@gcc.gnu.org> | 2006-05-30 23:27:38 +0000 |
| commit | 7074ea72d10e861505f70e2e12060c3909474bf7 (patch) | |
| tree | e61a9fb26be5623e3ec18415f7dc47ffb285e9c2 /gcc/fortran/trans-expr.c | |
| parent | 9cb96754ae0a6af89ec8286d6a68d76c70698a65 (diff) | |
| download | gcc-7074ea72d10e861505f70e2e12060c3909474bf7.zip gcc-7074ea72d10e861505f70e2e12060c3909474bf7.tar.gz gcc-7074ea72d10e861505f70e2e12060c3909474bf7.tar.bz2 | |
symbol.c (check_conflict): Allow external, function, and subroutine attributes with Cray pointees.
2006-05-30 Asher Langton <langton2@llnl.gov>
* symbol.c (check_conflict): Allow external, function, and
subroutine attributes with Cray pointees.
* trans-expr.c (gfc_conv_function_val): Translate Cray pointees
that point to procedures.
* gfortran.texi: Document new feature.
* gfortran.dg/cray_pointers_7.f90: New test.
From-SVN: r114252
Diffstat (limited to 'gcc/fortran/trans-expr.c')
| -rw-r--r-- | gcc/fortran/trans-expr.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c index b91ebf6..752609c 100644 --- a/gcc/fortran/trans-expr.c +++ b/gcc/fortran/trans-expr.c @@ -1191,6 +1191,9 @@ gfc_conv_function_val (gfc_se * se, gfc_symbol * sym) sym->backend_decl = gfc_get_extern_function_decl (sym); tmp = sym->backend_decl; + if (sym->attr.cray_pointee) + tmp = convert (build_pointer_type (TREE_TYPE (tmp)), + gfc_get_symbol_decl (sym->cp_pointer)); if (!POINTER_TYPE_P (TREE_TYPE (tmp))) { gcc_assert (TREE_CODE (tmp) == FUNCTION_DECL); |
