]> git.ipfire.org Git - thirdparty/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>
Mon, 12 Dec 2022 10:29:13 +0000 (11:29 +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.

(cherry picked from commit 9948daa4fd0f0ea0a9d56c2fefe1bca478554d27)

gcc/gimple-ssa-warn-alloca.cc

index 273b88ec141aebe05c224875b4f454263f8712d9..23f63f066f56538503d3557eae3ca6eb36e7a1de 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 ())
     {