]> gcc.gnu.org Git - gcc.git/commitdiff
tree-optimization/107898 - ICE with -Walloca-larger-than
authorRichard Biener <rguenther@suse.de>
Tue, 29 Nov 2022 08:03:46 +0000 (09:03 +0100)
committerRichard Biener <rguenther@suse.de>
Tue, 29 Nov 2022 09:25:39 +0000 (10:25 +0100)
The following avoids ICEing with a mismatched prototype for alloca
and -Walloca-larger-than using irange for checks which doesn't
like mismatched types.

PR tree-optimization/107898
* gimple-ssa-warn-alloca.cc (alloca_call_type): Check
the type of the alloca argument is compatible with size_t
before querying ranges.

gcc/gimple-ssa-warn-alloca.cc

index 83a241a3a4ba6be4b3def32983826f24e234c705..dcc62ca77bfc0957d46b424d963e36e4bc8ff5cc 100644 (file)
@@ -217,6 +217,7 @@ alloca_call_type (gimple *stmt, bool is_vla)
   int_range_max r;
   if (warn_limit_specified_p (is_vla)
       && TREE_CODE (len) == SSA_NAME
+      && types_compatible_p (TREE_TYPE (len), size_type_node)
       && get_range_query (cfun)->range_of_expr (r, len, stmt)
       && !r.varying_p ())
     {
This page took 0.057965 seconds and 5 git commands to generate.