aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/decl.c
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2013-05-20 22:03:48 +0200
committerTobias Burnus <burnus@gcc.gnu.org>2013-05-20 22:03:48 +0200
commit878cdb7b38f5487d0ab7933377174a552b5f7d80 (patch)
tree73668c05f30962cb8036747eb6744fb502ce15b9 /gcc/fortran/decl.c
parent9bbc95654de572e68a6afe4dd892721d34304ed6 (diff)
downloadgcc-878cdb7b38f5487d0ab7933377174a552b5f7d80.zip
gcc-878cdb7b38f5487d0ab7933377174a552b5f7d80.tar.gz
gcc-878cdb7b38f5487d0ab7933377174a552b5f7d80.tar.bz2
re PR fortran/48858 (Incorrect error for same binding label on two generic interface specifics)
2013-05-20 Tobias Burnus <burnus@net-b.de> PR fortran/48858 * decl.c (gfc_match_bind_c_stmt): Add gfc_notify_std. * match.c (gfc_match_common): Don't add commons to gsym. * resolve.c (resolve_common_blocks): Add to gsym and add checks. (resolve_bind_c_comms): Remove. (resolve_types): Remove call to the latter. * trans-common.c (gfc_common_ns): Remove static var. (gfc_map_of_all_commons): Add static var. (build_common_decl): Correctly handle binding label. 2013-05-20 Tobias Burnus <burnus@net-b.de> PR fortran/48858 * gfortran.dg/test_common_binding_labels.f03: Update dg-error. * gfortran.dg/test_common_binding_labels_2_main.f03: Ditto. * gfortran.dg/test_common_binding_labels_3_main.f03: Ditto. * gfortran.dg/common_18.f90: New. * gfortran.dg/common_19.f90: New. * gfortran.dg/common_20.f90: New. * gfortran.dg/common_21.f90: New. From-SVN: r199118
Diffstat (limited to 'gcc/fortran/decl.c')
-rw-r--r--gcc/fortran/decl.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c
index 6ae51e2..06a049c 100644
--- a/gcc/fortran/decl.c
+++ b/gcc/fortran/decl.c
@@ -4208,6 +4208,9 @@ gfc_match_bind_c_stmt (void)
if (found_match == MATCH_YES)
{
+ if (!gfc_notify_std (GFC_STD_F2003, "BIND(C) statement at %C"))
+ return MATCH_ERROR;
+
/* Look for the :: now, but it is not required. */
gfc_match (" :: ");