/* The "default" register map used in 32bit mode. */
-int const debugger_register_map[FIRST_PSEUDO_REGISTER] =
+unsigned int const debugger_register_map[FIRST_PSEUDO_REGISTER] =
{
/* general regs */
0, 2, 1, 3, 6, 7, 4, 5,
/* The "default" register map used in 64bit mode. */
-int const debugger64_register_map[FIRST_PSEUDO_REGISTER] =
+unsigned int const debugger64_register_map[FIRST_PSEUDO_REGISTER] =
{
/* general regs */
0, 1, 2, 3, 4, 5, 6, 7,
17 for %st(6) (gcc regno = 14)
18 for %st(7) (gcc regno = 15)
*/
-int const svr4_debugger_register_map[FIRST_PSEUDO_REGISTER] =
+unsigned int const svr4_debugger_register_map[FIRST_PSEUDO_REGISTER] =
{
/* general regs */
0, 2, 1, 3, 6, 7, 5, 4,
#define DEBUGGER_REGNO(N) \
(TARGET_64BIT ? debugger64_register_map[(N)] : debugger_register_map[(N)])
-extern int const debugger_register_map[FIRST_PSEUDO_REGISTER];
-extern int const debugger64_register_map[FIRST_PSEUDO_REGISTER];
-extern int const svr4_debugger_register_map[FIRST_PSEUDO_REGISTER];
+extern unsigned int const debugger_register_map[FIRST_PSEUDO_REGISTER];
+extern unsigned int const debugger64_register_map[FIRST_PSEUDO_REGISTER];
+extern unsigned int const svr4_debugger_register_map[FIRST_PSEUDO_REGISTER];
/* Before the prologue, RA is at 0(%esp). */
#define INCOMING_RETURN_ADDR_RTX \
# * 'long long'
# * variadic macros
# * overlong strings
-# * C++11 narrowing conversions in { }
# So, we only use -pedantic if we can disable those warnings.
# In stage 1, disable -Wformat warnings from old GCCs about new % codes
loose_warn=
save_CXXFLAGS="$CXXFLAGS"
-for real_option in -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual $wf_opt; do
+for real_option in -W -Wall -Wno-error=narrowing -Wwrite-strings -Wcast-qual $wf_opt; do
# Do the check with the no- prefix removed since gcc silently
# accepts any -Wno-* option on purpose
case $real_option in
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 21409 "configure"
+#line 21408 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 21515 "configure"
+#line 21514 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
# * 'long long'
# * variadic macros
# * overlong strings
-# * C++11 narrowing conversions in { }
# So, we only use -pedantic if we can disable those warnings.
# In stage 1, disable -Wformat warnings from old GCCs about new % codes
AS_IF([test $enable_build_format_warnings = no],
[wf_opt=-Wno-format],[wf_opt=])
ACX_PROG_CXX_WARNING_OPTS(
- m4_quote(m4_do([-W -Wall -Wno-narrowing -Wwrite-strings ],
+ m4_quote(m4_do([-W -Wall -Wno-error=narrowing -Wwrite-strings ],
[-Wcast-qual $wf_opt])),
[loose_warn])
ACX_PROG_CC_WARNING_OPTS(
/* A type for compactly referring to a particular thread within a
diagnostic_path. Typically there is just one thread per path,
with id 0. */
-typedef unsigned diagnostic_thread_id_t;
+typedef int diagnostic_thread_id_t;
#endif /* ! GCC_DIAGNOSTIC_EVENT_ID_H */
/* Value escapes to this call. */
gcall *call;
/* Argument it escapes to. */
- int arg;
+ unsigned int arg;
/* Flags already known about the argument (this can save us from recording
escape points if local analysis did good job already). */
eaf_flags_t min_flags;
bool merge_deref (const modref_lattice &with, bool ignore_stores);
bool merge_direct_load ();
bool merge_direct_store ();
- bool add_escape_point (gcall *call, int arg, int min_flags, bool diret);
+ bool add_escape_point (gcall *call, unsigned int arg,
+ eaf_flags_t min_flags, bool direct);
void dump (FILE *out, int indent = 0) const;
};
point exists. */
bool
-modref_lattice::add_escape_point (gcall *call, int arg, int min_flags,
- bool direct)
+modref_lattice::add_escape_point (gcall *call, unsigned arg,
+ eaf_flags_t min_flags, bool direct)
{
escape_point *ep;
unsigned int i;
continue;
FOR_EACH_VEC_ELT (map[ee->parm_index], j, em)
{
- int min_flags = ee->min_flags;
+ eaf_flags_t min_flags = ee->min_flags;
if (ee->direct && !em->direct)
min_flags = deref_flags (min_flags, ignore_stores);
struct escape_entry entry = {em->parm_index, ee->arg,
min_flags,
- ee->direct & em->direct};
+ ee->direct && em->direct};
sum->esc.safe_push (entry);
}
}
const bool fpsimd_op_p = m_pass->fpsimd_op_p (reg_op, mem_mode, load_p);
// Note pair_operand_mode_ok_p already rejected VL modes.
- const HOST_WIDE_INT mem_size = GET_MODE_SIZE (mem_mode).to_constant ();
+ const unsigned mem_size = GET_MODE_SIZE (mem_mode).to_constant ();
const lfs_fields lfs = { load_p, fpsimd_op_p, mem_size };
if (track_via_mem_expr (insn, mem, lfs))
/* When quoting, print alphanumeric, punctuation, and the space
character unchanged, and all others in hexadecimal with the
"\x" prefix. Otherwise print them all unchanged. */
- int chr = va_arg (*text.m_args_ptr, int);
+ char chr = (char) va_arg (*text.m_args_ptr, int);
if (ISPRINT (chr) || !quote)
pp_character (pp, chr);
else
inline array_slice<access_info *>
access_array_builder::finish ()
{
- auto num_accesses = obstack_object_size (m_obstack) / sizeof (access_info *);
+ unsigned num_accesses
+ = obstack_object_size (m_obstack) / sizeof (access_info *);
if (num_accesses == 0)
return {};
copied. TODO -- handle while (a || b) - like cases, by not requiring
the header to have just a single successor and copying up to
postdominator. */
- int nheaders = 0;
- int last_win_nheaders = 0;
+ unsigned int nheaders = 0;
+ unsigned int last_win_nheaders = 0;
bool last_win_invariant_exit = false;
ch_decision ret;
auto_vec <ch_decision, 32> decision;
}
/* "Duplicate" all BBs with zero cost following last basic blocks we
decided to copy. */
- while (last_win_nheaders < (int)decision.length ()
+ while (last_win_nheaders < decision.length ()
&& decision[last_win_nheaders] == ch_possible_zero_cost)
{
if (dump_file && (dump_flags & TDF_DETAILS))
/* Return the position, in bits, of FIELD_DECL from the beginning of its
structure. */
-static HOST_WIDE_INT
+static unsigned HOST_WIDE_INT
bitpos_of_field (const tree fdecl)
{
- if (!tree_fits_shwi_p (DECL_FIELD_OFFSET (fdecl))
- || !tree_fits_shwi_p (DECL_FIELD_BIT_OFFSET (fdecl)))
+ if (!tree_fits_uhwi_p (DECL_FIELD_OFFSET (fdecl))
+ || !tree_fits_uhwi_p (DECL_FIELD_BIT_OFFSET (fdecl)))
return -1;
- return (tree_to_shwi (DECL_FIELD_OFFSET (fdecl)) * BITS_PER_UNIT
- + tree_to_shwi (DECL_FIELD_BIT_OFFSET (fdecl)));
+ return (tree_to_uhwi (DECL_FIELD_OFFSET (fdecl)) * BITS_PER_UNIT
+ + tree_to_uhwi (DECL_FIELD_BIT_OFFSET (fdecl)));
}
static bool
push_fields_onto_fieldstack (tree type, vec<fieldoff_s> *fieldstack,
- HOST_WIDE_INT offset)
+ unsigned HOST_WIDE_INT offset)
{
tree field;
bool empty_p = true;
if (TREE_CODE (field) == FIELD_DECL)
{
bool push = false;
- HOST_WIDE_INT foff = bitpos_of_field (field);
+ unsigned HOST_WIDE_INT foff = bitpos_of_field (field);
tree field_type = TREE_TYPE (field);
if (!var_can_have_subvars (field)
&& !must_have_pointers_p
&& !pair->must_have_pointers
&& !pair->has_unknown_size
- && pair->offset + (HOST_WIDE_INT)pair->size == offset + foff)
+ && pair->offset + pair->size == offset + foff)
{
pair->size += tree_to_uhwi (DECL_SIZE (field));
}
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
{
count = max_iters.to_shwi ();
/* Try scales of 1 and the element size. */
- int scales[] = { 1, vect_get_scalar_dr_size (dr_info) };
+ unsigned int scales[] = { 1, vect_get_scalar_dr_size (dr_info) };
wi::overflow_type overflow = wi::OVF_NONE;
for (int i = 0; i < 2; ++i)
{
- int scale = scales[i];
+ unsigned int scale = scales[i];
widest_int factor;
if (!wi::multiple_of_p (wi::to_widest (step), scale, SIGNED, &factor))
continue;
poly_uint64 nunits_in;
poly_uint64 nunits_out;
tree vectype_out;
- int ncopies, vec_num;
+ unsigned int ncopies;
+ int vec_num;
int i;
vec<tree> vec_oprnds0 = vNULL;
vec<tree> vec_oprnds1 = vNULL;
const value_type &back () const;
const value_type &operator[] (unsigned int i) const;
- size_t size () const { return m_size; }
+ unsigned size () const { return m_size; }
size_t size_bytes () const { return m_size * sizeof (T); }
bool empty () const { return m_size == 0; }