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? 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