diff options
author | Janus Weil <janus@gcc.gnu.org> | 2018-02-13 22:00:37 +0100 |
---|---|---|
committer | Janus Weil <janus@gcc.gnu.org> | 2018-02-13 22:00:37 +0100 |
commit | 4155fafc7f43234fc0c819a6f9c6ebaffc59e8cc (patch) | |
tree | 221a1a3a1320044c8689784823a45472446ec0e4 /gcc/fortran | |
parent | 201d17c0d835112bdea5408e6eff4e250f3c238a (diff) | |
download | gcc-4155fafc7f43234fc0c819a6f9c6ebaffc59e8cc.zip gcc-4155fafc7f43234fc0c819a6f9c6ebaffc59e8cc.tar.gz gcc-4155fafc7f43234fc0c819a6f9c6ebaffc59e8cc.tar.bz2 |
re PR fortran/84313 ([F08] reject procedure pointers in COMMON blocks)
2018-02-13 Janus Weil <janus@gcc.gnu.org>
PR fortran/84313
* symbol.c (check_conflict): Reject procedure pointers in common blocks.
2018-02-13 Janus Weil <janus@gcc.gnu.org>
PR fortran/84313
* gfortran.dg/proc_ptr_common_1.f90: Fix invalid test case,
add necessary compiler options.
* gfortran.dg/proc_ptr_common_2.f90: Add missing error message.
From-SVN: r257636
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/fortran/symbol.c | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index c3db796..01e2a90 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2018-02-13 Janus Weil <janus@gcc.gnu.org> + + PR fortran/84313 + * symbol.c (check_conflict): Reject procedure pointers in common blocks. + 2018-02-13 Alastair McKinstry <alastair.mckinstry@sceal.ie> Janne Blomqvist <jb@gcc.gnu.org> diff --git a/gcc/fortran/symbol.c b/gcc/fortran/symbol.c index 344c644..ce6b1e9 100644 --- a/gcc/fortran/symbol.c +++ b/gcc/fortran/symbol.c @@ -809,7 +809,9 @@ check_conflict (symbol_attribute *attr, const char *name, locus *where) conf2 (threadprivate); } - if (!attr->proc_pointer) + /* Procedure pointers in COMMON blocks are allowed in F03, + * but forbidden per F08:C5100. */ + if (!attr->proc_pointer || (gfc_option.allow_std & GFC_STD_F2008)) conf2 (in_common); conf2 (omp_declare_target_link); |