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 | |
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')
-rw-r--r-- | gcc/ada/gcc-interface/decl.cc | 4 | ||||
-rw-r--r-- | gcc/ada/gcc-interface/misc.cc | 3 |
2 files changed, 4 insertions, 3 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 diff --git a/gcc/ada/gcc-interface/misc.cc b/gcc/ada/gcc-interface/misc.cc index b18ca8c..56c7bb9 100644 --- a/gcc/ada/gcc-interface/misc.cc +++ b/gcc/ada/gcc-interface/misc.cc @@ -267,9 +267,6 @@ gnat_post_options (const char **pfilename ATTRIBUTE_UNUSED) /* No return type warnings for Ada. */ warn_return_type = 0; - /* No string overflow warnings for Ada. */ - warn_stringop_overflow = 0; - /* No caret by default for Ada. */ if (!OPTION_SET_P (flag_diagnostics_show_caret)) global_dc->show_caret = false; |