aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcov-io.cc
diff options
context:
space:
mode:
authorMikael Morin <mikael@gcc.gnu.org>2022-04-27 11:36:16 +0200
committerMikael Morin <mikael@gcc.gnu.org>2022-04-27 11:36:16 +0200
commit6a460a2007dd9c527c5f9d5bbbedb852db7c1373 (patch)
treec94770c91263d0e19de5d9dda05fd4b6ee641924 /gcc/gcov-io.cc
parent3e0c9fdfd00b5b5cbff1a0bd6ac012a10fe81348 (diff)
downloadgcc-6a460a2007dd9c527c5f9d5bbbedb852db7c1373.zip
gcc-6a460a2007dd9c527c5f9d5bbbedb852db7c1373.tar.gz
gcc-6a460a2007dd9c527c5f9d5bbbedb852db7c1373.tar.bz2
fortran: Compare non-constant bound expressions. [PR105379]
Starting with r12-8235-gfa5cd7102da676dcb1757b1288421f5f3439ae0e, class descriptor types are compared to detect duplicate declarations. This caused ICEs as the comparison of array spec supported only constant explicit bounds, but dummy class variable descriptor types can have a _data field with non-constant array spec bounds. This change adds support for non-constant bounds. For that, gfc_dep_compare_expr is used. It does probably more than strictly necessary, but using it avoids rewriting a specific comparison function, making mistakes and forgetting cases. PR fortran/103662 PR fortran/105379 gcc/fortran/ChangeLog: * array.cc (compare_bounds): Use bool as return type. Support non-constant expressions. (gfc_compare_array_spec): Update call to compare_bounds. gcc/testsuite/ChangeLog: * gfortran.dg/class_dummy_8.f90: New test. * gfortran.dg/class_dummy_9.f90: New test.
Diffstat (limited to 'gcc/gcov-io.cc')
0 files changed, 0 insertions, 0 deletions