]> gcc.gnu.org Git - gcc.git/commit - gcc/fortran/trans-decl.c
re PR fortran/66695 ([F03] ICE with binding-name equal to the name of a use-associate...
authorThomas Koenig <tkoenig@gcc.gnu.org>
Sat, 16 Mar 2019 13:16:11 +0000 (13:16 +0000)
committerThomas Koenig <tkoenig@gcc.gnu.org>
Sat, 16 Mar 2019 13:16:11 +0000 (13:16 +0000)
commitf93af96808e316a05e8771ebb6f4b87ea401a1b9
treecc4b28b33ad2cc75daab65325c69457a8df93638
parent7163dd05275c2a9be6899260a645a9495b9b2a22
re PR fortran/66695 ([F03] ICE with binding-name equal to the name of a use-associated procedure)

2019-03-16  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/66695
PR fortran/77746
PR fortran/79485
Backport from trunk
* gfortran.h (gfc_symbol): Add bind_c component.
(gfc_get_gsymbol): Add argument bind_c.
* decl.c (add_global_entry): Add bind_c argument to
gfc_get_symbol.
* parse.c (parse_block_data): Likewise.
(parse_module): Likewise.
(add_global_procedure): Likewise.
(add_global_program): Likewise.
* resolve.c (resolve_common_blocks): Likewise.
(resolve_global_procedure): Likewise.
(gfc_verify_binding_labels): Likewise.
* symbol.c (gfc_get_gsymbol): Add argument bind_c. Set bind_c
in gsym.
* trans-decl.c (gfc_get_module_backend_decl): Add bind_c argument
to gfc_get_symbol.
(gfc_get_extern_function_decl): If the sym has a binding label
and it cannot be found in the global symbol tabel, it is the wrong
one and vice versa.

2019-03-16 Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/66695
PR fortran/77746
PR fortran/79485
Backport from trunk
* gfortran.dg/binding_label_tests_30.f90: New test.
* gfortran.dg/binding_label_tests_31.f90: New test.
* gfortran.dg/binding_label_tests_32.f90: New test.
* gfortran.dg/binding_label_tests_33.f90: New test.

From-SVN: r269722
12 files changed:
gcc/fortran/ChangeLog
gcc/fortran/decl.c
gcc/fortran/gfortran.h
gcc/fortran/parse.c
gcc/fortran/resolve.c
gcc/fortran/symbol.c
gcc/fortran/trans-decl.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/binding_label_tests_30.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/binding_label_tests_31.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/binding_label_tests_32.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/binding_label_tests_33.f90 [new file with mode: 0644]
This page took 0.072284 seconds and 5 git commands to generate.