[gcc(refs/users/mikael/heads/refactor_descriptor_v03)] Correction ICE class_to_type_1
Mikael Morin
mikael@gcc.gnu.org
Fri Mar 14 16:14:49 GMT 2025
https://gcc.gnu.org/g:057f0c6bab0e61a522a894a0bfe618e345c9d1ab
commit 057f0c6bab0e61a522a894a0bfe618e345c9d1ab
Author: Mikael Morin <mikael@gcc.gnu.org>
Date: Fri Feb 14 17:11:03 2025 +0100
Correction ICE class_to_type_1
Diff:
---
gcc/fortran/trans-array.cc | 30 ++++++++++++++++--------------
1 file changed, 16 insertions(+), 14 deletions(-)
diff --git a/gcc/fortran/trans-array.cc b/gcc/fortran/trans-array.cc
index 3582837e77e4..f285f4550088 100644
--- a/gcc/fortran/trans-array.cc
+++ b/gcc/fortran/trans-array.cc
@@ -8164,22 +8164,24 @@ late_set_loop_bounds (gfc_loopinfo *loop)
for (n = 0; n < loop->dimen; n++)
{
- /* We should have found the scalarization loop specifier. If not,
- that's bad news. */
- gcc_assert (loopspec[n]);
-
- info = &loopspec[n]->info->data.array;
- dim = loopspec[n]->dim[n];
-
/* Set the extents of this range. */
- if ((loop->from[n] == NULL_TREE
- || loop->to[n] == NULL_TREE)
- && loopspec[n]->info->type == GFC_SS_FUNCTION
- && info->start[dim]
- && info->end[dim])
+ if (loop->from[n] == NULL_TREE
+ || loop->to[n] == NULL_TREE)
{
- loop->from[n] = info->start[dim];
- loop->to[n] = info->end[dim];
+ /* We should have found the scalarization loop specifier. If not,
+ that's bad news. */
+ gcc_assert (loopspec[n]);
+
+ info = &loopspec[n]->info->data.array;
+ dim = loopspec[n]->dim[n];
+
+ if (loopspec[n]->info->type == GFC_SS_FUNCTION
+ && info->start[dim]
+ && info->end[dim])
+ {
+ loop->from[n] = info->start[dim];
+ loop->to[n] = info->end[dim];
+ }
}
}
More information about the Gcc-cvs
mailing list