On Tue, 19 Dec 2017, Jakub Jelinek wrote: > Hi! > > Segher's comment in one of the PRs > ('-- We don't use "yoda conditions" in GCC ("0 == x");') > I was looking at led me discover we have more Yoda conditions in the source > than healthy. > > This patch fixes the comparison order to the usual style. > > If some port maintainer used 1 <= x && x <= 24 style and doesn't like > x >= 1 && x <= 24 for some reason, there is always IN_RANGE macro and > IN_RANGE (x, 1, 24) can be used instead (though, such a change requires > double checking the type of x, it shouldn't be wider than HOST_WIDE_INT). > > In various spots the changes not only improve readability of the comparison > itself, but also by moving the often much more complex comparison operand > to left more stuff fits on lines and we need fewer line breaks. > > Ok for trunk if it passes bootstrap/regtest on x86_64-linux and i686-linux?
Ok. Richard. > 2017-12-19 Jakub Jelinek <ja...@redhat.com> > > * read-rtl.c (parse_reg_note_name): Replace Yoda conditions with > typical order conditions. > * sel-sched.c (extract_new_fences_from): Likewise. > * config/visium/constraints.md (J, K, L): Likewise. > * config/visium/predicates.md (const_shift_operand): Likewise. > * config/visium/visium.c (visium_legitimize_address, > visium_legitimize_reload_address): Likewise. > * config/m68k/m68k.c (output_reg_adjust, emit_reg_adjust): Likewise. > * config/arm/arm.c (arm_block_move_unaligned_straight): Likewise. > * config/avr/constraints.md (Y01, Ym1, Y02, Ym2): Likewise. > * config/avr/avr-log.c (avr_vdump, avr_log_set_avr_log, > SET_DUMP_DETAIL): Likewise. > * config/avr/predicates.md (const_8_16_24_operand): Likewise. > * config/avr/avr.c (STR_PREFIX_P, avr_popcount_each_byte, > avr_is_casesi_sequence, avr_casei_sequence_check_operands, > avr_set_core_architecture, avr_set_current_function, > avr_legitimize_reload_address, avr_asm_len, avr_print_operand, > output_movqi, output_movsisf, avr_out_plus, avr_out_bitop, > avr_out_fract, avr_adjust_insn_length, avr_encode_section_info, > avr_2word_insn_p, output_reload_in_const, avr_has_nibble_0xf, > avr_map_decompose, avr_fold_builtin): Likewise. > * config/avr/driver-avr.c (avr_devicespecs_file): Likewise. > * config/avr/gen-avr-mmcu-specs.c (str_prefix_p, print_mcu): Likewise. > * config/i386/i386.c (ix86_parse_stringop_strategy_string): Likewise. > * config/m32c/m32c-pragma.c (m32c_pragma_memregs): Likewise. > * config/m32c/m32c.c (m32c_conditional_register_usage, > m32c_address_cost): Likewise. > * config/m32c/predicates.md (shiftcount_operand, > longshiftcount_operand): Likewise. > * config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise. > * config/nios2/nios2.c (nios2_handle_custom_fpu_insn_option, > can_use_cdx_ldstw): Likewise. > * config/nios2/nios2.h (CDX_REG_P): Likewise. > * config/cr16/cr16.h (RETURN_ADDR_RTX, REGNO_MODE_OK_FOR_BASE_P): > Likewise. > * config/cr16/cr16.md (*mov<mode>_double): Likewise. > * config/cr16/cr16.c (cr16_create_dwarf_for_multi_push): Likewise. > * config/h8300/h8300.c (h8300_rtx_costs, get_shift_alg): Likewise. > * config/vax/constraints.md (U06, U08, U16, CN6, S08, S16): Likewise. > * config/vax/vax.c (adjacent_operands_p): Likewise. > * config/ft32/constraints.md (L, b, KA): Likewise. > * config/ft32/ft32.c (ft32_load_immediate, ft32_expand_prologue): > Likewise. > * cfgexpand.c (expand_stack_alignment): Likewise. > * gcse.c (insert_expr_in_table): Likewise. > * print-rtl.c (rtx_writer::print_rtx_operand_codes_E_and_V): Likewise. > * cgraphunit.c (cgraph_node::expand): Likewise. > * ira-build.c (setup_min_max_allocno_live_range_point): Likewise. > * emit-rtl.c (add_insn): Likewise. > * input.c (dump_location_info): Likewise. > * passes.c (NEXT_PASS): Likewise. > * read-rtl-function.c (parse_note_insn_name, > function_reader::read_rtx_operand_r, function_reader::parse_mem_expr): > Likewise. > * sched-rgn.c (sched_rgn_init): Likewise. > * diagnostic-show-locus.c (layout::show_ruler): Likewise. > * combine.c (find_split_point, simplify_if_then_else, force_to_mode, > if_then_else_cond, simplify_shift_const_1, simplify_comparison): > Likewise. > * explow.c (eliminate_constant_term): Likewise. > * final.c (leaf_renumber_regs_insn): Likewise. > * cfgrtl.c (print_rtl_with_bb): Likewise. > * genhooks.c (emit_init_macros): Likewise. > * poly-int.h (maybe_ne, maybe_le, maybe_lt): Likewise. > * tree-data-ref.c (conflict_fn): Likewise. > * selftest.c (assert_streq): Likewise. > * expr.c (store_constructor_field, expand_expr_real_1): Likewise. > * fold-const.c (fold_range_test, extract_muldiv_1, fold_truth_andor, > fold_binary_loc, multiple_of_p): Likewise. > * reload.c (push_reload, find_equiv_reg): Likewise. > * et-forest.c (et_nca, et_below): Likewise. > * dbxout.c (dbxout_symbol_location): Likewise. > * reorg.c (relax_delay_slots): Likewise. > * dojump.c (do_compare_rtx_and_jump): Likewise. > * gengtype-parse.c (type): Likewise. > * simplify-rtx.c (simplify_gen_ternary, simplify_gen_relational, > simplify_const_relational_operation): Likewise. > * reload1.c (do_output_reload): Likewise. > * dumpfile.c (get_dump_file_info_by_switch): Likewise. > * gengtype.c (type_for_name): Likewise. > * gimple-ssa-sprintf.c (format_directive): Likewise. > ada/ > * gcc-interface/trans.c (Loop_Statement_to_gnu): Replace Yoda > conditions with typical order conditions. > * gcc-interface/misc.c (gnat_get_array_descr_info, > default_pass_by_ref): Likewise. > * gcc-interface/decl.c (gnat_to_gnu_entity): Likewise. > * adaint.c (__gnat_tmp_name): Likewise. > c-family/ > * known-headers.cc (get_stdlib_header_for_name): Replace Yoda > conditions with typical order conditions. > c/ > * c-typeck.c (comptypes_internal, function_types_compatible_p, > perform_integral_promotions, digest_init): Replace Yoda conditions > with typical order conditions. > * c-decl.c (check_bitfield_type_and_width): Likewise. > cp/ > * name-lookup.c (get_std_name_hint): Replace Yoda conditions with > typical order conditions. > * class.c (check_bitfield_decl): Likewise. > * pt.c (convert_template_argument): Likewise. > * decl.c (duplicate_decls): Likewise. > * typeck.c (commonparms): Likewise. > fortran/ > * scanner.c (preprocessor_line): Replace Yoda conditions with typical > order conditions. > * dependency.c (check_section_vs_section): Likewise. > * trans-array.c (gfc_conv_expr_descriptor): Likewise. > jit/ > * jit-playback.c (get_type, playback::compile_to_file::copy_file, > playback::context::acquire_mutex): Replace Yoda conditions with > typical order conditions. > * libgccjit.c (gcc_jit_context_new_struct_type, > gcc_jit_struct_set_fields, gcc_jit_context_new_union_type, > gcc_jit_context_new_function, gcc_jit_timer_pop): Likewise. > * jit-builtins.c (matches_builtin): Likewise. > * jit-recording.c (recording::compound_type::set_fields, > recording::fields::write_reproducer, recording::rvalue::set_scope, > recording::function::validate): Likewise. > * jit-logging.c (logger::decref): Likewise. > > --- gcc/read-rtl.c.jj 2017-09-01 09:26:37.000000000 +0200 > +++ gcc/read-rtl.c 2017-12-19 13:27:32.464594040 +0100 > @@ -1229,7 +1229,7 @@ static int > parse_reg_note_name (const char *string) > { > for (int i = 0; i < REG_NOTE_MAX; i++) > - if (0 == strcmp (string, GET_REG_NOTE_NAME (i))) > + if (strcmp (string, GET_REG_NOTE_NAME (i)) == 0) > return i; > fatal_with_file_and_line ("unrecognized REG_NOTE name: `%s'", string); > } > --- gcc/sel-sched.c.jj 2017-12-13 19:44:59.000000000 +0100 > +++ gcc/sel-sched.c 2017-12-19 13:31:25.891621738 +0100 > @@ -672,7 +672,7 @@ extract_new_fences_from (flist_t old_fen > { > int seqno = INSN_SEQNO (succ); > > - if (0 < seqno && seqno <= orig_max_seqno > + if (seqno > 0 && seqno <= orig_max_seqno > && (pipelining_p || INSN_SCHED_TIMES (succ) <= 0)) > { > bool b = (in_same_ebb_p (insn, succ) > --- gcc/config/visium/constraints.md.jj 2017-01-01 12:45:40.000000000 > +0100 > +++ gcc/config/visium/constraints.md 2017-12-19 14:30:11.925859534 +0100 > @@ -48,17 +48,17 @@ (define_register_constraint "v" "R3" > (define_constraint "J" > "Integer constant in the range 0 .. 65535 (16-bit immediate)" > (and (match_code "const_int") > - (match_test "0 <= ival && ival <= 65535"))) > + (match_test "ival >= 0 && ival <= 65535"))) > > (define_constraint "K" > "Integer constant in the range 1 .. 31 (5-bit immediate)" > (and (match_code "const_int") > - (match_test "1 <= ival && ival <= 31"))) > + (match_test "ival >= 1 && ival <= 31"))) > > (define_constraint "L" > "Integer constant in the range -65535 .. -1 (16-bit negative immediate)" > (and (match_code "const_int") > - (match_test "-65535 <= ival && ival <= -1"))) > + (match_test "ival >= -65535 && ival <= -1"))) > > (define_constraint "M" > "Integer constant -1" > --- gcc/config/visium/predicates.md.jj 2017-09-01 09:26:56.000000000 > +0200 > +++ gcc/config/visium/predicates.md 2017-12-19 14:30:40.714495341 +0100 > @@ -25,7 +25,7 @@ (define_predicate "const0_operand" > ;; Return true if OP is a constant in the range 1 .. 31. > (define_predicate "const_shift_operand" > (and (match_code "const_int") > - (match_test "1 <= INTVAL (op) && INTVAL (op) <= 31"))) > + (match_test "INTVAL (op) >= 1 && INTVAL (op) <= 31"))) > > ;; Return true if OP is either a register or the constant 0. > (define_predicate "reg_or_0_operand" > --- gcc/config/visium/visium.c.jj 2017-12-18 14:57:34.000000000 +0100 > +++ gcc/config/visium/visium.c 2017-12-19 14:31:13.663078523 +0100 > @@ -1922,7 +1922,7 @@ visium_legitimize_address (rtx x, rtx ol > int offset_base = offset & ~mask; > > /* Check that all of the words can be accessed. */ > - if (4 < size && 0x80 < size + offset - offset_base) > + if (size > 4 && 0x80 < size + offset - offset_base) > offset_base = offset & ~0x3f; > if (offset_base != 0 && offset_base != offset && (offset & mask1) == 0) > { > @@ -1968,7 +1968,7 @@ visium_legitimize_reload_address (rtx x, > int offset_base = offset & ~mask; > > /* Check that all of the words can be accessed. */ > - if (4 < size && 0x80 < size + offset - offset_base) > + if (size > 4 && 0x80 < size + offset - offset_base) > offset_base = offset & ~0x3f; > > if (offset_base && (offset & mask1) == 0) > --- gcc/config/m68k/m68k.c.jj 2017-12-18 14:57:31.000000000 +0100 > +++ gcc/config/m68k/m68k.c 2017-12-19 14:24:12.230409888 +0100 > @@ -3523,8 +3523,7 @@ output_reg_adjust (rtx reg, int n) > { > const char *s; > > - gcc_assert (GET_MODE (reg) == SImode > - && -12 <= n && n != 0 && n <= 12); > + gcc_assert (GET_MODE (reg) == SImode && n >= -12 && n != 0 && n <= 12); > > switch (n) > { > @@ -3566,8 +3565,7 @@ emit_reg_adjust (rtx reg1, int n) > { > rtx reg2; > > - gcc_assert (GET_MODE (reg1) == SImode > - && -12 <= n && n != 0 && n <= 12); > + gcc_assert (GET_MODE (reg1) == SImode && n >= -12 && n != 0 && n <= 12); > > reg1 = copy_rtx (reg1); > reg2 = copy_rtx (reg1); > --- gcc/config/arm/arm.c.jj 2017-12-18 14:57:34.000000000 +0100 > +++ gcc/config/arm/arm.c 2017-12-19 14:02:20.070050866 +0100 > @@ -13987,7 +13987,7 @@ arm_block_move_unaligned_straight (rtx d > HOST_WIDE_INT src_autoinc, dst_autoinc; > rtx mem, addr; > > - gcc_assert (1 <= interleave_factor && interleave_factor <= 4); > + gcc_assert (interleave_factor >= 1 && interleave_factor <= 4); > > /* Use hard registers if we have aligned source or destination so we can > use > load/store multiple with contiguous registers. */ > --- gcc/config/avr/constraints.md.jj 2017-01-01 12:45:41.000000000 +0100 > +++ gcc/config/avr/constraints.md 2017-12-19 14:08:26.664395701 +0100 > @@ -224,25 +224,25 @@ (define_constraint "Y00" > (define_constraint "Y01" > "Fixed-point or integer constant with bit representation 0x1" > (ior (and (match_code "const_fixed") > - (match_test "1 == INTVAL (avr_to_int_mode (op))")) > + (match_test "INTVAL (avr_to_int_mode (op)) == 1")) > (match_test "satisfies_constraint_P (op)"))) > > (define_constraint "Ym1" > "Fixed-point or integer constant with bit representation -0x1" > (ior (and (match_code "const_fixed") > - (match_test "-1 == INTVAL (avr_to_int_mode (op))")) > + (match_test "INTVAL (avr_to_int_mode (op)) == -1")) > (match_test "satisfies_constraint_N (op)"))) > > (define_constraint "Y02" > "Fixed-point or integer constant with bit representation 0x2" > (ior (and (match_code "const_fixed") > - (match_test "2 == INTVAL (avr_to_int_mode (op))")) > + (match_test "INTVAL (avr_to_int_mode (op)) == 2")) > (match_test "satisfies_constraint_K (op)"))) > > (define_constraint "Ym2" > "Fixed-point or integer constant with bit representation -0x2" > (ior (and (match_code "const_fixed") > - (match_test "-2 == INTVAL (avr_to_int_mode (op))")) > + (match_test "INTVAL (avr_to_int_mode (op)) == -2")) > (match_test "satisfies_constraint_Cm2 (op)"))) > > (define_constraint "Yx2" > --- gcc/config/avr/avr-log.c.jj 2017-12-18 14:57:29.000000000 +0100 > +++ gcc/config/avr/avr-log.c 2017-12-19 14:39:17.372941421 +0100 > @@ -86,7 +86,7 @@ avr_vdump (FILE *stream, const char *cal > { > va_list ap; > > - if (NULL == stream && dump_file) > + if (stream == NULL && dump_file) > stream = dump_file; > > va_start (ap, caller); > @@ -294,15 +294,15 @@ avr_log_set_avr_log (void) > str[0] = ','; > strcat (stpcpy (str+1, avr_log_details), ","); > > - all |= NULL != strstr (str, ",all,"); > - info = NULL != strstr (str, ",?,"); > + all |= strstr (str, ",all,") != NULL; > + info = strstr (str, ",?,") != NULL; > > if (info) > fprintf (stderr, "\n-mlog="); > > #define SET_DUMP_DETAIL(S) \ > do { \ > - avr_log.S = (all || NULL != strstr (str, "," #S ",")); \ > + avr_log.S = (all || strstr (str, "," #S ",") != NULL); \ > if (info) \ > fprintf (stderr, #S ","); \ > } while (0) > --- gcc/config/avr/predicates.md.jj 2017-01-01 12:45:41.000000000 +0100 > +++ gcc/config/avr/predicates.md 2017-12-19 14:10:40.638694770 +0100 > @@ -221,7 +221,7 @@ (define_predicate "combine_pseudo_regist > ;; 8 or 16 or 24. > (define_predicate "const_8_16_24_operand" > (and (match_code "const_int") > - (match_test "8 == INTVAL(op) || 16 == INTVAL(op) || 24 == > INTVAL(op)"))) > + (match_test "INTVAL(op) == 8 || INTVAL(op) == 16 || INTVAL(op) == > 24"))) > > ;; Unsigned CONST_INT that fits in 8 bits, i.e. 0..255. > (define_predicate "u8_operand" > --- gcc/config/avr/avr.c.jj 2017-12-18 14:57:29.000000000 +0100 > +++ gcc/config/avr/avr.c 2017-12-19 14:38:38.542434284 +0100 > @@ -65,7 +65,7 @@ > #define MAX_LD_OFFSET(MODE) (64 - (signed)GET_MODE_SIZE (MODE)) > > /* Return true if STR starts with PREFIX and false, otherwise. */ > -#define STR_PREFIX_P(STR,PREFIX) (0 == strncmp (STR, PREFIX, strlen > (PREFIX))) > +#define STR_PREFIX_P(STR,PREFIX) (strncmp (STR, PREFIX, strlen (PREFIX)) == > 0) > > /* The 4 bits starting at SECTION_MACH_DEP are reserved to store the > address space where data is to be located. > @@ -269,7 +269,7 @@ avr_popcount_each_byte (rtx xval, int n_ > rtx xval8 = simplify_gen_subreg (QImode, xval, mode, i); > unsigned int val8 = UINTVAL (xval8) & GET_MODE_MASK (QImode); > > - if (0 == (pop_mask & (1 << popcount_hwi (val8)))) > + if ((pop_mask & (1 << popcount_hwi (val8))) == 0) > return false; > } > > @@ -461,8 +461,8 @@ avr_is_casesi_sequence (basic_block bb, > > // Assert on the anatomy of xinsn's operands we are going to work with. > > - gcc_assert (11 == recog_data.n_operands); > - gcc_assert (4 == recog_data.n_dups); > + gcc_assert (recog_data.n_operands == 11); > + gcc_assert (recog_data.n_dups == 4); > > if (dump_file) > { > @@ -509,7 +509,7 @@ avr_casei_sequence_check_operands (rtx * > > if (sub_5 > && SUBREG_P (sub_5) > - && 0 == SUBREG_BYTE (sub_5) > + && SUBREG_BYTE (sub_5) == 0 > && rtx_equal_p (xop[5], SUBREG_REG (sub_5))) > return true; > > @@ -697,7 +697,7 @@ avr_set_core_architecture (void) > > for (const avr_mcu_t *mcu = avr_mcu_types; ; mcu++) > { > - if (NULL == mcu->name) > + if (mcu->name == NULL) > { > /* Reached the end of `avr_mcu_types'. This should actually never > happen as options are provided by device-specs. It could be a > @@ -709,9 +709,9 @@ avr_set_core_architecture (void) > avr_inform_core_architectures (); > break; > } > - else if (0 == strcmp (mcu->name, avr_mmcu) > + else if (strcmp (mcu->name, avr_mmcu) == 0 > // Is this a proper architecture ? > - && NULL == mcu->macro) > + && mcu->macro == NULL) > { > avr_arch = &avr_arch_types[mcu->arch_id]; > if (avr_n_flash < 0) > @@ -1109,9 +1109,9 @@ avr_set_current_function (tree decl) > // Common problem is using "ISR" without first including avr/interrupt.h. > const char *name = IDENTIFIER_POINTER (DECL_NAME (decl)); > name = default_strip_name_encoding (name); > - if (0 == strcmp ("ISR", name) > - || 0 == strcmp ("INTERRUPT", name) > - || 0 == strcmp ("SIGNAL", name)) > + if (strcmp ("ISR", name) == 0 > + || strcmp ("INTERRUPT", name) == 0 > + || strcmp ("SIGNAL", name) == 0) > { > warning_at (loc, OPT_Wmisspelled_isr, "%qs is a reserved identifier" > " in AVR-LibC. Consider %<#include <avr/interrupt.h>%>" > @@ -2572,7 +2572,7 @@ avr_legitimize_reload_address (rtx *px, > > if (GET_CODE (x) == PLUS > && REG_P (XEXP (x, 0)) > - && 0 == reg_equiv_constant (REGNO (XEXP (x, 0))) > + && reg_equiv_constant (REGNO (XEXP (x, 0))) == 0 > && CONST_INT_P (XEXP (x, 1)) > && INTVAL (XEXP (x, 1)) >= 1) > { > @@ -2639,10 +2639,8 @@ avr_legitimize_reload_address (rtx *px, > static const char* > avr_asm_len (const char* tpl, rtx* operands, int* plen, int n_words) > { > - if (NULL == plen) > - { > - output_asm_insn (tpl, operands); > - } > + if (plen == NULL) > + output_asm_insn (tpl, operands); > else > { > if (n_words < 0) > @@ -2969,7 +2967,7 @@ avr_print_operand (FILE *file, rtx x, in > else if (code == 'x') > { > /* Constant progmem address - like used in jmp or call */ > - if (0 == text_segment_operand (x, VOIDmode)) > + if (text_segment_operand (x, VOIDmode) == 0) > if (warning (0, "accessing program memory" > " with data memory address")) > { > @@ -3930,7 +3928,7 @@ output_movqi (rtx_insn *insn, rtx operan > return avr_out_lpm (insn, operands, plen); > } > > - gcc_assert (1 == GET_MODE_SIZE (GET_MODE (dest))); > + gcc_assert (GET_MODE_SIZE (GET_MODE (dest)) == 1); > > if (REG_P (dest)) > { > @@ -4925,7 +4923,7 @@ output_movsisf (rtx_insn *insn, rtx oper > if (!l) > l = &dummy; > > - gcc_assert (4 == GET_MODE_SIZE (GET_MODE (dest))); > + gcc_assert (GET_MODE_SIZE (GET_MODE (dest)) == 4); > > if (REG_P (dest)) > { > @@ -8265,7 +8263,7 @@ avr_out_plus (rtx insn, rtx *xop, int *p > return ""; > } > > - if (8 == n_bytes) > + if (n_bytes == 8) > { > op[0] = gen_rtx_REG (DImode, ACC_A); > op[1] = gen_rtx_REG (DImode, ACC_A); > @@ -8383,11 +8381,11 @@ avr_out_bitop (rtx insn, rtx *xop, int * > { > case IOR: > > - if (0 == pop8) > + if (pop8 == 0) > continue; > else if (ld_reg_p) > avr_asm_len ("ori %0,%1", op, plen, 1); > - else if (1 == pop8) > + else if (pop8 == 1) > { > if (set_t != 1) > avr_asm_len ("set", op, plen, 1); > @@ -8396,7 +8394,7 @@ avr_out_bitop (rtx insn, rtx *xop, int * > op[1] = GEN_INT (exact_log2 (val8)); > avr_asm_len ("bld %0,%1", op, plen, 1); > } > - else if (8 == pop8) > + else if (pop8 == 8) > { > if (op[3] != NULL_RTX) > avr_asm_len ("mov %0,%3", op, plen, 1); > @@ -8419,13 +8417,13 @@ avr_out_bitop (rtx insn, rtx *xop, int * > > case AND: > > - if (8 == pop8) > + if (pop8 == 8) > continue; > - else if (0 == pop8) > + else if (pop8 == 0) > avr_asm_len ("clr %0", op, plen, 1); > else if (ld_reg_p) > avr_asm_len ("andi %0,%1", op, plen, 1); > - else if (7 == pop8) > + else if (pop8 == 7) > { > if (set_t != 0) > avr_asm_len ("clt", op, plen, 1); > @@ -8447,9 +8445,9 @@ avr_out_bitop (rtx insn, rtx *xop, int * > > case XOR: > > - if (0 == pop8) > + if (pop8 == 0) > continue; > - else if (8 == pop8) > + else if (pop8 == 8) > avr_asm_len ("com %0", op, plen, 1); > else if (ld_reg_p && val8 == (1 << 7)) > avr_asm_len ("subi %0,%1", op, plen, 1); > @@ -8727,9 +8725,9 @@ avr_out_fract (rtx_insn *insn, rtx opera > > bool sign_extend = src.sbit && sign_bytes; > > - if (0 == dest.fbit % 8 && 7 == src.fbit % 8) > + if (dest.fbit % 8 == 0 && src.fbit % 8 == 7) > shift = ASHIFT; > - else if (7 == dest.fbit % 8 && 0 == src.fbit % 8) > + else if (dest.fbit % 8 == 7 && src.fbit % 8 == 0) > shift = ASHIFTRT; > else if (dest.fbit % 8 == src.fbit % 8) > shift = UNKNOWN; > @@ -9401,8 +9399,7 @@ avr_adjust_insn_length (rtx_insn *insn, > It is easier to state this in an insn attribute "adjust_len" than > to clutter up code here... */ > > - if (!NONDEBUG_INSN_P (insn) > - || -1 == recog_memoized (insn)) > + if (!NONDEBUG_INSN_P (insn) || recog_memoized (insn) == -1) > { > return len; > } > @@ -10265,7 +10262,7 @@ avr_asm_init_sections (void) > we have also to track .rodata because it is located in RAM then. */ > > #if defined HAVE_LD_AVR_AVRXMEGA3_RODATA_IN_FLASH > - if (0 == avr_arch->flash_pm_offset) > + if (avr_arch->flash_pm_offset == 0) > #endif > readonly_data_section->unnamed.callback = avr_output_data_section_asm_op; > data_section->unnamed.callback = avr_output_data_section_asm_op; > @@ -10303,7 +10300,7 @@ avr_asm_named_section (const char *name, > > if (!avr_need_copy_data_p > #if defined HAVE_LD_AVR_AVRXMEGA3_RODATA_IN_FLASH > - && 0 == avr_arch->flash_pm_offset > + && avr_arch->flash_pm_offset == 0 > #endif > ) > avr_need_copy_data_p = (STR_PREFIX_P (name, ".rodata") > @@ -10439,8 +10436,7 @@ avr_encode_section_info (tree decl, rtx > /* PSTR strings are in generic space but located in flash: > patch address space. */ > > - if (!AVR_TINY > - && -1 == avr_progmem_p (decl, attr)) > + if (!AVR_TINY && avr_progmem_p (decl, attr) == -1) > as = ADDR_SPACE_FLASH; > > AVR_SYMBOL_SET_ADDR_SPACE (sym, as); > @@ -10479,7 +10475,7 @@ avr_encode_section_info (tree decl, rtx > && SYMBOL_REF_P (XEXP (rtl, 0))) > { > rtx sym = XEXP (rtl, 0); > - bool progmem_p = -1 == avr_progmem_p (decl, DECL_ATTRIBUTES (decl)); > + bool progmem_p = avr_progmem_p (decl, DECL_ATTRIBUTES (decl)) == -1; > > if (progmem_p) > { > @@ -12091,9 +12087,7 @@ test_hard_reg_class (enum reg_class rcla > static bool > avr_2word_insn_p (rtx_insn *insn) > { > - if (TARGET_SKIP_BUG > - || !insn > - || 2 != get_attr_length (insn)) > + if (TARGET_SKIP_BUG || !insn || get_attr_length (insn) != 2) > { > return false; > } > @@ -12402,11 +12396,8 @@ output_reload_in_const (rtx *op, rtx clo > > if (INTVAL (lo16) == INTVAL (hi16)) > { > - if (0 != INTVAL (lo16) > - || !clear_p) > - { > - avr_asm_len ("movw %C0,%A0", &op[0], len, 1); > - } > + if (INTVAL (lo16) != 0 || !clear_p) > + avr_asm_len ("movw %C0,%A0", &op[0], len, 1); > > break; > } > @@ -12458,7 +12449,7 @@ output_reload_in_const (rtx *op, rtx clo > > /* Need no clobber reg for -1: Use CLR/DEC */ > > - if (-1 == ival[n]) > + if (ival[n] == -1) > { > if (!clear_p) > avr_asm_len ("clr %0", &xdest[n], len, 1); > @@ -12466,7 +12457,7 @@ output_reload_in_const (rtx *op, rtx clo > avr_asm_len ("dec %0", &xdest[n], len, 1); > continue; > } > - else if (1 == ival[n]) > + else if (ival[n] == 1) > { > if (!clear_p) > avr_asm_len ("clr %0", &xdest[n], len, 1); > @@ -13690,7 +13681,7 @@ bool > avr_has_nibble_0xf (rtx ival) > { > unsigned int map = UINTVAL (ival) & GET_MODE_MASK (SImode); > - return 0 != avr_map_metric (map, MAP_MASK_PREIMAGE_F); > + return avr_map_metric (map, MAP_MASK_PREIMAGE_F) != 0; > } > > > @@ -13757,7 +13748,7 @@ static const avr_map_op_t avr_map_op[] = > static avr_map_op_t > avr_map_decompose (unsigned int f, const avr_map_op_t *g, bool val_const_p) > { > - bool val_used_p = 0 != avr_map_metric (f, MAP_MASK_PREIMAGE_F); > + bool val_used_p = avr_map_metric (f, MAP_MASK_PREIMAGE_F) != 0; > avr_map_op_t f_ginv = *g; > unsigned int ginv = g->ginv; > > @@ -13788,13 +13779,10 @@ avr_map_decompose (unsigned int f, const > > /* Step 2a: Compute cost of F o G^-1 */ > > - if (0 == avr_map_metric (f_ginv.map, MAP_NONFIXED_0_7)) > - { > - /* The mapping consists only of fixed points and can be folded > - to AND/OR logic in the remainder. Reasonable cost is 3. */ > - > - f_ginv.cost = 2 + (val_used_p && !val_const_p); > - } > + if (avr_map_metric (f_ginv.map, MAP_NONFIXED_0_7) == 0) > + /* The mapping consists only of fixed points and can be folded > + to AND/OR logic in the remainder. Reasonable cost is 3. */ > + f_ginv.cost = 2 + (val_used_p && !val_const_p); > else > { > rtx xop[4]; > @@ -14500,7 +14488,7 @@ avr_fold_builtin (tree fndecl, int n_arg > map = TREE_INT_CST_LOW (tmap); > > if (TREE_CODE (tval) != INTEGER_CST > - && 0 == avr_map_metric (map, MAP_MASK_PREIMAGE_F)) > + && avr_map_metric (map, MAP_MASK_PREIMAGE_F) == 0) > { > /* There are no F in the map, i.e. 3rd operand is unused. > Replace that argument with some constant to render > @@ -14511,7 +14499,7 @@ avr_fold_builtin (tree fndecl, int n_arg > } > > if (TREE_CODE (tbits) != INTEGER_CST > - && 0 == avr_map_metric (map, MAP_PREIMAGE_0_7)) > + && avr_map_metric (map, MAP_PREIMAGE_0_7) == 0) > { > /* Similar for the bits to be inserted. If they are unused, > we can just as well pass 0. */ > @@ -14550,7 +14538,7 @@ avr_fold_builtin (tree fndecl, int n_arg > /* If bits don't change their position we can use vanilla logic > to merge the two arguments. */ > > - if (0 == avr_map_metric (map, MAP_NONFIXED_0_7)) > + if (avr_map_metric (map, MAP_NONFIXED_0_7) == 0) > { > int mask_f = avr_map_metric (map, MAP_MASK_PREIMAGE_F); > tree tres, tmask = build_int_cst (val_type, mask_f ^ 0xff); > --- gcc/config/avr/driver-avr.c.jj 2017-12-18 14:57:29.000000000 +0100 > +++ gcc/config/avr/driver-avr.c 2017-12-19 14:09:08.134869194 +0100 > @@ -59,7 +59,7 @@ avr_devicespecs_file (int argc, const ch > return X_NODEVLIB; > > case 1: > - if (0 == strcmp ("device-specs", argv[0])) > + if (strcmp ("device-specs", argv[0]) == 0) > { > /* FIXME: This means "device-specs%s" from avr.h:DRIVER_SELF_SPECS > has not been resolved to a path. That case can occur when the > @@ -81,7 +81,7 @@ avr_devicespecs_file (int argc, const ch > // Allow specifying the same MCU more than once. > > for (int i = 2; i < argc; i++) > - if (0 != strcmp (mmcu, argv[i])) > + if (strcmp (mmcu, argv[i]) != 0) > { > error ("specified option %qs more than once", "-mmcu"); > return X_NODEVLIB; > --- gcc/config/avr/gen-avr-mmcu-specs.c.jj 2017-12-18 14:57:29.000000000 > +0100 > +++ gcc/config/avr/gen-avr-mmcu-specs.c 2017-12-19 14:09:53.510293110 > +0100 > @@ -55,7 +55,7 @@ > static bool > str_prefix_p (const char *str, const char *prefix) > { > - return 0 == strncmp (str, prefix, strlen (prefix)); > + return strncmp (str, prefix, strlen (prefix)) == 0; > } > > > @@ -133,12 +133,12 @@ print_mcu (const avr_mcu_t *mcu) > > FILE *f = fopen (name ,"w"); > > - bool absdata = 0 != (mcu->dev_attribute & AVR_ISA_LDS); > - bool errata_skip = 0 != (mcu->dev_attribute & AVR_ERRATA_SKIP); > - bool rmw = 0 != (mcu->dev_attribute & AVR_ISA_RMW); > - bool sp8 = 0 != (mcu->dev_attribute & AVR_SHORT_SP); > + bool absdata = (mcu->dev_attribute & AVR_ISA_LDS) != 0; > + bool errata_skip = (mcu->dev_attribute & AVR_ERRATA_SKIP) != 0; > + bool rmw = (mcu->dev_attribute & AVR_ISA_RMW) != 0; > + bool sp8 = (mcu->dev_attribute & AVR_SHORT_SP) != 0; > bool rcall = (mcu->dev_attribute & AVR_ISA_RCALL); > - bool is_arch = NULL == mcu->macro; > + bool is_arch = mcu->macro == NULL; > bool is_device = ! is_arch; > > if (is_arch > --- gcc/config/i386/i386.c.jj 2017-12-18 14:57:27.000000000 +0100 > +++ gcc/config/i386/i386.c 2017-12-19 14:20:22.819314384 +0100 > @@ -3160,8 +3160,8 @@ ix86_parse_stringop_strategy_string (cha > if (next_range_str) > *next_range_str++ = '\0'; > > - if (3 != sscanf (curr_range_str, "%20[^:]:%d:%10s", > - alg_name, &maxs, align)) > + if (sscanf (curr_range_str, "%20[^:]:%d:%10s", alg_name, &maxs, > + align) != 3) > { > error ("wrong argument %qs to option %qs", curr_range_str, opt); > return; > --- gcc/config/m32c/m32c-pragma.c.jj 2017-12-18 14:57:25.000000000 +0100 > +++ gcc/config/m32c/m32c-pragma.c 2017-12-19 14:22:35.910629071 +0100 > @@ -53,7 +53,7 @@ m32c_pragma_memregs (cpp_reader * reader > if (type != CPP_EOF) > warning (0, "junk at end of #pragma GCC memregs [0..16]"); > > - if (0 <= i && i <= 16) > + if (i >= 0 && i <= 16) > { > if (!ok_to_change_target_memregs) > { > --- gcc/config/m32c/m32c.c.jj 2017-12-18 14:57:25.000000000 +0100 > +++ gcc/config/m32c/m32c.c 2017-12-19 14:22:19.452837474 +0100 > @@ -517,7 +517,7 @@ m32c_conditional_register_usage (void) > { > int i; > > - if (0 <= target_memregs && target_memregs <= 16) > + if (target_memregs >= 0 && target_memregs <= 16) > { > /* The command line option is bytes, but our "registers" are > 16-bit words. */ > @@ -2308,9 +2308,9 @@ m32c_address_cost (rtx addr, machine_mod > i = INTVAL (addr); > if (i == 0) > return COSTS_N_INSNS(1); > - if (0 < i && i <= 255) > + if (i > 0 && i <= 255) > return COSTS_N_INSNS(2); > - if (0 < i && i <= 65535) > + if (i > 0 && i <= 65535) > return COSTS_N_INSNS(3); > return COSTS_N_INSNS(4); > case SYMBOL_REF: > @@ -2323,9 +2323,9 @@ m32c_address_cost (rtx addr, machine_mod > i = INTVAL (XEXP (addr, 1)); > if (i == 0) > return COSTS_N_INSNS(1); > - if (0 < i && i <= 255) > + if (i > 0 && i <= 255) > return COSTS_N_INSNS(2); > - if (0 < i && i <= 65535) > + if (i > 0 && i <= 65535) > return COSTS_N_INSNS(3); > } > return COSTS_N_INSNS(4); > --- gcc/config/m32c/predicates.md.jj 2017-01-01 12:45:42.000000000 +0100 > +++ gcc/config/m32c/predicates.md 2017-12-19 14:23:07.918223765 +0100 > @@ -210,11 +210,11 @@ (define_predicate "r1h_operand" > (define_predicate "shiftcount_operand" > (ior (match_operand 0 "mra_operand" "") > (and (match_operand 2 "const_int_operand" "") > - (match_test "-8 <= INTVAL (op) && INTVAL (op) && INTVAL (op) <= > 8")))) > + (match_test "INTVAL (op) >= -8 && INTVAL (op) && INTVAL (op) <= > 8")))) > (define_predicate "longshiftcount_operand" > (ior (match_operand 0 "mra_operand" "") > (and (match_operand 2 "const_int_operand" "") > - (match_test "-32 <= INTVAL (op) && INTVAL (op) && INTVAL (op) <= > 32")))) > + (match_test "INTVAL (op) >= -32 && INTVAL (op) && INTVAL (op) <= > 32")))) > > ; TRUE for r0..r3, a0..a1, or sp. > (define_predicate "mra_or_sp_operand" > --- gcc/config/iq2000/iq2000.c.jj 2017-12-18 14:57:31.000000000 +0100 > +++ gcc/config/iq2000/iq2000.c 2017-12-19 14:21:34.479406964 +0100 > @@ -1982,10 +1982,10 @@ iq2000_expand_prologue (void) > { > if (next_arg == 0 > && DECL_NAME (cur_arg) > - && ((0 == strcmp (IDENTIFIER_POINTER (DECL_NAME (cur_arg)), > - "__builtin_va_alist")) > - || (0 == strcmp (IDENTIFIER_POINTER (DECL_NAME (cur_arg)), > - "va_alist")))) > + && (strcmp (IDENTIFIER_POINTER (DECL_NAME (cur_arg)), > + "__builtin_va_alist") == 0 > + || strcmp (IDENTIFIER_POINTER (DECL_NAME (cur_arg)), > + "va_alist") == 0)) > { > last_arg_is_vararg_marker = 1; > break; > --- gcc/config/nios2/nios2.c.jj 2017-12-18 14:57:30.000000000 +0100 > +++ gcc/config/nios2/nios2.c 2017-12-19 14:26:08.867934356 +0100 > @@ -1330,7 +1330,7 @@ nios2_handle_custom_fpu_insn_option (int > { > int param = N2FPU_N (fpu_insn_index); > > - if (0 <= param && param <= 255) > + if (param >= 0 && param <= 255) > nios2_register_custom_code (param, CCS_FPU, fpu_insn_index); > > /* Valid values are 0-255, but also allow -1 so that the > @@ -5131,7 +5131,7 @@ static bool > can_use_cdx_ldstw (int regno, int basereg, int offset) > { > if (CDX_REG_P (regno) && CDX_REG_P (basereg) > - && (offset & 0x3) == 0 && 0 <= offset && offset < 0x40) > + && (offset & 0x3) == 0 && offset >= 0 && offset < 0x40) > return true; > else if (basereg == SP_REGNO > && offset >= 0 && offset < 0x80 && (offset & 0x3) == 0) > --- gcc/config/nios2/nios2.h.jj 2017-10-30 12:02:36.000000000 +0100 > +++ gcc/config/nios2/nios2.h 2017-12-19 14:26:31.779644510 +0100 > @@ -221,7 +221,7 @@ enum reg_class > ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD) > > #define CDX_REG_P(REGNO) \ > - ((REGNO) == 16 || (REGNO) == 17 || (2 <= (REGNO) && (REGNO) <= 7)) > + ((REGNO) == 16 || (REGNO) == 17 || ((REGNO) >= 2 && (REGNO) <= 7)) > > /* Tests for various kinds of constants used in the Nios II port. */ > > --- gcc/config/cr16/cr16.h.jj 2017-11-13 09:31:34.000000000 +0100 > +++ gcc/config/cr16/cr16.h 2017-12-19 14:11:59.820689479 +0100 > @@ -233,7 +233,7 @@ while (0) > /* A C expression whose value is RTL representing the value of the return > address for the frame COUNT steps up from the current frame. */ > #define RETURN_ADDR_RTX(COUNT, FRAME) > \ > - (0 == COUNT) ? gen_rtx_PLUS (Pmode, gen_rtx_RA, gen_rtx_RA) > \ > + (COUNT == 0) ? gen_rtx_PLUS (Pmode, gen_rtx_RA, gen_rtx_RA) > \ > : const0_rtx > > enum reg_class > @@ -293,7 +293,7 @@ enum reg_class > (CR16_REGNO_OK_FOR_BASE_P(REGNO) && \ > ((GET_MODE_SIZE (MODE) > 4 && \ > (REGNO) < CR16_FIRST_DWORD_REGISTER) \ > - ? (0 == ((REGNO) & 1)) \ > + ? (((REGNO) & 1) == 0) \ > : 1)) > > /* TODO: For now lets not support index addressing mode. */ > --- gcc/config/cr16/cr16.md.jj 2017-01-01 12:45:42.000000000 +0100 > +++ gcc/config/cr16/cr16.md 2017-12-19 14:13:47.569321507 +0100 > @@ -655,8 +655,8 @@ (define_insn "*mov<mode>_double" > || register_operand (operands[1], DImode) > || register_operand (operands[1], DFmode)" > { > - if (0 == which_alternative) { > - rtx xoperands[2] ; > + if (which_alternative == 0) { > + rtx xoperands[2]; > int reg0 = REGNO (operands[0]); > int reg1 = REGNO (operands[1]); > > @@ -673,9 +673,9 @@ (define_insn "*mov<mode>_double" > output_asm_insn ("movd\t%1, %0", operands); > }} > > - else if (1 == which_alternative) { > - rtx lo_operands[2] ; > - rtx hi_operands[2] ; > + else if (which_alternative == 1) { > + rtx lo_operands[2]; > + rtx hi_operands[2]; > > lo_operands[0] = gen_rtx_REG (SImode, REGNO (operands[0])); > hi_operands[0] = gen_rtx_REG (SImode, REGNO (operands[0]) + 2); > @@ -688,40 +688,40 @@ (define_insn "*mov<mode>_double" > output_asm_insn ("movd\t%1, %0", lo_operands); > output_asm_insn ("movd\t%1, %0", hi_operands);} > > - else if (2 == which_alternative) { > - rtx xoperands[2] ; > - int reg0 = REGNO (operands[0]), reg1 = -2 ; > - rtx addr ; > + else if (which_alternative == 2) { > + rtx xoperands[2]; > + int reg0 = REGNO (operands[0]), reg1 = -2; > + rtx addr; > > if (MEM_P (operands[1])) > addr = XEXP (operands[1], 0); > else > - addr = NULL_RTX ; > + addr = NULL_RTX; > switch (GET_CODE (addr)) > { > case REG: > case SUBREG: > reg1 = REGNO (addr); > - break ; > + break; > case PLUS: > switch (GET_CODE (XEXP (addr, 0))) { > case REG: > case SUBREG: > reg1 = REGNO (XEXP (addr, 0)); > - break ; > + break; > case PLUS: > reg1 = REGNO (XEXP (XEXP (addr, 0), 0)); > - break ; > + break; > default: > inform (DECL_SOURCE_LOCATION (cfun->decl), "unexpected > expression; addr:"); > debug_rtx (addr); > inform (DECL_SOURCE_LOCATION (cfun->decl), "operands[1]:"); > debug_rtx (operands[1]); > inform (DECL_SOURCE_LOCATION (cfun->decl), "generated code > might now work\n"); > - break ;} > - break ; > + break;} > + break; > default: > - break ; > + break; > } > > xoperands[0] = gen_rtx_REG (SImode, reg0 + 2); > @@ -739,13 +739,13 @@ (define_insn "*mov<mode>_double" > }} > else > { > - rtx xoperands[2] ; > + rtx xoperands[2]; > xoperands[0] = offset_address (operands[0], GEN_INT (4), 2); > xoperands[1] = gen_rtx_REG (SImode, REGNO (operands[1]) + 2); > output_asm_insn ("stord\t%1, %0", operands); > output_asm_insn ("stord\t%1, %0", xoperands); > } > - return "" ; > + return ""; > } > [(set_attr "length" "4, <lImmArithD>, <lImmArithD>, <lImmArithD>")] > ) > --- gcc/config/cr16/cr16.c.jj 2017-12-18 14:57:35.000000000 +0100 > +++ gcc/config/cr16/cr16.c 2017-12-19 14:11:24.472138262 +0100 > @@ -1859,10 +1859,10 @@ cr16_create_dwarf_for_multi_push (rtx in > > for (i = current_frame_info.last_reg_to_save; i >= 0;) > { > - if (!current_frame_info.save_regs[i] || 0 == i || split_here) > + if (!current_frame_info.save_regs[i] || i == 0 || split_here) > { > /* This block of regs is pushed in one instruction. */ > - if (0 == i && current_frame_info.save_regs[i]) > + if (i == 0 && current_frame_info.save_regs[i]) > from = 0; > > for (j = to; j >= from; --j) > --- gcc/config/h8300/h8300.c.jj 2017-12-18 14:57:35.000000000 +0100 > +++ gcc/config/h8300/h8300.c 2017-12-19 14:19:44.565798781 +0100 > @@ -1267,7 +1267,7 @@ h8300_rtx_costs (rtx x, machine_mode mod > *total = 0; > return true; > } > - if (-4 <= n && n <= 4) > + if (n >= -4 && n <= 4) > { > switch ((int) n) > { > @@ -4171,7 +4171,7 @@ get_shift_alg (enum shift_type shift_typ > goto end; > } > } > - else if ((8 <= count && count <= 13) > + else if ((count >= 8 && count <= 13) > || (TARGET_H8300S && count == 14)) > { > info->remainder = count - 8; > @@ -4251,7 +4251,7 @@ get_shift_alg (enum shift_type shift_typ > gcc_unreachable (); > > case SIshift: > - if (TARGET_H8300 && 8 <= count && count <= 9) > + if (TARGET_H8300 && count >= 8 && count <= 9) > { > info->remainder = count - 8; > > @@ -4314,9 +4314,9 @@ get_shift_alg (enum shift_type shift_typ > gcc_unreachable (); > } > } > - else if ((TARGET_H8300 && 16 <= count && count <= 20) > - || (TARGET_H8300H && 16 <= count && count <= 19) > - || (TARGET_H8300S && 16 <= count && count <= 21)) > + else if ((TARGET_H8300 && count >= 16 && count <= 20) > + || (TARGET_H8300H && count >= 16 && count <= 19) > + || (TARGET_H8300S && count >= 16 && count <= 21)) > { > info->remainder = count - 16; > > @@ -4353,7 +4353,7 @@ get_shift_alg (enum shift_type shift_typ > goto end; > } > } > - else if (TARGET_H8300 && 24 <= count && count <= 28) > + else if (TARGET_H8300 && count >= 24 && count <= 28) > { > info->remainder = count - 24; > > @@ -4377,7 +4377,7 @@ get_shift_alg (enum shift_type shift_typ > } > } > else if ((TARGET_H8300H && count == 24) > - || (TARGET_H8300S && 24 <= count && count <= 25)) > + || (TARGET_H8300S && count >= 24 && count <= 25)) > { > info->remainder = count - 24; > > --- gcc/config/vax/constraints.md.jj 2017-01-01 12:45:43.000000000 +0100 > +++ gcc/config/vax/constraints.md 2017-12-19 14:28:30.429143525 +0100 > @@ -25,32 +25,32 @@ (define_constraint "Z0" > (define_constraint "U06" > "unsigned 6 bit value (0..63)" > (and (match_code "const_int") > - (match_test "0 <= ival && ival < 64"))) > + (match_test "ival >= 0 && ival < 64"))) > > (define_constraint "U08" > "Unsigned 8 bit value" > (and (match_code "const_int") > - (match_test "0 <= ival && ival < 256"))) > + (match_test "ival >= 0 && ival < 256"))) > > (define_constraint "U16" > "Unsigned 16 bit value" > (and (match_code "const_int") > - (match_test "0 <= ival && ival < 65536"))) > + (match_test "ival >= 0 && ival < 65536"))) > > (define_constraint "CN6" > "negative 6 bit value (-63..-1)" > (and (match_code "const_int") > - (match_test "-63 <= ival && ival < 0"))) > + (match_test "ival >= -63 && ival < 0"))) > > (define_constraint "S08" > "signed 8 bit value [old]" > (and (match_code "const_int") > - (match_test "-128 <= ival && ival < 128"))) > + (match_test "ival >= -128 && ival < 128"))) > > (define_constraint "S16" > "signed 16 bit value [old]" > (and (match_code "const_int") > - (match_test "-32768 <= ival && ival < 32768"))) > + (match_test "ival >= -32768 && ival < 32768"))) > > (define_constraint "I" > "Match a CONST_INT of 0 [old]" > --- gcc/config/vax/vax.c.jj 2017-12-18 14:57:35.000000000 +0100 > +++ gcc/config/vax/vax.c 2017-12-19 14:29:18.099540468 +0100 > @@ -2029,7 +2029,7 @@ adjacent_operands_p (rtx lo, rtx hi, mac > if (REG_P (lo)) > return mode == SImode && REGNO (lo) + 1 == REGNO (hi); > if (CONST_INT_P (lo)) > - return INTVAL (hi) == 0 && 0 <= INTVAL (lo) && INTVAL (lo) < 64; > + return INTVAL (hi) == 0 && UINTVAL (lo) < 64; > if (CONST_INT_P (lo)) > return mode != SImode; > > --- gcc/config/ft32/constraints.md.jj 2017-01-01 12:45:44.000000000 +0100 > +++ gcc/config/ft32/constraints.md 2017-12-19 14:14:45.445586713 +0100 > @@ -91,7 +91,7 @@ (define_constraint "x" > (define_constraint "L" > "A 16-bit unsigned constant, multiple of 4 (-65532..0)" > (and (match_code "const_int") > - (match_test "-65532 <= ival && ival <= 0 && (ival & 3) == 0"))) > + (match_test "ival >= -65532 && ival <= 0 && (ival & 3) == 0"))) > > (define_constraint "S" > "A 20-bit signed constant (-524288..524287)" > @@ -105,9 +105,9 @@ (define_constraint "S" > (define_constraint "b" > "A constant for a bitfield width (1..16)" > (and (match_code "const_int") > - (match_test "1 <= ival && ival <= 16"))) > + (match_test "ival >= 1 && ival <= 16"))) > > (define_constraint "KA" > "A 10-bit signed constant (-512..511)" > (and (match_code "const_int") > - (match_test "-512 <= ival && ival <= 511"))) > + (match_test "ival >= -512 && ival <= 511"))) > --- gcc/config/ft32/ft32.c.jj 2017-12-18 14:57:34.000000000 +0100 > +++ gcc/config/ft32/ft32.c 2017-12-19 14:15:57.748670927 +0100 > @@ -265,12 +265,12 @@ ft32_load_immediate (rtx dst, int32_t i) > { > char pattern[100]; > > - if ((-524288 <= i) && (i <= 524287)) > + if (i >= -524288 && i <= 524287) > { > sprintf (pattern, "ldk.l %%0,%d", i); > output_asm_insn (pattern, &dst); > } > - else if ((-536870912 <= i) && (i <= 536870911)) > + else if (i >= -536870912 && i <= 536870911) > { > ft32_load_immediate (dst, i >> 10); > sprintf (pattern, "ldl.l %%0,%%0,%d", i & 1023); > @@ -283,7 +283,7 @@ ft32_load_immediate (rtx dst, int32_t i) > for (rd = 1; rd < 32; rd++) > { > u = ((u >> 31) & 1) | (u << 1); > - if ((-524288 <= (int32_t) u) && ((int32_t) u <= 524287)) > + if ((int32_t) u >= -524288 && (int32_t) u <= 524287) > { > ft32_load_immediate (dst, (int32_t) u); > sprintf (pattern, "ror.l %%0,%%0,%d", rd); > @@ -496,7 +496,7 @@ ft32_expand_prologue (void) > } > } > > - if (65536 <= cfun->machine->size_for_adjusting_sp) > + if (cfun->machine->size_for_adjusting_sp >= 65536) > { > error ("stack frame must be smaller than 64K"); > return; > --- gcc/cfgexpand.c.jj 2017-12-18 14:57:24.000000000 +0100 > +++ gcc/cfgexpand.c 2017-12-19 14:32:54.590799955 +0100 > @@ -6102,7 +6102,7 @@ expand_stack_alignment (void) > gcc_assert ((stack_realign_drap != 0) == (drap_rtx != NULL)); > > /* Do nothing if NULL is returned, which means DRAP is not needed. */ > - if (NULL != drap_rtx) > + if (drap_rtx != NULL) > { > crtl->args.internal_arg_pointer = drap_rtx; > > --- gcc/gcse.c.jj 2017-03-03 13:23:59.000000000 +0100 > +++ gcc/gcse.c 2017-12-19 13:23:06.054986320 +0100 > @@ -1136,7 +1136,7 @@ insert_expr_in_table (rtx x, machine_mod > cur_expr = table->table[hash]; > found = 0; > > - while (cur_expr && 0 == (found = expr_equiv_p (cur_expr->expr, x))) > + while (cur_expr && (found = expr_equiv_p (cur_expr->expr, x)) == 0) > { > /* If the expression isn't found, save a pointer to the end of > the list. */ > --- gcc/cp/name-lookup.c.jj 2017-12-18 18:35:44.000000000 +0100 > +++ gcc/cp/name-lookup.c 2017-12-19 13:39:06.450758466 +0100 > @@ -5485,7 +5485,7 @@ get_std_name_hint (const char *name) > const size_t num_hints = sizeof (hints) / sizeof (hints[0]); > for (size_t i = 0; i < num_hints; i++) > { > - if (0 == strcmp (name, hints[i].name)) > + if (strcmp (name, hints[i].name) == 0) > return hints[i].header; > } > return NULL; > --- gcc/cp/class.c.jj 2017-11-22 21:37:46.000000000 +0100 > +++ gcc/cp/class.c 2017-12-19 13:38:11.136462656 +0100 > @@ -3276,12 +3276,14 @@ check_bitfield_decl (tree field) > && tree_int_cst_lt (TYPE_SIZE (type), w))) > warning_at (DECL_SOURCE_LOCATION (field), 0, > "width of %qD exceeds its type", field); > - else if (TREE_CODE (type) == ENUMERAL_TYPE > - && (0 > (compare_tree_int > - (w, TYPE_PRECISION (ENUM_UNDERLYING_TYPE (type)))))) > - warning_at (DECL_SOURCE_LOCATION (field), 0, > - "%qD is too small to hold all values of %q#T", > - field, type); > + else if (TREE_CODE (type) == ENUMERAL_TYPE) > + { > + int prec = TYPE_PRECISION (ENUM_UNDERLYING_TYPE (type)); > + if (compare_tree_int (w, prec) < 0) > + warning_at (DECL_SOURCE_LOCATION (field), 0, > + "%qD is too small to hold all values of %q#T", > + field, type); > + } > } > > if (w != error_mark_node) > --- gcc/cp/pt.c.jj 2017-12-18 18:35:44.000000000 +0100 > +++ gcc/cp/pt.c 2017-12-19 13:39:28.208481475 +0100 > @@ -7838,7 +7838,7 @@ convert_template_argument (tree parm, > if (innertype > && TREE_CODE (innertype) == REFERENCE_TYPE > && TREE_CODE (TREE_TYPE (innertype)) == FUNCTION_TYPE > - && 0 < TREE_OPERAND_LENGTH (inner) > + && TREE_OPERAND_LENGTH (inner) > 0 > && reject_gcc_builtin (TREE_OPERAND (inner, 0))) > return error_mark_node; > } > --- gcc/cp/decl.c.jj 2017-12-15 22:39:57.000000000 +0100 > +++ gcc/cp/decl.c 2017-12-19 13:38:42.713060664 +0100 > @@ -1858,8 +1858,8 @@ next_arg:; > t1 = TREE_CHAIN (t1), t2 = TREE_CHAIN (t2), i++) > if (TREE_PURPOSE (t1) && TREE_PURPOSE (t2)) > { > - if (1 == simple_cst_equal (TREE_PURPOSE (t1), > - TREE_PURPOSE (t2))) > + if (simple_cst_equal (TREE_PURPOSE (t1), > + TREE_PURPOSE (t2)) == 1) > { > if (permerror (input_location, > "default argument given for parameter " > --- gcc/cp/typeck.c.jj 2017-12-14 21:11:44.000000000 +0100 > +++ gcc/cp/typeck.c 2017-12-19 13:39:49.644208582 +0100 > @@ -214,7 +214,7 @@ commonparms (tree p1, tree p2) > } > else > { > - if (1 != simple_cst_equal (TREE_PURPOSE (p1), TREE_PURPOSE (p2))) > + if (simple_cst_equal (TREE_PURPOSE (p1), TREE_PURPOSE (p2)) != 1) > any_change = 1; > TREE_PURPOSE (n) = TREE_PURPOSE (p2); > } > --- gcc/print-rtl.c.jj 2017-12-12 09:48:26.000000000 +0100 > +++ gcc/print-rtl.c 2017-12-19 14:35:14.752020933 +0100 > @@ -346,7 +346,7 @@ rtx_writer::print_rtx_operand_codes_E_an > m_sawclose = 0; > } > fputs (" [", m_outfile); > - if (NULL != XVEC (in_rtx, idx)) > + if (XVEC (in_rtx, idx) != NULL) > { > m_indent += 2; > if (XVECLEN (in_rtx, idx)) > --- gcc/cgraphunit.c.jj 2017-11-15 09:38:23.000000000 +0100 > +++ gcc/cgraphunit.c 2017-12-19 13:11:35.287778938 +0100 > @@ -2155,8 +2155,8 @@ cgraph_node::expand (void) > > if (ret_type && TYPE_SIZE_UNIT (ret_type) > && TREE_CODE (TYPE_SIZE_UNIT (ret_type)) == INTEGER_CST > - && 0 < compare_tree_int (TYPE_SIZE_UNIT (ret_type), > - larger_than_size)) > + && compare_tree_int (TYPE_SIZE_UNIT (ret_type), > + larger_than_size) > 0) > { > unsigned int size_as_int > = TREE_INT_CST_LOW (TYPE_SIZE_UNIT (ret_type)); > --- gcc/ira-build.c.jj 2017-11-03 20:03:45.000000000 +0100 > +++ gcc/ira-build.c 2017-12-19 13:26:07.363677658 +0100 > @@ -2756,8 +2756,8 @@ setup_min_max_allocno_live_range_point ( > #ifdef ENABLE_IRA_CHECKING > FOR_EACH_OBJECT (obj, oi) > { > - if ((0 <= OBJECT_MIN (obj) && OBJECT_MIN (obj) <= ira_max_point) > - && (0 <= OBJECT_MAX (obj) && OBJECT_MAX (obj) <= ira_max_point)) > + if ((OBJECT_MIN (obj) >= 0 && OBJECT_MIN (obj) <= ira_max_point) > + && (OBJECT_MAX (obj) >= 0 && OBJECT_MAX (obj) <= ira_max_point)) > continue; > gcc_unreachable (); > } > --- gcc/ada/gcc-interface/trans.c.jj 2017-12-14 21:11:44.000000000 +0100 > +++ gcc/ada/gcc-interface/trans.c 2017-12-19 14:00:46.546238596 +0100 > @@ -3190,7 +3190,7 @@ Loop_Statement_to_gnu (Node_Id gnat_node > > /* Note that loop unswitching can only be applied a small number of > times to a given loop (PARAM_MAX_UNSWITCH_LEVEL default to 3). */ > - if (0 < n_remaining_checks && n_remaining_checks <= 3 > + if (n_remaining_checks > 0 && n_remaining_checks <= 3 > && optimize > 1 && !optimize_size) > FOR_EACH_VEC_ELT (*gnu_loop_info->checks, i, rci) > if (rci->invariant_cond != boolean_false_node) > --- gcc/ada/gcc-interface/misc.c.jj 2017-12-14 21:11:44.000000000 +0100 > +++ gcc/ada/gcc-interface/misc.c 2017-12-19 14:00:30.169446577 +0100 > @@ -953,7 +953,7 @@ gnat_get_array_descr_info (const_tree co > structure. */ > for (i = (convention_fortran_p ? info->ndimensions - 1 : 0), > dimen = first_dimen; > - 0 <= i && i < info->ndimensions; > + i >= 0 && i < info->ndimensions; > i += (convention_fortran_p ? -1 : 1), > dimen = TREE_TYPE (dimen)) > { > @@ -1146,8 +1146,8 @@ default_pass_by_ref (tree gnu_type) > > if (AGGREGATE_TYPE_P (gnu_type) > && (!valid_constant_size_p (TYPE_SIZE_UNIT (gnu_type)) > - || 0 < compare_tree_int (TYPE_SIZE_UNIT (gnu_type), > - TYPE_ALIGN (gnu_type)))) > + || compare_tree_int (TYPE_SIZE_UNIT (gnu_type), > + TYPE_ALIGN (gnu_type)) > 0)) > return true; > > if (pass_by_reference (NULL, TYPE_MODE (gnu_type), gnu_type, true)) > --- gcc/ada/gcc-interface/decl.c.jj 2017-12-14 21:11:44.000000000 +0100 > +++ gcc/ada/gcc-interface/decl.c 2017-12-19 13:59:54.744896460 +0100 > @@ -2111,7 +2111,7 @@ gnat_to_gnu_entity (Entity_Id gnat_entit > index to the template. */ > for (index = (convention_fortran_p ? ndim - 1 : 0), > gnat_index = First_Index (gnat_entity); > - 0 <= index && index < ndim; > + index >= 0 && index < ndim; > index += (convention_fortran_p ? - 1 : 1), > gnat_index = Next_Index (gnat_index)) > { > @@ -2362,7 +2362,7 @@ gnat_to_gnu_entity (Entity_Id gnat_entit > gnat_index = First_Index (gnat_entity), > gnat_base_index > = First_Index (Implementation_Base_Type (gnat_entity)); > - 0 <= index && index < ndim; > + index >= 0 && index < ndim; > index += (convention_fortran_p ? - 1 : 1), > gnat_index = Next_Index (gnat_index), > gnat_base_index = Next_Index (gnat_base_index)) > --- gcc/ada/adaint.c.jj 2017-11-08 21:14:34.000000000 +0100 > +++ gcc/ada/adaint.c 2017-12-19 13:33:47.093824108 +0100 > @@ -1221,7 +1221,7 @@ __gnat_tmp_name (char *tmp_filename) > > /* Fill up the name buffer from the last position. */ > seed++; > - for (t = seed; 0 <= --index; t >>= 3) > + for (t = seed; --index >= 0; t >>= 3) > *--pos = '0' + (t & 07); > > /* Check to see if its unique, if not bump the seed and try again. */ > --- gcc/emit-rtl.c.jj 2017-12-18 14:57:24.000000000 +0100 > +++ gcc/emit-rtl.c 2017-12-19 14:34:04.891907645 +0100 > @@ -4047,7 +4047,7 @@ add_insn (rtx_insn *insn) > { > rtx_insn *prev = get_last_insn (); > link_insn_into_chain (insn, prev, NULL); > - if (NULL == get_insns ()) > + if (get_insns () == NULL) > set_first_insn (insn); > set_last_insn (insn); > } > --- gcc/input.c.jj 2017-09-01 09:25:44.000000000 +0200 > +++ gcc/input.c 2017-12-19 13:25:22.114253833 +0100 > @@ -1117,7 +1117,7 @@ dump_location_info (FILE *stream) > expanded_location exploc > = linemap_expand_location (line_table, map, loc); > > - if (0 == exploc.column) > + if (exploc.column == 0) > { > /* Beginning of a new source line: draw the line. */ > > --- gcc/passes.c.jj 2017-10-11 22:37:55.000000000 +0200 > +++ gcc/passes.c 2017-12-19 14:34:51.325318280 +0100 > @@ -1584,7 +1584,7 @@ pass_manager::pass_manager (context *ctx > > #define NEXT_PASS(PASS, NUM) \ > do { \ > - gcc_assert (NULL == PASS ## _ ## NUM); \ > + gcc_assert (PASS ## _ ## NUM == NULL); \ > if ((NUM) == 1) \ > PASS ## _1 = make_##PASS (m_ctxt); \ > else \ > --- gcc/read-rtl-function.c.jj 2017-06-12 12:41:58.000000000 +0200 > +++ gcc/read-rtl-function.c 2017-12-19 13:28:00.110242019 +0100 > @@ -321,7 +321,7 @@ static int > parse_note_insn_name (const char *string) > { > for (int i = 0; i < NOTE_INSN_MAX; i++) > - if (0 == strcmp (string, GET_NOTE_INSN_NAME (i))) > + if (strcmp (string, GET_NOTE_INSN_NAME (i)) == 0) > return i; > fatal_with_file_and_line ("unrecognized NOTE_INSN name: `%s'", string); > } > @@ -1079,7 +1079,7 @@ function_reader::read_rtx_operand_r (rtx > "orig:%i", ORIGINAL_REGNO (rtx). > Consume it, we don't set ORIGINAL_REGNO, since we can > get that from the 2nd copy later. */ > - if (0 == strncmp (desc, "orig:", 5)) > + if (strncmp (desc, "orig:", 5) == 0) > { > expect_original_regno = true; > desc_start += 5; > @@ -1312,7 +1312,7 @@ function_reader::parse_mem_expr (const c > { > tree fndecl = cfun->decl; > > - if (0 == strcmp (desc, "<retval>")) > + if (strcmp (desc, "<retval>") == 0) > return DECL_RESULT (fndecl); > > tree param = find_param_by_name (fndecl, desc); > --- gcc/sched-rgn.c.jj 2017-09-22 20:51:51.000000000 +0200 > +++ gcc/sched-rgn.c 2017-12-19 13:30:48.401099117 +0100 > @@ -3258,10 +3258,10 @@ sched_rgn_init (bool single_blocks_p) > free_dominance_info (CDI_DOMINATORS); > } > > - gcc_assert (0 < nr_regions && nr_regions <= n_basic_blocks_for_fn (cfun)); > + gcc_assert (nr_regions > 0 && nr_regions <= n_basic_blocks_for_fn (cfun)); > > - RGN_BLOCKS (nr_regions) = (RGN_BLOCKS (nr_regions - 1) + > - RGN_NR_BLOCKS (nr_regions - 1)); > + RGN_BLOCKS (nr_regions) = (RGN_BLOCKS (nr_regions - 1) > + + RGN_NR_BLOCKS (nr_regions - 1)); > nr_regions_initial = nr_regions; > } > > --- gcc/diagnostic-show-locus.c.jj 2017-11-29 08:59:18.000000000 +0100 > +++ gcc/diagnostic-show-locus.c 2017-12-19 13:12:21.864186783 +0100 > @@ -1866,7 +1866,7 @@ layout::show_ruler (int max_column) cons > { > pp_space (m_pp); > for (int column = 1 + m_x_offset; column <= max_column; column++) > - if (0 == column % 10) > + if (column % 10 == 0) > pp_character (m_pp, '0' + (column / 100) % 10); > else > pp_space (m_pp); > @@ -1876,7 +1876,7 @@ layout::show_ruler (int max_column) cons > /* Tens. */ > pp_space (m_pp); > for (int column = 1 + m_x_offset; column <= max_column; column++) > - if (0 == column % 10) > + if (column % 10 == 0) > pp_character (m_pp, '0' + (column / 10) % 10); > else > pp_space (m_pp); > --- gcc/combine.c.jj 2017-12-18 14:57:24.000000000 +0100 > +++ gcc/combine.c 2017-12-19 13:09:36.020295260 +0100 > @@ -5083,9 +5083,9 @@ find_split_point (rtx *loc, rtx_insn *in > is known to be on, this can be converted into a NEG of a shift. */ > if (STORE_FLAG_VALUE == -1 && XEXP (SET_SRC (x), 1) == const0_rtx > && GET_MODE (SET_SRC (x)) == GET_MODE (XEXP (SET_SRC (x), 0)) > - && 1 <= (pos = exact_log2 > - (nonzero_bits (XEXP (SET_SRC (x), 0), > - GET_MODE (XEXP (SET_SRC (x), 0)))))) > + && ((pos = exact_log2 (nonzero_bits (XEXP (SET_SRC (x), 0), > + GET_MODE (XEXP (SET_SRC (x), > + 0))))) >= 1)) > { > machine_mode mode = GET_MODE (XEXP (SET_SRC (x), 0)); > > @@ -6680,7 +6680,7 @@ simplify_if_then_else (rtx x) > && XEXP (cond, 1) == const0_rtx > && false_rtx == const0_rtx > && CONST_INT_P (true_rtx) > - && ((1 == nonzero_bits (XEXP (cond, 0), int_mode) > + && ((nonzero_bits (XEXP (cond, 0), int_mode) == 1 > && (i = exact_log2 (UINTVAL (true_rtx))) >= 0) > || ((num_sign_bit_copies (XEXP (cond, 0), int_mode) > == GET_MODE_PRECISION (int_mode)) > @@ -8637,9 +8637,9 @@ force_to_mode (rtx x, machine_mode mode, > if (GET_CODE (x) == SUBREG > && subreg_lowpart_p (x) > && (partial_subreg_p (x) > - || (0 == (mask > - & GET_MODE_MASK (GET_MODE (x)) > - & ~GET_MODE_MASK (GET_MODE (SUBREG_REG (x))))))) > + || (mask > + & GET_MODE_MASK (GET_MODE (x)) > + & ~GET_MODE_MASK (GET_MODE (SUBREG_REG (x)))) == 0)) > return force_to_mode (SUBREG_REG (x), mode, mask, next_select); > > scalar_int_mode int_mode, xmode; > @@ -9328,8 +9328,8 @@ if_then_else_cond (rtx x, rtx *ptrue, rt > /* If X is a SUBREG, we can narrow both the true and false values > if the inner expression, if there is a condition. */ > else if (code == SUBREG > - && 0 != (cond0 = if_then_else_cond (SUBREG_REG (x), > - &true0, &false0))) > + && (cond0 = if_then_else_cond (SUBREG_REG (x), &true0, > + &false0)) != 0) > { > true0 = simplify_gen_subreg (mode, true0, > GET_MODE (SUBREG_REG (x)), SUBREG_BYTE (x)); > @@ -10928,8 +10928,8 @@ simplify_shift_const_1 (enum rtx_code co > shift_unit_mode wider than result_mode. */ > && !(code == ASHIFTRT && GET_CODE (varop) == XOR > && int_result_mode != shift_unit_mode > - && 0 > trunc_int_for_mode (INTVAL (XEXP (varop, 1)), > - shift_unit_mode)) > + && trunc_int_for_mode (INTVAL (XEXP (varop, 1)), > + shift_unit_mode) < 0) > && (new_rtx = simplify_const_binary_operation > (code, int_result_mode, > gen_int_mode (INTVAL (XEXP (varop, 1)), int_result_mode), > @@ -10949,10 +10949,10 @@ simplify_shift_const_1 (enum rtx_code co > (ashiftrt (xor)) where we've widened the shift and the constant > changes the sign bit. */ > if (CONST_INT_P (XEXP (varop, 1)) > - && !(code == ASHIFTRT && GET_CODE (varop) == XOR > - && int_result_mode != shift_unit_mode > - && 0 > trunc_int_for_mode (INTVAL (XEXP (varop, 1)), > - shift_unit_mode))) > + && !(code == ASHIFTRT && GET_CODE (varop) == XOR > + && int_result_mode != shift_unit_mode > + && trunc_int_for_mode (INTVAL (XEXP (varop, 1)), > + shift_unit_mode) < 0)) > { > rtx lhs = simplify_shift_const (NULL_RTX, code, shift_unit_mode, > XEXP (varop, 0), count); > @@ -11061,10 +11061,10 @@ simplify_shift_const_1 (enum rtx_code co > else if ((code == ASHIFTRT || code == LSHIFTRT) > && count < HOST_BITS_PER_WIDE_INT > && HWI_COMPUTABLE_MODE_P (int_result_mode) > - && 0 == (nonzero_bits (XEXP (varop, 0), int_result_mode) > - >> count) > - && 0 == (nonzero_bits (XEXP (varop, 0), int_result_mode) > - & nonzero_bits (XEXP (varop, 1), int_result_mode))) > + && (nonzero_bits (XEXP (varop, 0), int_result_mode) > + >> count) == 0 > + && (nonzero_bits (XEXP (varop, 0), int_result_mode) > + & nonzero_bits (XEXP (varop, 1), int_result_mode)) == 0) > { > varop = XEXP (varop, 1); > continue; > @@ -12000,10 +12000,10 @@ simplify_comparison (enum rtx_code code, > && HWI_COMPUTABLE_MODE_P (GET_MODE (SUBREG_REG (inner_op0))) > && (GET_MODE (SUBREG_REG (inner_op0)) > == GET_MODE (SUBREG_REG (inner_op1))) > - && (0 == ((~c0) & nonzero_bits (SUBREG_REG (inner_op0), > - GET_MODE (SUBREG_REG > (inner_op0))))) > - && (0 == ((~c1) & nonzero_bits (SUBREG_REG (inner_op1), > - GET_MODE (SUBREG_REG > (inner_op1)))))) > + && ((~c0) & nonzero_bits (SUBREG_REG (inner_op0), > + GET_MODE (SUBREG_REG (inner_op0)))) == 0 > + && ((~c1) & nonzero_bits (SUBREG_REG (inner_op1), > + GET_MODE (SUBREG_REG (inner_op1)))) == > 0) > { > op0 = SUBREG_REG (inner_op0); > op1 = SUBREG_REG (inner_op1); > @@ -12339,8 +12339,8 @@ simplify_comparison (enum rtx_code code, > && (equality_comparison_p || unsigned_comparison_p) > /* (A - C1) zero-extends if it is positive and sign-extends > if it is negative, C2 both zero- and sign-extends. */ > - && ((0 == (nonzero_bits (a, inner_mode) > - & ~GET_MODE_MASK (mode)) > + && (((nonzero_bits (a, inner_mode) > + & ~GET_MODE_MASK (mode)) == 0 > && const_op >= 0) > /* (A - C1) sign-extends if it is positive and 1-extends > if it is negative, C2 both sign- and 1-extends. */ > @@ -12408,8 +12408,8 @@ simplify_comparison (enum rtx_code code, > this for equality comparisons due to pathological cases involving > overflows. */ > if (equality_comparison_p > - && 0 != (tem = simplify_binary_operation (MINUS, mode, > - op1, XEXP (op0, 1)))) > + && (tem = simplify_binary_operation (MINUS, mode, > + op1, XEXP (op0, 1))) != 0) > { > op0 = XEXP (op0, 0); > op1 = tem; > @@ -12437,8 +12437,8 @@ simplify_comparison (enum rtx_code code, > this for equality comparisons due to pathological cases involving > overflows. */ > if (equality_comparison_p > - && 0 != (tem = simplify_binary_operation (PLUS, mode, > - XEXP (op0, 1), op1))) > + && (tem = simplify_binary_operation (PLUS, mode, > + XEXP (op0, 1), op1)) != 0) > { > op0 = XEXP (op0, 0); > op1 = tem; > @@ -12446,8 +12446,8 @@ simplify_comparison (enum rtx_code code, > } > > if (equality_comparison_p > - && 0 != (tem = simplify_binary_operation (MINUS, mode, > - XEXP (op0, 0), op1))) > + && (tem = simplify_binary_operation (MINUS, mode, > + XEXP (op0, 0), op1)) != 0) > { > op0 = XEXP (op0, 1); > op1 = tem; > @@ -12471,8 +12471,8 @@ simplify_comparison (enum rtx_code code, > /* (eq (xor A B) C) -> (eq A (xor B C)). This is a simplification > if C is zero or B is a constant. */ > if (equality_comparison_p > - && 0 != (tem = simplify_binary_operation (XOR, mode, > - XEXP (op0, 1), op1))) > + && (tem = simplify_binary_operation (XOR, mode, > + XEXP (op0, 1), op1)) != 0) > { > op0 = XEXP (op0, 0); > op1 = tem; > --- gcc/explow.c.jj 2017-12-14 09:10:45.000000000 +0100 > +++ gcc/explow.c 2017-12-19 14:41:00.300634373 +0100 > @@ -210,8 +210,8 @@ eliminate_constant_term (rtx x, rtx *con > > /* First handle constants appearing at this level explicitly. */ > if (CONST_INT_P (XEXP (x, 1)) > - && 0 != (tem = simplify_binary_operation (PLUS, GET_MODE (x), > *constptr, > - XEXP (x, 1))) > + && (tem = simplify_binary_operation (PLUS, GET_MODE (x), *constptr, > + XEXP (x, 1))) != 0 > && CONST_INT_P (tem)) > { > *constptr = tem; > @@ -222,8 +222,8 @@ eliminate_constant_term (rtx x, rtx *con > x0 = eliminate_constant_term (XEXP (x, 0), &tem); > x1 = eliminate_constant_term (XEXP (x, 1), &tem); > if ((x1 != XEXP (x, 1) || x0 != XEXP (x, 0)) > - && 0 != (tem = simplify_binary_operation (PLUS, GET_MODE (x), > - *constptr, tem)) > + && (tem = simplify_binary_operation (PLUS, GET_MODE (x), > + *constptr, tem)) != 0 > && CONST_INT_P (tem)) > { > *constptr = tem; > --- gcc/c/c-typeck.c.jj 2017-12-14 21:11:43.000000000 +0100 > +++ gcc/c/c-typeck.c 2017-12-19 13:35:59.210142173 +0100 > @@ -1177,9 +1177,9 @@ comptypes_internal (const_tree type1, co > > /* Target types must match incl. qualifiers. */ > if (TREE_TYPE (t1) != TREE_TYPE (t2) > - && 0 == (val = comptypes_internal (TREE_TYPE (t1), TREE_TYPE (t2), > - enum_and_int_p, > - different_types_p))) > + && (val = comptypes_internal (TREE_TYPE (t1), TREE_TYPE (t2), > + enum_and_int_p, > + different_types_p)) == 0) > return 0; > > if (different_types_p != NULL > @@ -1662,8 +1662,8 @@ function_types_compatible_p (const_tree > compare that with the other type's arglist. > If they don't match, ask for a warning (but no error). */ > if (TYPE_ACTUAL_ARG_TYPES (f1) > - && 1 != type_lists_compatible_p (args2, TYPE_ACTUAL_ARG_TYPES (f1), > - enum_and_int_p, different_types_p)) > + && type_lists_compatible_p (args2, TYPE_ACTUAL_ARG_TYPES (f1), > + enum_and_int_p, different_types_p) != 1) > val = 2; > return val; > } > @@ -1672,8 +1672,8 @@ function_types_compatible_p (const_tree > if (!self_promoting_args_p (args1)) > return 0; > if (TYPE_ACTUAL_ARG_TYPES (f2) > - && 1 != type_lists_compatible_p (args1, TYPE_ACTUAL_ARG_TYPES (f2), > - enum_and_int_p, different_types_p)) > + && type_lists_compatible_p (args1, TYPE_ACTUAL_ARG_TYPES (f2), > + enum_and_int_p, different_types_p) != 1) > val = 2; > return val; > } > @@ -2121,8 +2121,8 @@ perform_integral_promotions (tree exp) > && DECL_C_BIT_FIELD (TREE_OPERAND (exp, 1)) > /* If it's thinner than an int, promote it like a > c_promoting_integer_type_p, otherwise leave it alone. */ > - && 0 > compare_tree_int (DECL_SIZE (TREE_OPERAND (exp, 1)), > - TYPE_PRECISION (integer_type_node))) > + && compare_tree_int (DECL_SIZE (TREE_OPERAND (exp, 1)), > + TYPE_PRECISION (integer_type_node)) < 0) > return convert (integer_type_node, exp); > > if (c_promoting_integer_type_p (type)) > @@ -7426,15 +7426,14 @@ digest_init (location_t init_loc, tree t > /* Subtract the size of a single (possibly wide) character > because it's ok to ignore the terminating null char > that is counted in the length of the constant. */ > - if (0 > compare_tree_int (TYPE_SIZE_UNIT (type), > - (len > - - (TYPE_PRECISION (typ1) > - / BITS_PER_UNIT)))) > + if (compare_tree_int (TYPE_SIZE_UNIT (type), > + (len - (TYPE_PRECISION (typ1) > + / BITS_PER_UNIT))) < 0) > pedwarn_init (init_loc, 0, > ("initializer-string for array of chars " > "is too long")); > else if (warn_cxx_compat > - && 0 > compare_tree_int (TYPE_SIZE_UNIT (type), len)) > + && compare_tree_int (TYPE_SIZE_UNIT (type), len) < 0) > warning_at (init_loc, OPT_Wc___compat, > ("initializer-string for array chars " > "is too long for C++")); > --- gcc/c/c-decl.c.jj 2017-12-12 12:34:41.000000000 +0100 > +++ gcc/c/c-decl.c 2017-12-19 13:34:25.951329424 +0100 > @@ -5473,7 +5473,7 @@ check_bitfield_type_and_width (location_ > > max_width = TYPE_PRECISION (*type); > > - if (0 < compare_tree_int (*width, max_width)) > + if (compare_tree_int (*width, max_width) > 0) > { > error_at (loc, "width of %qs exceeds its type", name); > w = max_width; > --- gcc/final.c.jj 2017-12-13 19:47:10.000000000 +0100 > +++ gcc/final.c 2017-12-19 14:34:26.496633423 +0100 > @@ -4513,11 +4513,9 @@ leaf_renumber_regs_insn (rtx in_rtx) > break; > > case 'E': > - if (NULL != XVEC (in_rtx, i)) > - { > - for (j = 0; j < XVECLEN (in_rtx, i); j++) > - leaf_renumber_regs_insn (XVECEXP (in_rtx, i, j)); > - } > + if (XVEC (in_rtx, i) != NULL) > + for (j = 0; j < XVECLEN (in_rtx, i); j++) > + leaf_renumber_regs_insn (XVECEXP (in_rtx, i, j)); > break; > > case 'S': > --- gcc/cfgrtl.c.jj 2017-12-12 09:48:28.000000000 +0100 > +++ gcc/cfgrtl.c 2017-12-19 14:33:15.820530493 +0100 > @@ -2194,7 +2194,7 @@ print_rtl_with_bb (FILE *outf, const rtx > } > } > > - for (tmp_rtx = rtx_first; NULL != tmp_rtx; tmp_rtx = NEXT_INSN > (tmp_rtx)) > + for (tmp_rtx = rtx_first; tmp_rtx != NULL; tmp_rtx = NEXT_INSN > (tmp_rtx)) > { > if (flags & TDF_BLOCKS) > { > --- gcc/genhooks.c.jj 2017-01-01 12:45:36.000000000 +0100 > +++ gcc/genhooks.c 2017-12-19 13:24:28.477936802 +0100 > @@ -323,7 +323,7 @@ emit_init_macros (const char *docname) > } > continue; > } > - if (0 == print_nest) > + if (print_nest == 0) > { > /* Output default definitions of target hooks. */ > printf ("#ifndef %s\n#define %s %s\n#endif\n", > --- gcc/jit/jit-playback.c.jj 2017-11-28 09:40:56.000000000 +0100 > +++ gcc/jit/jit-playback.c 2017-12-19 14:36:53.385769005 +0100 > @@ -211,10 +211,9 @@ playback::context:: > get_type (enum gcc_jit_types type_) > { > tree type_node = get_tree_node_for_type (type_); > - if (NULL == type_node) > + if (type_node == NULL) > { > - add_error (NULL, > - "unrecognized (enum gcc_jit_types) value: %i", type_); > + add_error (NULL, "unrecognized (enum gcc_jit_types) value: %i", type_); > return NULL; > } > > @@ -2049,7 +2048,7 @@ playback::compile_to_file::copy_file (co > /* Use stat on the filedescriptor to get the mode, > so that we can copy it over (in particular, the > "executable" bits). */ > - if (-1 == fstat (fileno (f_in), &stat_buf)) > + if (fstat (fileno (f_in), &stat_buf) == -1) > { > add_error (NULL, > "unable to fstat %s: %s", > @@ -2113,7 +2112,7 @@ playback::compile_to_file::copy_file (co > > /* Set the permissions of the copy to those of the original file, > in particular the "executable" bits. */ > - if (-1 == fchmod (fileno (f_out), stat_buf.st_mode)) > + if (fchmod (fileno (f_out), stat_buf.st_mode) == -1) > add_error (NULL, > "error setting mode of %s: %s", > dst_path, > @@ -2139,7 +2138,7 @@ playback::context::acquire_mutex () > /* Acquire the big GCC mutex. */ > JIT_LOG_SCOPE (get_logger ()); > pthread_mutex_lock (&jit_mutex); > - gcc_assert (NULL == active_playback_ctxt); > + gcc_assert (active_playback_ctxt == NULL); > active_playback_ctxt = this; > } > > --- gcc/jit/libgccjit.c.jj 2017-11-23 21:13:27.000000000 +0100 > +++ gcc/jit/libgccjit.c 2017-12-19 14:38:05.526853341 +0100 > @@ -592,7 +592,7 @@ gcc_jit_context_new_struct_type (gcc_jit > { > RETURN_NULL_IF_FAIL (fields[i], ctxt, loc, "NULL field ptr"); > RETURN_NULL_IF_FAIL_PRINTF2 ( > - NULL == fields[i]->get_container (), > + fields[i]->get_container () == NULL, > ctxt, loc, > "%s is already a field of %s", > fields[i]->get_debug_string (), > @@ -657,7 +657,7 @@ gcc_jit_struct_set_fields (gcc_jit_struc > JIT_LOG_FUNC (ctxt->get_logger ()); > /* LOC can be NULL. */ > RETURN_IF_FAIL_PRINTF1 ( > - NULL == struct_type->get_fields (), ctxt, loc, > + struct_type->get_fields () == NULL, ctxt, loc, > "%s already has had fields set", > struct_type->get_debug_string ()); > if (num_fields) > @@ -671,7 +671,7 @@ gcc_jit_struct_set_fields (gcc_jit_struc > struct_type->get_debug_string (), > i); > RETURN_IF_FAIL_PRINTF2 ( > - NULL == fields[i]->get_container (), > + fields[i]->get_container () == NULL, > ctxt, loc, > "%s is already a field of %s", > fields[i]->get_debug_string (), > @@ -706,7 +706,7 @@ gcc_jit_context_new_union_type (gcc_jit_ > { > RETURN_NULL_IF_FAIL (fields[i], ctxt, loc, "NULL field ptr"); > RETURN_NULL_IF_FAIL_PRINTF2 ( > - NULL == fields[i]->get_container (), > + fields[i]->get_container () == NULL, > ctxt, loc, > "%s is already a field of %s", > fields[i]->get_debug_string (), > @@ -880,7 +880,7 @@ gcc_jit_context_new_function (gcc_jit_co > ctxt, loc, > "NULL parameter %i creating function %s", i, name); > RETURN_NULL_IF_FAIL_PRINTF5 ( > - (NULL == params[i]->get_scope ()), > + params[i]->get_scope () == NULL, > ctxt, loc, > "parameter %i \"%s\"" > " (type: %s)" > @@ -2925,7 +2925,7 @@ gcc_jit_timer_pop (gcc_jit_timer *timer, > item_name); > > RETURN_IF_FAIL_PRINTF2 > - (0 == strcmp (item_name, top_item_name), NULL, NULL, > + (strcmp (item_name, top_item_name) == 0, NULL, NULL, > "mismatching item_name:" > " top of timing stack: \"%s\"," > " attempting to pop: \"%s\"", > --- gcc/jit/jit-builtins.c.jj 2017-09-14 22:15:10.000000000 +0200 > +++ gcc/jit/jit-builtins.c 2017-12-19 13:55:55.795930652 +0100 > @@ -76,24 +76,20 @@ matches_builtin (const char *in_name, > if (debug) > fprintf (stderr, "seen builtin: %s\n", bd.name); > > - if (0 == strcmp (bd.name, in_name)) > - { > - return true; > - } > + if (strcmp (bd.name, in_name) == 0) > + return true; > > if (bd.both_p) > { > /* Then the macros in builtins.def gave a "__builtin_" > prefix to bd.name, but we should also recognize the form > without the prefix. */ > - gcc_assert (0 == strncmp (bd.name, prefix, prefix_len)); > + gcc_assert (strncmp (bd.name, prefix, prefix_len) == 0); > if (debug) > fprintf (stderr, "testing without prefix as: %s\n", > bd.name + prefix_len); > - if (0 == strcmp (bd.name + prefix_len, in_name)) > - { > - return true; > - } > + if (strcmp (bd.name + prefix_len, in_name) == 0) > + return true; > } > > return false; > --- gcc/jit/jit-recording.c.jj 2017-11-30 23:46:35.000000000 +0100 > +++ gcc/jit/jit-recording.c 2017-12-19 14:37:22.591398307 +0100 > @@ -2987,7 +2987,7 @@ recording::compound_type::set_fields (lo > field **field_array) > { > m_loc = loc; > - gcc_assert (NULL == m_fields); > + gcc_assert (m_fields == NULL); > > m_fields = new fields (this, num_fields, field_array); > m_ctxt->record (m_fields); > @@ -3182,7 +3182,7 @@ void > recording::fields::write_reproducer (reproducer &r) > { > if (m_struct_or_union) > - if (NULL == m_struct_or_union->dyn_cast_struct ()) > + if (m_struct_or_union->dyn_cast_struct () == NULL) > /* We have a union; the fields have already been written by > union::write_reproducer. */ > return; > @@ -3370,7 +3370,7 @@ void > recording::rvalue::set_scope (function *scope) > { > gcc_assert (scope); > - gcc_assert (NULL == m_scope); > + gcc_assert (m_scope == NULL); > m_scope = scope; > } > > @@ -3750,7 +3750,7 @@ recording::function::validate () > /* Complain about empty functions with non-void return type. */ > if (m_kind != GCC_JIT_FUNCTION_IMPORTED > && m_return_type != m_ctxt->get_type (GCC_JIT_TYPE_VOID)) > - if (0 == m_blocks.length ()) > + if (m_blocks.length () == 0) > m_ctxt->add_error (m_loc, > "function %s returns non-void (type: %s)" > " but has no blocks", > @@ -3771,7 +3771,7 @@ recording::function::validate () > /* Check that all blocks are reachable. */ > if (!m_ctxt->get_inner_bool_option > (INNER_BOOL_OPTION_ALLOW_UNREACHABLE_BLOCKS) > - && m_blocks.length () > 0 && 0 == num_invalid_blocks) > + && m_blocks.length () > 0 && num_invalid_blocks == 0) > { > /* Iteratively walk the graph of blocks, marking their "m_is_reachable" > flag, starting at the initial block. */ > --- gcc/jit/jit-logging.c.jj 2017-01-01 12:45:46.000000000 +0100 > +++ gcc/jit/jit-logging.c 2017-12-19 13:56:14.113698094 +0100 > @@ -79,7 +79,7 @@ logger::decref (const char *reason) > if (m_log_refcount_changes) > log ("%s: reason: %s refcount now %i", > __PRETTY_FUNCTION__, reason, m_refcount); > - if (0 == m_refcount) > + if (m_refcount == 0) > delete this; > } > > --- gcc/poly-int.h.jj 2017-12-14 09:10:45.000000000 +0100 > +++ gcc/poly-int.h 2017-12-19 13:27:10.811869751 +0100 > @@ -1288,7 +1288,7 @@ maybe_ne (const Ca &a, const poly_int_po > { > if (N >= 2) > for (unsigned int i = 1; i < N; i++) > - if (0 != b.coeffs[i]) > + if (b.coeffs[i] != 0) > return true; > return a != b.coeffs[0]; > } > @@ -1337,7 +1337,7 @@ maybe_le (const Ca &a, const poly_int_po > { > if (N >= 2) > for (unsigned int i = 1; i < N; i++) > - if (0 < b.coeffs[i]) > + if (b.coeffs[i] > 0) > return true; > return a <= b.coeffs[0]; > } > @@ -1379,7 +1379,7 @@ maybe_lt (const Ca &a, const poly_int_po > { > if (N >= 2) > for (unsigned int i = 1; i < N; i++) > - if (0 < b.coeffs[i]) > + if (b.coeffs[i] > 0) > return true; > return a < b.coeffs[0]; > } > --- gcc/c-family/known-headers.cc.jj 2017-11-21 08:43:49.000000000 +0100 > +++ gcc/c-family/known-headers.cc 2017-12-19 13:57:46.749521970 +0100 > @@ -117,7 +117,7 @@ get_stdlib_header_for_name (const char * > }; > const size_t num_hints = sizeof (hints) / sizeof (hints[0]); > for (size_t i = 0; i < num_hints; i++) > - if (0 == strcmp (name, hints[i].name)) > + if (strcmp (name, hints[i].name) == 0) > return hints[i].header[lib]; > return NULL; > } > --- gcc/tree-data-ref.c.jj 2017-10-13 09:09:31.000000000 +0200 > +++ gcc/tree-data-ref.c 2017-12-19 13:32:43.137638316 +0100 > @@ -2665,7 +2665,7 @@ conflict_fn (unsigned n, ...) > conflict_function *ret = XCNEW (conflict_function); > va_list ap; > > - gcc_assert (0 < n && n <= MAX_DIM); > + gcc_assert (n > 0 && n <= MAX_DIM); > va_start (ap, n); > > ret->n = n; > --- gcc/selftest.c.jj 2017-12-12 09:48:26.000000000 +0100 > +++ gcc/selftest.c 2017-12-19 13:31:08.765839806 +0100 > @@ -79,7 +79,7 @@ assert_streq (const location &loc, > if (val_actual == NULL) > fail_formatted (loc, "ASSERT_STREQ (%s, %s) expected=\"%s\" actual=NULL", > desc_expected, desc_actual, val_expected); > - if (0 == strcmp (val_expected, val_actual)) > + if (strcmp (val_expected, val_actual) == 0) > pass (loc, "ASSERT_STREQ"); > else > fail_formatted (loc, "ASSERT_STREQ (%s, %s) expected=\"%s\" > actual=\"%s\"", > --- gcc/expr.c.jj 2017-12-18 14:57:20.000000000 +0100 > +++ gcc/expr.c 2017-12-19 13:17:22.300363459 +0100 > @@ -6123,8 +6123,8 @@ store_constructor_field (rtx target, uns > target > = adjust_address (target, > GET_MODE (target) == BLKmode > - || 0 != (bitpos > - % GET_MODE_ALIGNMENT (GET_MODE (target))) > + || (bitpos > + % GET_MODE_ALIGNMENT (GET_MODE (target))) != 0 > ? BLKmode : VOIDmode, bitpos / BITS_PER_UNIT); > > > @@ -10704,8 +10704,8 @@ expand_expr_real_1 (tree exp, rtx target > || (bitsize >= 0 > && TYPE_SIZE (TREE_TYPE (exp)) > && TREE_CODE (TYPE_SIZE (TREE_TYPE (exp))) == INTEGER_CST > - && 0 != compare_tree_int (TYPE_SIZE (TREE_TYPE (exp)), > - bitsize))) > + && compare_tree_int (TYPE_SIZE (TREE_TYPE (exp)), > + bitsize) != 0)) > { > machine_mode ext_mode = mode; > > --- gcc/fold-const.c.jj 2017-12-18 14:57:20.000000000 +0100 > +++ gcc/fold-const.c 2017-12-19 13:22:37.233353315 +0100 > @@ -5409,10 +5409,10 @@ fold_range_test (location_t loc, enum tr > if ((lhs == 0 || rhs == 0 || operand_equal_p (lhs, rhs, 0)) > && merge_ranges (&in_p, &low, &high, in0_p, low0, high0, > in1_p, low1, high1) > - && 0 != (tem = (build_range_check (loc, type, > - lhs != 0 ? lhs > - : rhs != 0 ? rhs : integer_zero_node, > - in_p, low, high)))) > + && (tem = (build_range_check (loc, type, > + lhs != 0 ? lhs > + : rhs != 0 ? rhs : integer_zero_node, > + in_p, low, high))) != 0) > { > if (strict_overflow_p) > fold_overflow_warning (warnmsg, WARN_STRICT_OVERFLOW_COMPARISON); > @@ -5442,12 +5442,12 @@ fold_range_test (location_t loc, enum tr > { > tree common = save_expr (lhs); > > - if (0 != (lhs = build_range_check (loc, type, common, > - or_op ? ! in0_p : in0_p, > - low0, high0)) > - && (0 != (rhs = build_range_check (loc, type, common, > - or_op ? ! in1_p : in1_p, > - low1, high1)))) > + if ((lhs = build_range_check (loc, type, common, > + or_op ? ! in0_p : in0_p, > + low0, high0)) != 0 > + && (rhs = build_range_check (loc, type, common, > + or_op ? ! in1_p : in1_p, > + low1, high1)) != 0) > { > if (strict_overflow_p) > fold_overflow_warning (warnmsg, > @@ -6146,10 +6146,9 @@ extract_muldiv_1 (tree t, tree c, enum t > if ((t2 = fold_convert (TREE_TYPE (op0), c)) != 0 > && TREE_CODE (t2) == INTEGER_CST > && !TREE_OVERFLOW (t2) > - && (0 != (t1 = extract_muldiv (op0, t2, code, > - code == MULT_EXPR > - ? ctype : NULL_TREE, > - strict_overflow_p)))) > + && (t1 = extract_muldiv (op0, t2, code, > + code == MULT_EXPR ? ctype : NULL_TREE, > + strict_overflow_p)) != 0) > return t1; > break; > > @@ -6217,10 +6216,9 @@ extract_muldiv_1 (tree t, tree c, enum t > so check for it explicitly here. */ > && wi::gtu_p (TYPE_PRECISION (TREE_TYPE (size_one_node)), > wi::to_wide (op1)) > - && 0 != (t1 = fold_convert (ctype, > - const_binop (LSHIFT_EXPR, > - size_one_node, > - op1))) > + && (t1 = fold_convert (ctype, > + const_binop (LSHIFT_EXPR, size_one_node, > + op1))) != 0 > && !TREE_OVERFLOW (t1)) > return extract_muldiv (build2 (tcode == LSHIFT_EXPR > ? MULT_EXPR : FLOOR_DIV_EXPR, > @@ -8040,7 +8038,7 @@ fold_truth_andor (location_t loc, enum t > } > > /* See if we can build a range comparison. */ > - if (0 != (tem = fold_range_test (loc, code, type, op0, op1))) > + if ((tem = fold_range_test (loc, code, type, op0, op1)) != 0) > return tem; > > if ((code == TRUTH_ANDIF_EXPR && TREE_CODE (arg0) == TRUTH_ORIF_EXPR) > @@ -8063,8 +8061,8 @@ fold_truth_andor (location_t loc, enum t > lhs is another similar operation, try to merge its rhs with our > rhs. Then try to merge our lhs and rhs. */ > if (TREE_CODE (arg0) == code > - && 0 != (tem = fold_truth_andor_1 (loc, code, type, > - TREE_OPERAND (arg0, 1), arg1))) > + && (tem = fold_truth_andor_1 (loc, code, type, > + TREE_OPERAND (arg0, 1), arg1)) != 0) > return fold_build2_loc (loc, code, type, TREE_OPERAND (arg0, 0), tem); > > if ((tem = fold_truth_andor_1 (loc, code, type, arg0, arg1)) != 0) > @@ -9526,8 +9524,8 @@ fold_binary_loc (location_t loc, enum tr > STRIP_NOPS (tree110); > STRIP_NOPS (tree111); > if (TREE_CODE (tree110) == INTEGER_CST > - && 0 == compare_tree_int (tree110, > - element_precision (rtype)) > + && compare_tree_int (tree110, > + element_precision (rtype)) == 0 > && operand_equal_p (tree01, tree111, 0)) > { > tem = build2_loc (loc, (code0 == LSHIFT_EXPR > @@ -9548,8 +9546,8 @@ fold_binary_loc (location_t loc, enum tr > STRIP_NOPS (tree111); > if (TREE_CODE (tree110) == NEGATE_EXPR > && TREE_CODE (tree111) == INTEGER_CST > - && 0 == compare_tree_int (tree111, > - element_precision (rtype) - 1) > + && compare_tree_int (tree111, > + element_precision (rtype) - 1) == 0 > && operand_equal_p (tree01, TREE_OPERAND (tree110, 0), 0)) > { > tem = build2_loc (loc, (code0 == LSHIFT_EXPR > @@ -9657,12 +9655,12 @@ fold_binary_loc (location_t loc, enum tr > /* Only do something if we found more than two objects. Otherwise, > nothing has changed and we risk infinite recursion. */ > if (ok > - && (2 < ((var0 != 0) + (var1 != 0) > - + (minus_var0 != 0) + (minus_var1 != 0) > - + (con0 != 0) + (con1 != 0) > - + (minus_con0 != 0) + (minus_con1 != 0) > - + (lit0 != 0) + (lit1 != 0) > - + (minus_lit0 != 0) + (minus_lit1 != 0)))) > + && ((var0 != 0) + (var1 != 0) > + + (minus_var0 != 0) + (minus_var1 != 0) > + + (con0 != 0) + (con1 != 0) > + + (minus_con0 != 0) + (minus_con1 != 0) > + + (lit0 != 0) + (lit1 != 0) > + + (minus_lit0 != 0) + (minus_lit1 != 0)) > 2) > { > var0 = associate_trees (loc, var0, var1, code, atype); > minus_var0 = associate_trees (loc, minus_var0, minus_var1, > @@ -9876,8 +9874,8 @@ fold_binary_loc (location_t loc, enum tr > > strict_overflow_p = false; > if (TREE_CODE (arg1) == INTEGER_CST > - && 0 != (tem = extract_muldiv (op0, arg1, code, NULL_TREE, > - &strict_overflow_p))) > + && (tem = extract_muldiv (op0, arg1, code, NULL_TREE, > + &strict_overflow_p)) != 0) > { > if (strict_overflow_p) > fold_overflow_warning (("assuming signed overflow does not " > @@ -10310,8 +10308,8 @@ fold_binary_loc (location_t loc, enum tr > > strict_overflow_p = false; > if (TREE_CODE (arg1) == INTEGER_CST > - && 0 != (tem = extract_muldiv (op0, arg1, code, NULL_TREE, > - &strict_overflow_p))) > + && (tem = extract_muldiv (op0, arg1, code, NULL_TREE, > + &strict_overflow_p)) != 0) > { > if (strict_overflow_p) > fold_overflow_warning (("assuming signed overflow does not occur " > @@ -10328,8 +10326,8 @@ fold_binary_loc (location_t loc, enum tr > case TRUNC_MOD_EXPR: > strict_overflow_p = false; > if (TREE_CODE (arg1) == INTEGER_CST > - && 0 != (tem = extract_muldiv (op0, arg1, code, NULL_TREE, > - &strict_overflow_p))) > + && (tem = extract_muldiv (op0, arg1, code, NULL_TREE, > + &strict_overflow_p)) != 0) > { > if (strict_overflow_p) > fold_overflow_warning (("assuming signed overflow does not occur " > @@ -10982,7 +10980,7 @@ fold_binary_loc (location_t loc, enum tr > && TREE_CODE (arg1) == INTEGER_CST > && TREE_CODE (arg0) == ABS_EXPR > && ! TREE_SIDE_EFFECTS (arg0) > - && (0 != (tem = negate_expr (arg1))) > + && (tem = negate_expr (arg1)) != 0 > && TREE_CODE (tem) == INTEGER_CST > && !TREE_OVERFLOW (tem)) > return fold_build2_loc (loc, TRUTH_ANDIF_EXPR, type, > @@ -12491,10 +12489,9 @@ multiple_of_p (tree type, const_tree top > so check for it explicitly here. */ > if (wi::gtu_p (TYPE_PRECISION (TREE_TYPE (size_one_node)), > wi::to_wide (op1)) > - && 0 != (t1 = fold_convert (type, > - const_binop (LSHIFT_EXPR, > - size_one_node, > - op1))) > + && (t1 = fold_convert (type, > + const_binop (LSHIFT_EXPR, size_one_node, > + op1))) != 0 > && !TREE_OVERFLOW (t1)) > return multiple_of_p (type, t1, bottom); > } > --- gcc/reload.c.jj 2017-09-15 17:10:57.000000000 +0200 > +++ gcc/reload.c 2017-12-19 13:29:54.332787587 +0100 > @@ -1532,8 +1532,8 @@ push_reload (rtx in, rtx out, rtx *inloc > value for the incoming operand (same as outgoing one). */ > if (rld[i].reg_rtx == out > && (REG_P (in) || CONSTANT_P (in)) > - && 0 != find_equiv_reg (in, this_insn, NO_REGS, REGNO (out), > - static_reload_reg_p, i, inmode)) > + && find_equiv_reg (in, this_insn, NO_REGS, REGNO (out), > + static_reload_reg_p, i, inmode) != 0) > rld[i].in = out; > } > > @@ -6750,9 +6750,8 @@ find_equiv_reg (rtx goal, rtx_insn *insn > && CONST_DOUBLE_AS_FLOAT_P (XEXP (tem, 0)) > && SCALAR_FLOAT_MODE_P (GET_MODE (XEXP (tem, 0))) > && CONST_INT_P (goal) > - && 0 != (goaltry > - = operand_subword (XEXP (tem, 0), 0, 0, > - VOIDmode)) > + && (goaltry = operand_subword (XEXP (tem, 0), 0, > + 0, VOIDmode)) != 0 > && rtx_equal_p (goal, goaltry) > && (valtry > = operand_subword (SET_DEST (pat), 0, 0, > @@ -6764,8 +6763,8 @@ find_equiv_reg (rtx goal, rtx_insn *insn > && CONST_DOUBLE_AS_FLOAT_P (XEXP (tem, 0)) > && SCALAR_FLOAT_MODE_P (GET_MODE (XEXP (tem, 0))) > && CONST_INT_P (goal) > - && 0 != (goaltry = operand_subword (XEXP (tem, 0), 1, 0, > - VOIDmode)) > + && (goaltry = operand_subword (XEXP (tem, 0), 1, 0, > + VOIDmode)) != 0 > && rtx_equal_p (goal, goaltry) > && (valtry > = operand_subword (SET_DEST (pat), 1, 0, VOIDmode)) > --- gcc/et-forest.c.jj 2017-01-01 12:45:36.000000000 +0100 > +++ gcc/et-forest.c 2017-12-19 13:15:17.689950164 +0100 > @@ -671,7 +671,7 @@ et_nca (struct et_node *n1, struct et_no > return NULL; > } > > - if (0 < o2->depth) > + if (o2->depth > 0) > { > om = o1; > mn = o1->depth; > @@ -743,7 +743,7 @@ et_below (struct et_node *down, struct e > return false; > } > > - if (0 >= d->depth) > + if (d->depth <= 0) > return false; > > return !d->next || d->next->min + d->depth >= 0; > --- gcc/dbxout.c.jj 2017-12-12 09:48:21.000000000 +0100 > +++ gcc/dbxout.c 2017-12-19 14:33:45.904148651 +0100 > @@ -3043,7 +3043,7 @@ dbxout_symbol_location (tree decl, tree > int offs; > letter = 'G'; > code = N_GSYM; > - if (NULL != dbxout_common_check (decl, &offs)) > + if (dbxout_common_check (decl, &offs) != NULL) > { > letter = 'V'; > addr = 0; > @@ -3097,7 +3097,7 @@ dbxout_symbol_location (tree decl, tree > { > int offs; > code = N_LCSYM; > - if (NULL != dbxout_common_check (decl, &offs)) > + if (dbxout_common_check (decl, &offs) != NULL) > { > addr = 0; > number = offs; > @@ -3196,7 +3196,7 @@ dbxout_symbol_location (tree decl, tree > int offs; > code = N_LCSYM; > letter = 'V'; > - if (NULL == dbxout_common_check (decl, &offs)) > + if (dbxout_common_check (decl, &offs) == NULL) > addr = XEXP (XEXP (home, 0), 0); > else > { > --- gcc/reorg.c.jj 2017-11-22 23:34:45.000000000 +0100 > +++ gcc/reorg.c 2017-12-19 13:30:13.328545707 +0100 > @@ -3205,7 +3205,7 @@ relax_delay_slots (rtx_insn *first) > && (other = prev_active_insn (insn)) != 0 > && any_condjump_p (other) > && no_labels_between_p (other, insn) > - && 0 > mostly_true_jump (other)) > + && mostly_true_jump (other) < 0) > { > rtx other_target = JUMP_LABEL (other); > target_label = JUMP_LABEL (insn); > --- gcc/dojump.c.jj 2017-09-01 09:26:27.000000000 +0200 > +++ gcc/dojump.c 2017-12-19 13:12:52.522797001 +0100 > @@ -1002,8 +1002,8 @@ do_compare_rtx_and_jump (rtx op0, rtx op > do_pending_stack_adjust (); > > code = unsignedp ? unsigned_condition (code) : code; > - if (0 != (tem = simplify_relational_operation (code, mode, VOIDmode, > - op0, op1))) > + if ((tem = simplify_relational_operation (code, mode, VOIDmode, > + op0, op1)) != 0) > { > if (CONSTANT_P (tem)) > { > --- gcc/fortran/scanner.c.jj 2017-10-17 09:24:04.000000000 +0200 > +++ gcc/fortran/scanner.c 2017-12-19 13:55:05.404570408 +0100 > @@ -2057,7 +2057,7 @@ preprocessor_line (gfc_char_t *c) > c++; > i = wide_atoi (c); > > - if (1 <= i && i <= 4) > + if (i >= 1 && i <= 4) > flag[i] = true; > } > > --- gcc/fortran/dependency.c.jj 2017-01-01 12:45:47.000000000 +0100 > +++ gcc/fortran/dependency.c 2017-12-19 14:35:52.124546575 +0100 > @@ -1431,17 +1431,17 @@ check_section_vs_section (gfc_array_ref > r_stride = r_ar->stride[n]; > > /* If l_start is NULL take it from array specifier. */ > - if (NULL == l_start && IS_ARRAY_EXPLICIT (l_ar->as)) > + if (l_start == NULL && IS_ARRAY_EXPLICIT (l_ar->as)) > l_start = l_ar->as->lower[n]; > /* If l_end is NULL take it from array specifier. */ > - if (NULL == l_end && IS_ARRAY_EXPLICIT (l_ar->as)) > + if (l_end == NULL && IS_ARRAY_EXPLICIT (l_ar->as)) > l_end = l_ar->as->upper[n]; > > /* If r_start is NULL take it from array specifier. */ > - if (NULL == r_start && IS_ARRAY_EXPLICIT (r_ar->as)) > + if (r_start == NULL && IS_ARRAY_EXPLICIT (r_ar->as)) > r_start = r_ar->as->lower[n]; > /* If r_end is NULL take it from array specifier. */ > - if (NULL == r_end && IS_ARRAY_EXPLICIT (r_ar->as)) > + if (r_end == NULL && IS_ARRAY_EXPLICIT (r_ar->as)) > r_end = r_ar->as->upper[n]; > > /* Determine whether the l_stride is positive or negative. */ > --- gcc/fortran/trans-array.c.jj 2017-12-01 22:13:19.000000000 +0100 > +++ gcc/fortran/trans-array.c 2017-12-19 14:36:24.045141417 +0100 > @@ -7003,7 +7003,7 @@ gfc_conv_expr_descriptor (gfc_se *se, gf > > /* Special case: TRANSPOSE which needs no temporary. */ > while (expr->expr_type == EXPR_FUNCTION && expr->value.function.isym > - && NULL != (arg = gfc_get_noncopying_intrinsic_argument (expr))) > + && (arg = gfc_get_noncopying_intrinsic_argument (expr)) != NULL) > { > /* This is a call to transpose which has already been handled by the > scalarizer, so that we just need to get its argument's descriptor. */ > --- gcc/gengtype-parse.c.jj 2017-01-01 12:45:35.000000000 +0100 > +++ gcc/gengtype-parse.c 2017-12-19 13:24:08.554190497 +0100 > @@ -948,9 +948,9 @@ type (options_p *optsp, bool nested) > advance (); > const char *basename = require (ID); > /* This may be either an access specifier, or the base name. */ > - if (0 == strcmp (basename, "public") > - || 0 == strcmp (basename, "protected") > - || 0 == strcmp (basename, "private")) > + if (strcmp (basename, "public") == 0 > + || strcmp (basename, "protected") == 0 > + || strcmp (basename, "private") == 0) > basename = require (ID); > base_class = find_structure (basename, TYPE_STRUCT); > if (!base_class) > --- gcc/simplify-rtx.c.jj 2017-12-18 14:57:24.000000000 +0100 > +++ gcc/simplify-rtx.c 2017-12-19 13:32:17.385966153 +0100 > @@ -400,8 +400,8 @@ simplify_gen_ternary (enum rtx_code code > rtx tem; > > /* If this simplifies, use it. */ > - if (0 != (tem = simplify_ternary_operation (code, mode, op0_mode, > - op0, op1, op2))) > + if ((tem = simplify_ternary_operation (code, mode, op0_mode, > + op0, op1, op2)) != 0) > return tem; > > return gen_rtx_fmt_eee (code, mode, op0, op1, op2); > @@ -416,8 +416,8 @@ simplify_gen_relational (enum rtx_code c > { > rtx tem; > > - if (0 != (tem = simplify_relational_operation (code, mode, cmp_mode, > - op0, op1))) > + if ((tem = simplify_relational_operation (code, mode, cmp_mode, > + op0, op1)) != 0) > return tem; > > return gen_rtx_fmt_ee (code, mode, op0, op1); > @@ -5148,7 +5148,7 @@ simplify_const_relational_operation (enu > && (code == EQ || code == NE) > && ! ((REG_P (op0) || CONST_INT_P (trueop0)) > && (REG_P (op1) || CONST_INT_P (trueop1))) > - && 0 != (tem = simplify_binary_operation (MINUS, mode, op0, op1)) > + && (tem = simplify_binary_operation (MINUS, mode, op0, op1)) != 0 > /* We cannot do this if tem is a nonzero address. */ > && ! nonzero_address_p (tem)) > return simplify_const_relational_operation (signed_condition (code), > --- gcc/reload1.c.jj 2017-12-14 16:25:10.000000000 +0100 > +++ gcc/reload1.c 2017-12-19 13:28:34.286806838 +0100 > @@ -8006,8 +8006,8 @@ do_output_reload (struct insn_chain *cha > /* Likewise for a SUBREG of an operand that dies. */ > else if (GET_CODE (old) == SUBREG > && REG_P (SUBREG_REG (old)) > - && 0 != (note = find_reg_note (insn, REG_UNUSED, > - SUBREG_REG (old)))) > + && (note = find_reg_note (insn, REG_UNUSED, > + SUBREG_REG (old))) != 0) > { > XEXP (note, 0) = gen_lowpart_common (GET_MODE (old), reg_rtx); > return; > --- gcc/dumpfile.c.jj 2017-07-03 19:03:29.000000000 +0200 > +++ gcc/dumpfile.c 2017-12-19 13:14:30.020557154 +0100 > @@ -251,7 +251,7 @@ gcc::dump_manager:: > get_dump_file_info_by_switch (const char *swtch) const > { > for (unsigned i = 0; i < m_extra_dump_files_in_use; i++) > - if (0 == strcmp (m_extra_dump_files[i].swtch, swtch)) > + if (strcmp (m_extra_dump_files[i].swtch, swtch) == 0) > return &m_extra_dump_files[i]; > > /* Not found. */ > --- gcc/gengtype.c.jj 2017-11-28 12:11:37.000000000 +0100 > +++ gcc/gengtype.c 2017-12-19 13:23:41.764531619 +0100 > @@ -671,7 +671,7 @@ type_for_name (const char *s) > extern GTY(()) gcc::some_type *some_ptr; > where the autogenerated functions will refer to simply "some_type", > where they can be resolved into their namespace. */ > - if (0 == strncmp (s, "gcc::", 5)) > + if (strncmp (s, "gcc::", 5) == 0) > s += 5; > > for (p = typedefs; p != NULL; p = p->next) > --- gcc/gimple-ssa-sprintf.c.jj 2017-12-14 12:00:32.000000000 +0100 > +++ gcc/gimple-ssa-sprintf.c 2017-12-19 12:19:10.975042433 +0100 > @@ -2854,7 +2854,7 @@ format_directive (const sprintf_dom_walk > > if (!warned > /* Only warn at level 2. */ > - && 1 < warn_level > + && warn_level > 1 > && (!minunder4k > || (!maxunder4k && fmtres.range.max < HOST_WIDE_INT_MAX))) > { > @@ -2902,7 +2902,7 @@ format_directive (const sprintf_dom_walk > /* Warn for the likely output size at level 1. */ > && (likelyximax > /* But only warn for the maximum at level 2. */ > - || (1 < warn_level > + || (warn_level > 1 > && maxximax > && fmtres.range.max < HOST_WIDE_INT_MAX))) > { > > Jakub > > -- Richard Biener <rguent...@suse.de> SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg)