diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2023-01-19 00:37:18 +0100 |
---|---|---|
committer | Marc Poulhiès <poulhies@adacore.com> | 2023-05-30 09:12:17 +0200 |
commit | a91b145bd6903aa526de8f5c7b1586045b574e31 (patch) | |
tree | 60240994c7f7fe4e8e6449d05a8b6eddaaf4e8fe /gcc/ada/gcc-interface/decl.cc | |
parent | a0510207ba349ebb73a5e95d3f3b6274889cdcc6 (diff) | |
download | gcc-a91b145bd6903aa526de8f5c7b1586045b574e31.zip gcc-a91b145bd6903aa526de8f5c7b1586045b574e31.tar.gz gcc-a91b145bd6903aa526de8f5c7b1586045b574e31.tar.bz2 |
ada: Make use of Cannot_Be_Superflat flag on N_Range nodes
gcc/ada/
* gcc-interface/decl.cc (range_cannot_be_superflat): Return true
immediately if Cannot_Be_Superflat is set.
* gcc-interface/misc.cc (gnat_post_options): Do not override the
-Wstringop-overflow setting.
Diffstat (limited to 'gcc/ada/gcc-interface/decl.cc')
-rw-r--r-- | gcc/ada/gcc-interface/decl.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/ada/gcc-interface/decl.cc b/gcc/ada/gcc-interface/decl.cc index ec61593..53a1124 100644 --- a/gcc/ada/gcc-interface/decl.cc +++ b/gcc/ada/gcc-interface/decl.cc @@ -6673,6 +6673,10 @@ range_cannot_be_superflat (Node_Id gnat_range) Node_Id gnat_scalar_range; tree gnu_lb, gnu_hb, gnu_lb_minus_one; + /* This is the easy case. */ + if (Cannot_Be_Superflat (gnat_range)) + return true; + /* If the low bound is not constant, take the worst case by finding an upper bound for its type, repeatedly if need be. */ while (Nkind (gnat_lb) != N_Integer_Literal |