This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Replace Yoda conditions in gcc/


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  <jakub@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 <rguenther@suse.de>
SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]