On Mon, Mar 7, 2022 at 6:06 AM Jakub Jelinek via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
> Hi!
>
> Like in r10-7215-g700d4cb08c88aec37c13e21e63dd61fd698baabc 2 years ago,
> I've run
> grep -v 'long long\|optab optab\|template template\|double double' 
> *.{[chS],cc} */*.{[chS],cc} *.def config/*/* 2>/dev/null | grep ' 
> \([a-zA-Z]\+\) \1 '

Some small changes to this shell command for next time:
grep -vi 'long long\|optab optab\|template template\|double double'
*.{[chS],cc} */*.{[chS],cc} *.def config/*/* *.pd 2>/dev/null | grep
-i ' \([a-zA-Z]\+\) \1 '

Adding .pd and doing a case insensitive grep would have found the fix
I had committed at
https://gcc.gnu.org/pipermail/gcc-patches/2022-November/607425.html .
The case insensitive grep increases the number of false positives
though but I am not the best person for grep and the case where we had
"mode MODE" which shows up
in the comments of the function calls.

Thanks,
Andrew Pinski


> and for the cases that looked clearly wrong changed them, mostly by removing
> one of the duplicated words but in some cases with other changes.
>
> Committed to trunk as obvious.
>
> 2022-03-07  Jakub Jelinek  <ja...@redhat.com>
>
> gcc/
>         * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
>         * config/riscv/riscv.cc: Likewise.
>         * config/darwin.h: Likewise.
>         * config/i386/i386.cc: Likewise.
>         * config/aarch64/thunderx3t110.md: Likewise.
>         * config/aarch64/fractional-cost.h: Likewise.
>         * config/vax/vax.cc: Likewise.
>         * config/rs6000/pcrel-opt.md: Likewise.
>         * config/rs6000/predicates.md: Likewise.
>         * ctfc.h: Likewise.
>         * tree-ssa-uninit.cc: Likewise.
>         * value-relation.h: Likewise.
>         * gimple-range-gori.cc: Likewise.
>         * ipa-polymorphic-call.cc: Likewise.
>         * pointer-query.cc: Likewise.
>         * ipa-sra.cc: Likewise.
>         * internal-fn.cc: Likewise.
>         * varasm.cc: Likewise.
>         * gimple-ssa-warn-access.cc: Likewise.
> gcc/analyzer/
>         * store.cc: Fix up duplicated word issue in a comment.
>         * analyzer.cc: Likewise.
>         * engine.cc: Likewise.
>         * sm-taint.cc: Likewise.
> gcc/c-family/
>         * c-attribs.cc: Fix up duplicated word issue in a comment.
> gcc/cp/
>         * cvt.cc: Fix up duplicated word issue in a comment.
>         * pt.cc: Likewise.
>         * module.cc: Likewise.
>         * coroutines.cc: Likewise.
> gcc/fortran/
>         * trans-expr.cc: Fix up duplicated word issue in a comment.
>         * gfortran.h: Likewise.
>         * scanner.cc: Likewise.
> gcc/jit/
>         * libgccjit.h: Fix up duplicated word issue in a comment.
>
> --- gcc/tree-ssa-propagate.cc.jj        2022-01-18 11:59:00.090974799 +0100
> +++ gcc/tree-ssa-propagate.cc   2022-03-07 14:33:28.033829512 +0100
> @@ -697,7 +697,7 @@ private:
>                                  gimple_stmt_iterator new_gsi);
>  };
>
> -/* Call post_new_stmt for each each new statement that has been added
> +/* Call post_new_stmt for each new statement that has been added
>     to the current BB.  OLD_GSI is the statement iterator before the BB
>     changes ocurred.  NEW_GSI is the iterator which may contain new
>     statements.  */
> --- gcc/config/riscv/riscv.cc.jj        2022-02-04 14:36:54.467612813 +0100
> +++ gcc/config/riscv/riscv.cc   2022-03-07 14:50:54.717372413 +0100
> @@ -4984,7 +4984,7 @@ riscv_option_override (void)
>      target_flags |= MASK_FDIV;
>
>    /* Handle -mtune, use -mcpu if -mtune is not given, and use default -mtune
> -     if -mtune and -mcpu both not not given.  */
> +     if -mtune and -mcpu both not given.  */
>    cpu = riscv_parse_tune (riscv_tune_string ? riscv_tune_string :
>                           (riscv_cpu_string ? riscv_cpu_string :
>                            RISCV_TUNE_STRING_DEFAULT));
> --- gcc/config/darwin.h.jj      2022-01-18 11:58:59.078989257 +0100
> +++ gcc/config/darwin.h 2022-03-07 14:36:18.924463533 +0100
> @@ -340,7 +340,7 @@ extern GTY(()) int darwin_ms_struct;
>  " %:version-compare(>= 10.6 mmacosx-version-min= -no_compact_unwind) "
>
>  /* In Darwin linker specs we can put -lcrt0.o and ld will search the library
> -   path for crt0.o or -lcrtx.a and it will search for for libcrtx.a.  As for
> +   path for crt0.o or -lcrtx.a and it will search for libcrtx.a.  As for
>     other ports, we can also put xxx.{o,a}%s and get the appropriate complete
>     startfile absolute directory.  This latter point is important when we want
>     to override ld's rule of .dylib being found ahead of .a and the user wants
> --- gcc/config/i386/i386.cc.jj  2022-03-04 09:35:58.674788325 +0100
> +++ gcc/config/i386/i386.cc     2022-03-07 14:50:08.093016106 +0100
> @@ -20334,7 +20334,7 @@ ix86_division_cost (const struct process
>
>  /* Return cost of shift in MODE.
>     If CONSTANT_OP1 is true, the op1 value is known and set in OP1_VAL.
> -   AND_IN_OP1 specify in op1 is result of and and SHIFT_AND_TRUNCATE
> +   AND_IN_OP1 specify in op1 is result of AND and SHIFT_AND_TRUNCATE
>     if op1 is a result of subreg.
>
>     SKIP_OP0/1 is set to true if cost of OP0/1 should be ignored.  */
> --- gcc/config/aarch64/thunderx3t110.md.jj      2022-01-11 23:11:21.689300005 
> +0100
> +++ gcc/config/aarch64/thunderx3t110.md 2022-03-07 14:47:39.710064661 +0100
> @@ -138,7 +138,7 @@ (define_insn_reservation "thunderx3t110_
>                         logic_shift_imm,logics_shift_imm"))
>    "thunderx3t110_i01")
>
> -; we are going for the the optimistic answer (13)
> +; we are going for the optimistic answer (13)
>  ; for now, the worst case is 23
>  (define_insn_reservation "thunderx3t110_div" 13
>    (and (eq_attr "tune" "thunderx3t110")
> --- gcc/config/aarch64/fractional-cost.h.jj     2022-01-11 23:11:21.687300033 
> +0100
> +++ gcc/config/aarch64/fractional-cost.h        2022-03-07 14:47:16.847380301 
> +0100
> @@ -61,7 +61,7 @@ private:
>    constexpr fractional_cost (uint64_t value, raw) : m_value (value) {}
>
>    // A multiple of [1, 16] * 16.  This ensures that 1/N is representable
> -  // for every every possible SVE element count N, or for any "X per cycle"
> +  // for every possible SVE element count N, or for any "X per cycle"
>    // value N in the range [1, 16].
>    static const uint32_t SCALE = 11531520;
>
> --- gcc/config/vax/vax.cc.jj    2022-01-18 11:58:59.262986628 +0100
> +++ gcc/config/vax/vax.cc       2022-03-07 14:54:22.759495841 +0100
> @@ -1124,7 +1124,7 @@ vax_select_cc_mode (enum rtx_code op,
>
>  /* Return the narrowest CC mode that spans both modes offered.  If they
>     intersect, this will be the wider of the two, and if they do not then
> -   find find one that is a superset of both (i.e. CCNZmode for a pair
> +   find one that is a superset of both (i.e. CCNZmode for a pair
>     consisting of CCNmode and CCZmode).  A wider CC writer will satisfy
>     a narrower CC reader, e.g. a comparison operator that uses CCZmode
>     can use a CCNZmode output of a previous instruction.  */
> --- gcc/config/rs6000/pcrel-opt.md.jj   2022-01-11 23:11:21.940296477 +0100
> +++ gcc/config/rs6000/pcrel-opt.md      2022-03-07 14:52:16.898236733 +0100
> @@ -60,7 +60,7 @@
>  ;; that both registers may be set in the first insn, and will be used in the
>  ;; second insn.
>  ;;
> -;; Since we use UNSPEC's and link both the the register holding the external
> +;; Since we use UNSPEC's and link both the register holding the external
>  ;; address and the value being loaded, it should prevent other passes from
>  ;; modifying it.
>  ;;
> --- gcc/config/rs6000/predicates.md.jj  2022-03-05 11:43:13.114451980 +0100
> +++ gcc/config/rs6000/predicates.md     2022-03-07 14:53:34.410164598 +0100
> @@ -496,7 +496,7 @@ (define_predicate "cc_reg_not_cr0_operan
>  })
>
>  ;; Return 1 if op is a constant integer valid for D field
> -;; or non-special register register.
> +;; or non-special register.
>  (define_predicate "reg_or_short_operand"
>    (if_then_else (match_code "const_int")
>      (match_operand 0 "short_cint_operand")
> @@ -1109,7 +1109,7 @@ (define_predicate "symbol_ref_operand"
>                     && (DEFAULT_ABI != ABI_AIX || SYMBOL_REF_FUNCTION_P 
> (op))")))
>
>  ;; Return 1 if op is an operand that can be loaded via the GOT.
> -;; or non-special register register field no cr0
> +;; or non-special register field no cr0
>  (define_predicate "got_operand"
>    (match_code "symbol_ref,const,label_ref"))
>
> --- gcc/ctfc.h.jj       2022-01-18 11:58:59.412984485 +0100
> +++ gcc/ctfc.h  2022-03-07 14:26:13.594880739 +0100
> @@ -144,7 +144,7 @@ typedef struct GTY ((chain_next ("%h.dmd
>  typedef struct GTY (()) ctf_func_arg
>  {
>    ctf_id_t farg_type;            /* Type identifier of the argument.  */
> -  const char * farg_name;        /* Name of the the argument.  */
> +  const char * farg_name;        /* Name of the argument.  */
>    uint32_t farg_name_offset;     /* Offset of the name in str table.  */
>    struct ctf_func_arg * farg_next;/* A list node.  */
>  } ctf_func_arg_t;
> --- gcc/cp/cvt.cc.jj    2022-02-18 12:38:06.022393827 +0100
> +++ gcc/cp/cvt.cc       2022-03-07 14:43:08.535808467 +0100
> @@ -2092,7 +2092,7 @@ can_convert_tx_safety (tree to, tree fro
>  }
>
>  /* Return true iff FROM can convert to TO by dropping noexcept.
> -   This is just a subroutine of of fnptr_conv_p.  */
> +   This is just a subroutine of fnptr_conv_p.  */
>
>  static bool
>  noexcept_conv_p (tree to, tree from)
> --- gcc/cp/pt.cc.jj     2022-03-01 19:42:39.259263856 +0100
> +++ gcc/cp/pt.cc        2022-03-07 14:44:42.400512577 +0100
> @@ -30049,7 +30049,7 @@ do_class_deduction (tree ptype, tree tmp
>
>     OUTER_TARGS is used during template argument deduction (context == 
> adc_unify)
>     to properly substitute the result.  It's also used in the adc_unify and
> -   adc_requirement contexts to communicate the the necessary template 
> arguments
> +   adc_requirement contexts to communicate the necessary template arguments
>     to satisfaction.  OUTER_TARGS is ignored in other contexts.
>
>     For partial-concept-ids, extra args may be appended to the list of deduced
> --- gcc/cp/module.cc.jj 2022-03-05 11:43:13.189450927 +0100
> +++ gcc/cp/module.cc    2022-03-07 14:44:03.425050667 +0100
> @@ -4617,7 +4617,7 @@ create_dirs (char *path)
>        }
>  }
>
> -/* Given a CLASSTYPE_DECL_LIST VALUE get the the template friend decl,
> +/* Given a CLASSTYPE_DECL_LIST VALUE get the template friend decl,
>     if that's what this is.  */
>
>  static tree
> --- gcc/cp/coroutines.cc.jj     2022-01-18 11:58:59.297986128 +0100
> +++ gcc/cp/coroutines.cc        2022-03-07 14:42:39.719206310 +0100
> @@ -1824,7 +1824,7 @@ expand_one_await_expression (tree *stmt,
>        cp_walk_tree (await_init, co_await_find_in_subtree, &aw_expr_ptr, 
> NULL))
>      expand_one_await_expression (await_init, aw_expr_ptr, d);
>
> -  /* Expand any more await expressions in the the original statement.  */
> +  /* Expand any more await expressions in the original statement.  */
>    if (cp_walk_tree (revised, co_await_find_in_subtree, &aw_expr_ptr, NULL))
>      expand_one_await_expression (revised, aw_expr_ptr, d);
>
> --- gcc/tree-ssa-uninit.cc.jj   2022-02-11 00:19:22.433063241 +0100
> +++ gcc/tree-ssa-uninit.cc      2022-03-07 14:35:05.250480666 +0100
> @@ -403,7 +403,7 @@ maybe_warn_read_write_only (tree fndecl,
>      return;
>
>    /* Initialize a map of attribute access specifications for arguments
> -     to the function function call.  */
> +     to the function call.  */
>    rdwr_map rdwr_idx;
>    init_attr_rdwr_indices (&rdwr_idx, TYPE_ATTRIBUTES (fntype));
>
> @@ -514,7 +514,7 @@ check_defs (ao_ref *ref, tree vdef, void
>    return true;
>  }
>
> -/* Counters and limits controlling the the depth of analysis and
> +/* Counters and limits controlling the depth of analysis and
>     strictness of the warning.  */
>  struct wlimits
>  {
> @@ -785,7 +785,7 @@ maybe_warn_pass_by_reference (gcall *stm
>    const bool save_always_executed = wlims.always_executed;
>
>    /* Initialize a map of attribute access specifications for arguments
> -     to the function function call.  */
> +     to the function call.  */
>    rdwr_map rdwr_idx;
>    init_attr_rdwr_indices (&rdwr_idx, TYPE_ATTRIBUTES (fntype));
>
> @@ -979,7 +979,7 @@ warn_uninit_phi_uses (basic_block bb)
>  static void
>  warn_uninitialized_vars (bool wmaybe_uninit)
>  {
> -  /* Counters and limits controlling the the depth of the warning.  */
> +  /* Counters and limits controlling the depth of the warning.  */
>    wlimits wlims = { };
>    wlims.wmaybe_uninit = wmaybe_uninit;
>
> --- gcc/analyzer/store.cc.jj    2022-01-11 23:11:21.540302098 +0100
> +++ gcc/analyzer/store.cc       2022-03-07 14:39:45.494611643 +0100
> @@ -1204,7 +1204,7 @@ binding_cluster::validate () const
>  /* Return a new json::object of the form
>     {"escaped": true/false,
>      "touched": true/false,
> -    "map" : object for the the binding_map.  */
> +    "map" : object for the binding_map.  */
>
>  json::object *
>  binding_cluster::to_json () const
> @@ -1892,7 +1892,7 @@ binding_cluster::redundant_p () const
>           && !m_touched);
>  }
>
> -/* Add PV to OUT_PVS, casting it to TYPE if if is not already of that type.  
> */
> +/* Add PV to OUT_PVS, casting it to TYPE if it is not already of that type.  
> */
>
>  static void
>  append_pathvar_with_type (path_var pv,
> --- gcc/analyzer/analyzer.cc.jj 2022-01-18 11:58:58.874992171 +0100
> +++ gcc/analyzer/analyzer.cc    2022-03-07 14:38:24.082735607 +0100
> @@ -109,7 +109,7 @@ get_diagnostic_tree_for_gassign_1 (const
>  }
>
>  /*  Subroutine of fixup_tree_for_diagnostic_1, called on SSA names.
> -    Attempt to reconstruct a a tree expression for SSA_NAME
> +    Attempt to reconstruct a tree expression for SSA_NAME
>      based on its def-stmt.
>      SSA_NAME must be non-NULL.
>      VISITED must be non-NULL; it is used to ensure termination.
> --- gcc/analyzer/engine.cc.jj   2022-02-17 10:24:16.724113721 +0100
> +++ gcc/analyzer/engine.cc      2022-03-07 14:38:36.592562897 +0100
> @@ -3918,7 +3918,7 @@ exploded_graph::process_node (exploded_n
>                          analysis of the current function.
>
>                          The analyzer handles calls to such functions while
> -                        analysing the stmt itself, so the the function call
> +                        analysing the stmt itself, so the function call
>                          must have been handled by the anlyzer till now.  */
>                       exploded_node *next
>                         = get_or_create_node (next_point,
> --- gcc/analyzer/sm-taint.cc.jj 2022-02-08 09:23:08.530158329 +0100
> +++ gcc/analyzer/sm-taint.cc    2022-03-07 14:39:03.884186114 +0100
> @@ -891,7 +891,7 @@ taint_state_machine::check_for_tainted_s
>      return;
>
>    /* Initialize a map of attribute access specifications for arguments
> -     to the function function call.  */
> +     to the function call.  */
>    rdwr_map rdwr_idx;
>    init_attr_rdwr_indices (&rdwr_idx, TYPE_ATTRIBUTES (fntype));
>
> --- gcc/value-relation.h.jj     2022-02-04 14:36:56.414585620 +0100
> +++ gcc/value-relation.h        2022-03-07 14:27:10.659085904 +0100
> @@ -50,7 +50,7 @@ along with GCC; see the file COPYING3.
>  // relation comes back EQ_EXPR, it is also possible to query the set of
>  // equivlaencies.  These are basically bitmaps over ssa_names.
>  //
> -// relations are maintained via the dominace trees, are are optimized 
> assuming
> +// Relations are maintained via the dominace trees and are optimized assuming
>  // they are registered in dominance order.   When a new relation is added, it
>  // is intersected with whatever existing relation exists in the dominance 
> tree
>  // and registered at the specified block.
> --- gcc/jit/libgccjit.h.jj      2022-01-11 23:11:22.717285559 +0100
> +++ gcc/jit/libgccjit.h 2022-03-07 14:37:23.823567542 +0100
> @@ -842,7 +842,7 @@ gcc_jit_context_new_global (gcc_jit_cont
>     set to the corresponding value in `values`.  `fields` and `values`
>     are paired by index.
>
> -   Each value has to have have the same unqualified type as the field
> +   Each value has to have the same unqualified type as the field
>     it is applied to.
>
>     A NULL value element  in `values` is a shorthand for zero initialization
> @@ -892,7 +892,7 @@ gcc_jit_context_new_struct_constructor (
>     `value` specifies what value to set the corresponding field to.
>     If `value` is NULL, zero initialization will be used.
>
> -   Each value has to have have the same unqualified type as the field
> +   Each value has to have the same unqualified type as the field
>     it is applied to.
>
>     `field` need to be the same objects that were used
> --- gcc/gimple-range-gori.cc.jj 2022-02-17 10:24:16.780112940 +0100
> +++ gcc/gimple-range-gori.cc    2022-03-07 14:28:18.935134901 +0100
> @@ -890,7 +890,7 @@ gori_compute::logical_combine (irange &r
>        case BIT_AND_EXPR:
>          if (!lhs.zero_p ())
>           {
> -           // The TRUE side is the intersection of the the 2 true ranges.
> +           // The TRUE side is the intersection of the 2 true ranges.
>             r = op1_true;
>             r.intersect (op2_true);
>           }
> --- gcc/c-family/c-attribs.cc.jj        2022-03-01 19:42:39.201264652 +0100
> +++ gcc/c-family/c-attribs.cc   2022-03-07 14:42:05.707675867 +0100
> @@ -3421,7 +3421,7 @@ handle_malloc_attribute (tree *node, tre
>          it with this one.  Ideally, the attribute would reference
>          the DECL of the deallocator but since that changes for each
>          redeclaration, use DECL_NAME instead.  (DECL_ASSEMBLER_NAME
> -        need not be set set this point and setting it here is too early.  */
> +        need not be set at this point and setting it here is too early.  */
>        tree attrs = build_tree_list (NULL_TREE, DECL_NAME (fndecl));
>        attrs = tree_cons (get_identifier ("*dealloc"), attrs, at_noinline);
>        decl_attributes (&dealloc, attrs, 0);
> @@ -5142,7 +5142,7 @@ handle_access_attribute (tree node[3], t
>       value: "+^2[*],$0$1^3[*],$1$1"
>       list:  < <0, x> <1, y> >
>
> -   where the list has a single value which itself is is a list each
> +   where the list has a single value which itself is a list, each
>     of whose <node>s corresponds to one VLA bound for each of the two
>     parameters.  */
>
> --- gcc/ipa-polymorphic-call.cc.jj      2022-01-18 11:58:59.654981028 +0100
> +++ gcc/ipa-polymorphic-call.cc 2022-03-07 14:30:36.660216550 +0100
> @@ -1598,7 +1598,7 @@ ipa_polymorphic_call_context::get_dynami
>    if (!maybe_in_construction && !maybe_derived_type)
>      return false;
>
> -  /* If we are in fact not looking at any object object or the instance is
> +  /* If we are in fact not looking at any object or the instance is
>       some placement new into a random load, give up straight away.  */
>    if (TREE_CODE (instance) == MEM_REF)
>      return false;
> --- gcc/pointer-query.cc.jj     2022-02-04 14:36:55.457598986 +0100
> +++ gcc/pointer-query.cc        2022-03-07 14:32:22.599740936 +0100
> @@ -959,7 +959,7 @@ void access_ref::add_offset (const offse
>          (which may be greater than MAX_OBJECT_SIZE).
>          The lower bound is either the sum of the current offset and
>          MIN when abs(MAX) is greater than the former, or zero otherwise.
> -        Zero because then then inverted range includes the negative of
> +        Zero because then the inverted range includes the negative of
>          the lower bound.  */
>        offset_int maxoff = wi::to_offset (TYPE_MAX_VALUE (ptrdiff_type_node));
>        offrng[1] = maxoff;
> --- gcc/ipa-sra.cc.jj   2022-02-04 14:36:55.301601165 +0100
> +++ gcc/ipa-sra.cc      2022-03-07 14:30:59.966891914 +0100
> @@ -2874,7 +2874,7 @@ struct caller_issues
>    bool thunk;
>    /* Call site with no available information.  */
>    bool unknown_callsite;
> -  /* Call from outside the the candidate's comdat group.  */
> +  /* Call from outside the candidate's comdat group.  */
>    bool call_from_outside_comdat;
>    /* There is a bit-aligned load into one of non-gimple-typed arguments. */
>    bool bit_aligned_aggregate_argument;
> --- gcc/internal-fn.cc.jj       2022-02-25 10:56:39.971022192 +0100
> +++ gcc/internal-fn.cc  2022-03-07 14:29:42.695968210 +0100
> @@ -1500,7 +1500,7 @@ expand_mul_overflow (location_t loc, tre
>                  0 and there will be no overflow, if the first argument is
>                  negative and the second argument positive, the result when
>                  treated as signed will be negative (minimum -0x7f80 or
> -                -0x7f..f80..0) there there will be always overflow.  So, do
> +                -0x7f..f80..0) there will be always overflow.  So, do
>                  res = (U) (s1 * u2)
>                  ovf = (S) res < 0  */
>               struct separate_ops ops;
> --- gcc/fortran/trans-expr.cc.jj        2022-01-18 11:58:59.576982142 +0100
> +++ gcc/fortran/trans-expr.cc   2022-03-07 14:46:17.207203686 +0100
> @@ -5678,7 +5678,7 @@ gfc_conv_gfc_desc_to_cfi_desc (gfc_se *p
>       Note that allocatable implies 'len=:'.  */
>    if (e->ts.type != BT_ASSUMED && e->ts.type != BT_CHARACTER )
>      {
> -      /* Length is known at compile time; use use 'block' for it.  */
> +      /* Length is known at compile time; use 'block' for it.  */
>        tmp = size_in_bytes (gfc_typenode_for_spec (&e->ts));
>        tmp2 = gfc_get_cfi_desc_elem_len (cfi);
>        gfc_add_modify (&block, tmp2, fold_convert (TREE_TYPE (tmp2), tmp));
> --- gcc/fortran/gfortran.h.jj   2022-02-21 16:51:50.435230224 +0100
> +++ gcc/fortran/gfortran.h      2022-03-07 14:36:42.227141820 +0100
> @@ -2137,7 +2137,7 @@ typedef struct gfc_namespace
>    /* Linked list of !$omp declare variant constructs.  */
>    struct gfc_omp_declare_variant *omp_declare_variant;
>
> -  /* A hash set for the the gfc expressions that have already
> +  /* A hash set for the gfc expressions that have already
>       been finalized in this namespace.  */
>
>    gfc_was_finalized *was_finalized;
> --- gcc/fortran/scanner.cc.jj   2022-01-18 11:58:59.572982199 +0100
> +++ gcc/fortran/scanner.cc      2022-03-07 14:45:36.832761090 +0100
> @@ -1915,7 +1915,7 @@ load_line (FILE *input, gfc_char_t **pbu
>
>        /* For truncation and tab warnings, set seen_comment to false if one 
> has
>          either an OpenMP or OpenACC directive - or a !GCC$ attribute.  If
> -        OpenMP is enabled, use '!$' as as conditional compilation sentinel
> +        OpenMP is enabled, use '!$' as conditional compilation sentinel
>          and OpenMP directive ('!$omp').  */
>        if (seen_comment && first_comment && flag_openmp && comment_ix + 1 == i
>           && c == '$')
> --- gcc/varasm.cc.jj    2022-02-23 09:17:04.917123697 +0100
> +++ gcc/varasm.cc       2022-03-07 14:35:34.433077776 +0100
> @@ -283,7 +283,7 @@ get_noswitch_section (unsigned int flags
>     a new section with the given fields if no such structure exists.
>     When NOT_EXISTING, then fail if the section already exists.  Return
>     the existing section if the SECTION_RETAIN bit doesn't match.  Set
> -   the SECTION_WRITE | SECTION_RELRO bits on the the existing section
> +   the SECTION_WRITE | SECTION_RELRO bits on the existing section
>     if one of the section flags is SECTION_WRITE | SECTION_RELRO and the
>     other has none of these flags in named sections and either the section
>     hasn't been declared yet or has been declared as writable.  */
> --- gcc/gimple-ssa-warn-access.cc.jj    2022-03-05 12:20:44.175848242 +0100
> +++ gcc/gimple-ssa-warn-access.cc       2022-03-07 14:28:57.960591321 +0100
> @@ -2642,7 +2642,7 @@ pass_waccess::check_strncmp (gcall *stmt
>       a bound that's larger than the size of either array makes no sense
>       and is likely a bug.  When the length of neither of the two strings
>       is known but the sizes of both of the arrays they are stored in is,
> -     issue a warning if the bound is larger than than the size of
> +     issue a warning if the bound is larger than the size of
>       the larger of the two arrays.  */
>
>    c_strlen_data lendata1{ }, lendata2{ };
>
>
>         Jakub
>

Reply via email to