aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vectorizer.h
diff options
context:
space:
mode:
authorHarald Anlauf <anlauf@gmx.de>2025-03-06 21:45:42 +0100
committerHarald Anlauf <anlauf@gmx.de>2025-03-06 22:41:33 +0100
commitac8a70db59ac309daf866a65b5785e472e76d406 (patch)
treeafb5bba108f523171e35eafb80a8b2e8a038a0ab /gcc/tree-vectorizer.h
parentbe0942afb3a7080b7b0420a5369bdcf3dcc74b52 (diff)
downloadgcc-ac8a70db59ac309daf866a65b5785e472e76d406.zip
gcc-ac8a70db59ac309daf866a65b5785e472e76d406.tar.gz
gcc-ac8a70db59ac309daf866a65b5785e472e76d406.tar.bz2
Fortran: improve checking of substring bounds [PR119118]
After the fix for pr98490 no substring bounds check was generated if the substring start was not a variable. While the purpose of that fix was to suppress a premature check before implied-do indices were substituted, this prevented a check if the substring start was an expression or a constant. A better solution is to defer the check until implied-do indices have been substituted in the start and end expressions. PR fortran/119118 gcc/fortran/ChangeLog: * dependency.cc (gfc_contains_implied_index_p): Helper function to determine if an expression has a dependence on an implied-do index. * dependency.h (gfc_contains_implied_index_p): Add prototype. * trans-expr.cc (gfc_conv_substring): Adjust logic to not generate substring bounds checks before implied-do indices have been substituted. gcc/testsuite/ChangeLog: * gfortran.dg/bounds_check_23.f90: Generalize test. * gfortran.dg/bounds_check_26.f90: New test.
Diffstat (limited to 'gcc/tree-vectorizer.h')
0 files changed, 0 insertions, 0 deletions