diff options
author | Jason Merrill <jason@redhat.com> | 2024-09-19 15:50:19 -0400 |
---|---|---|
committer | Jason Merrill <jason@redhat.com> | 2024-09-24 08:01:10 -0400 |
commit | 2249c3b459510f307b4f241ea4b14f6557035152 (patch) | |
tree | 3c55ee760ef2701ac5a533ccd89b8f30c063d2c9 /gcc/tree-vect-slp.cc | |
parent | f5035d7d015ebd4a7f5df5831cfc1269f9567e06 (diff) | |
download | gcc-2249c3b459510f307b4f241ea4b14f6557035152.zip gcc-2249c3b459510f307b4f241ea4b14f6557035152.tar.gz gcc-2249c3b459510f307b4f241ea4b14f6557035152.tar.bz2 |
build: enable C++11 narrowing warnings
We've been using -Wno-narrowing since gcc 4.7, but at this point narrowing
diagnostics seem like a stable part of C++ and we should adjust.
This patch changes -Wno-narrowing to -Wno-error=narrowing so that narrowing
issues will still not break bootstrap, but we can see them.
The rest of the patch fixes the narrowing warnings I see in an
x86_64-pc-linux-gnu bootstrap. In most of the cases, by adjusting the types
of various declarations so that we store the values in the same types we
compute them in, which seems worthwhile anyway. This also allowed us to
remove a few -Wsign-compare casts.
gcc/ChangeLog:
* configure.ac (CXX_WARNING_OPTS): Change -Wno-narrowing
to -Wno-error=narrowing.
* configure: Regenerate.
* config/i386/i386.h (debugger_register_map)
(debugger64_register_map)
(svr4_debugger_register_map): Make unsigned.
* config/i386/i386.cc: Likewise.
* diagnostic-event-id.h (diagnostic_thread_id_t): Make int.
* vec.h (vec::size): Make unsigned int.
* ipa-modref.cc (escape_point::arg): Make unsigned.
(modref_lattice::add_escape_point): Use eaf_flags_t.
(update_escape_summary_1): Use eaf_flags_t, && for bool.
* pair-fusion.cc (pair_fusion_bb_info::track_access):
Make mem_size unsigned int.
* pretty-print.cc (format_phase_2): Cast va_arg to char.
* tree-ssa-loop-ch.cc (ch_base::copy_headers): Make nheaders
unsigned, remove cast.
* tree-ssa-structalias.cc (bitpos_of_field): Return unsigned.
(push_fields_onto_fieldstack):Make offset unsigned, remove cast.
* tree-vect-slp.cc (vect_prologue_cost_for_slp): Use nelt_limit.
* tree-vect-stmts.cc (vect_truncate_gather_scatter_offset):
Make scale unsigned.
(vectorizable_operation): Make ncopies unsigned.
* rtl-ssa/member-fns.inl: Make num_accesses unsigned int.
Diffstat (limited to 'gcc/tree-vect-slp.cc')
-rw-r--r-- | gcc/tree-vect-slp.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/tree-vect-slp.cc b/gcc/tree-vect-slp.cc index f5b47e4..482b9d5 100644 --- a/gcc/tree-vect-slp.cc +++ b/gcc/tree-vect-slp.cc @@ -7489,8 +7489,8 @@ vect_prologue_cost_for_slp (slp_tree node, nelt_limit = const_nunits; hash_set<vect_scalar_ops_slice_hash> vector_ops; for (unsigned int i = 0; i < SLP_TREE_NUMBER_OF_VEC_STMTS (node); ++i) - if (!vector_ops.add ({ ops, i * const_nunits, const_nunits })) - starts.quick_push (i * const_nunits); + if (!vector_ops.add ({ ops, i * nelt_limit, nelt_limit })) + starts.quick_push (i * nelt_limit); } else { |