Hi! Another set of duplicated word fixes for things I've missed last time. These include e.g. *.cc files I forgot about, or duplicated words at the start or end of line.
Tested on x86_64-linux, committed to trunk as obvious. 2020-03-18 Jakub Jelinek <ja...@redhat.com> * asan.c (get_mem_refs_of_builtin_call): Fix up duplicated word issue in a comment. * config/arc/arc.c (frame_stack_add): Likewise. * gimple-loop-versioning.cc (loop_versioning::analyze_arbitrary_term): Likewise. * ipa-predicate.c (predicate::remap_after_inlining): Likewise. * tree-ssa-strlen.h (handle_printf_call): Likewise. * tree-ssa-strlen.c (is_strlen_related_p): Likewise. * optinfo-emit-json.cc (optrecord_json_writer::add_record): Likewise. analyzer/ * sm-malloc.cc (malloc_state_machine::on_stmt): Fix up duplicated word issue in a comment. * region-model.cc (region_model::make_region_for_unexpected_tree_code, region_model::delete_region_and_descendents): Likewise. * engine.cc (class exploded_cluster): Likewise. * diagnostic-manager.cc (class path_builder): Likewise. cp/ * constraint.cc (resolve_function_concept_check, subsumes_constraints, strictly_subsumes): Fix up duplicated word issue in a comment. * coroutines.cc (build_init_or_final_await, captures_temporary): Likewise. * logic.cc (dnf_size_r, cnf_size_r): Likewise. * pt.c (append_type_to_template_for_access_check): Likewise. d/ * expr.cc (ExprVisitor::visit (CatAssignExp *)): Fix up duplicated word issue in a comment. * d-target.cc (Target::FPTypeProperties<T>::max): Likewise. fortran/ * class.c (generate_finalization_wrapper): Fix up duplicated word issue in a comment. * trans-types.c (gfc_get_nodesc_array_type): Likewise. --- gcc/asan.c.jj 2020-01-12 11:54:36.191416758 +0100 +++ gcc/asan.c 2020-03-18 11:40:49.402322262 +0100 @@ -794,7 +794,7 @@ get_mem_refs_of_builtin_call (gcall *cal handle_builtin_alloca (call, iter); break; /* And now the __atomic* and __sync builtins. - These are handled differently from the classical memory memory + These are handled differently from the classical memory access builtins above. */ case BUILT_IN_ATOMIC_LOAD_1: --- gcc/config/arc/arc.c.jj 2020-03-14 08:14:47.063741917 +0100 +++ gcc/config/arc/arc.c 2020-03-18 11:30:29.758456109 +0100 @@ -2607,7 +2607,7 @@ frame_stack_add (HOST_WIDE_INT offset) register. During compilation of a function the frame size is evaluated - multiple times, it is not until the reload pass is complete the the + multiple times, it is not until the reload pass is complete the frame size is considered fixed (it is at this point that space for all spills has been allocated). However the frame_pointer_needed variable is not set true until the register allocation pass, as a --- gcc/cp/constraint.cc.jj 2020-03-18 08:52:00.401441356 +0100 +++ gcc/cp/constraint.cc 2020-03-18 11:32:52.317354771 +0100 @@ -316,7 +316,7 @@ resolve_function_concept_overload (tree return cands; } -/* Determine if the the call expression CALL is a constraint check, and +/* Determine if the call expression CALL is a constraint check, and return the concept declaration and arguments being checked. If CALL does not denote a constraint check, return NULL. */ @@ -2958,7 +2958,7 @@ equivalently_constrained (tree d1, tree Partial ordering of constraints ---------------------------------------------------------------------------*/ -/* Returns true when the the constraints in A subsume those in B. */ +/* Returns true when the constraints in A subsume those in B. */ bool subsumes_constraints (tree a, tree b) @@ -2968,7 +2968,7 @@ subsumes_constraints (tree a, tree b) return subsumes (a, b); } -/* Returns true when the the constraints in CI (with arguments +/* Returns true when the constraints in CI (with arguments ARGS) strictly subsume the associated constraints of TMPL. */ bool --- gcc/cp/coroutines.cc.jj 2020-03-15 22:35:30.361489995 +0100 +++ gcc/cp/coroutines.cc 2020-03-18 11:36:40.804986823 +0100 @@ -2466,7 +2466,7 @@ build_init_or_final_await (location_t lo return error_mark_node; /* So build the co_await for this */ - /* For initial/final suspends the call is is "a" per [expr.await] 3.2. */ + /* For initial/final suspends the call is "a" per [expr.await] 3.2. */ return build_co_await (loc, setup_call, (is_final ? FINAL_SUSPEND_POINT : INITIAL_SUSPEND_POINT)); } @@ -2547,7 +2547,7 @@ static tree captures_temporary (tree *stmt, int *do_subtree, void *d) { /* Stop recursing if we see an await expression, the subtrees - of that will be handled when it it processed. */ + of that will be handled when it is processed. */ if (TREE_CODE (*stmt) == CO_AWAIT_EXPR || TREE_CODE (*stmt) == CO_YIELD_EXPR) { *do_subtree = 0; --- gcc/cp/logic.cc.jj 2020-03-14 08:14:47.117741113 +0100 +++ gcc/cp/logic.cc 2020-03-18 11:34:29.119927883 +0100 @@ -355,7 +355,7 @@ atomic_p (tree t) /* Recursively count the number of clauses produced when converting T to DNF. Returns a pair containing the number of clauses and a bool - value signifying that the the tree would be rewritten as a result of + value signifying that the tree would be rewritten as a result of distributing. In general, a conjunction for which this flag is set is considered a disjunction for the purpose of counting. */ @@ -421,7 +421,7 @@ dnf_size_r (tree t) /* Matches constraints of the form P /\ Q, possibly resulting in the distribution of one side over the other. When both P and Q are disjunctions, the number of clauses are multiplied. - When only one of P and Q is a disjunction, the the number of + When only one of P and Q is a disjunction, the number of clauses are added. Otherwise, neither side is a disjunction and no clauses are created. */ if (disjunction_p (lhs)) @@ -463,7 +463,7 @@ dnf_size_r (tree t) /* Recursively count the number of clauses produced when converting T to CNF. Returns a pair containing the number of clauses and a bool - value signifying that the the tree would be rewritten as a result of + value signifying that the tree would be rewritten as a result of distributing. In general, a disjunction for which this flag is set is considered a conjunction for the purpose of counting. */ @@ -488,7 +488,7 @@ cnf_size_r (tree t) /* Matches constraints of the form P \/ Q, possibly resulting in the distribution of one side over the other. When both P and Q are conjunctions, the number of clauses are multiplied. - When only one of P and Q is a conjunction, the the number of + When only one of P and Q is a conjunction, the number of clauses are added. Otherwise, neither side is a conjunction and no clauses are created. */ if (disjunction_p (lhs)) --- gcc/cp/pt.c.jj 2020-03-17 13:50:52.000000000 +0100 +++ gcc/cp/pt.c 2020-03-18 11:32:09.372987778 +0100 @@ -29078,7 +29078,7 @@ append_type_to_template_for_access_check } /* Append TYPE_DECL to the template TEMPL. - TEMPL is either a class type, a FUNCTION_DECL or a a TEMPLATE_DECL. + TEMPL is either a class type, a FUNCTION_DECL or a TEMPLATE_DECL. At TEMPL instanciation time, TYPE_DECL will be checked to see if it can be accessed through SCOPE. LOCATION is the location of the usage point of TYPE_DECL. --- gcc/gimple-loop-versioning.cc.jj 2020-01-12 11:54:36.621410271 +0100 +++ gcc/gimple-loop-versioning.cc 2020-03-18 11:40:15.662819700 +0100 @@ -1070,7 +1070,7 @@ loop_versioning::analyze_arbitrary_term where nothing in the way "x" and "y" are set gives a hint as to whether "i" iterates over the innermost dimension of the array. - In these situations it seems reasonable to assume the the + In these situations it seems reasonable to assume the programmer has nested the loops appropriately (although of course there are examples like GEMM in which this assumption doesn't hold for all accesses in the loop). --- gcc/ipa-predicate.c.jj 2020-01-12 11:54:36.653409788 +0100 +++ gcc/ipa-predicate.c 2020-03-18 11:37:03.537651737 +0100 @@ -497,7 +497,7 @@ predicate::remap_after_duplication (clau is summary of function predicate P is from. OPERAND_MAP is array giving callee formal IDs the caller formal IDs. POSSSIBLE_TRUTHS is clause of all callee conditions that may be true in caller context. TOPLEV_PREDICATE is - predicate under which callee is executed. OFFSET_MAP is an array of of + predicate under which callee is executed. OFFSET_MAP is an array of offsets that need to be added to conditions, negative offset means that conditions relying on values passed by reference have to be discarded because they might not be preserved (and should be considered offset zero --- gcc/tree-ssa-strlen.h.jj 2020-01-12 11:54:38.512381741 +0100 +++ gcc/tree-ssa-strlen.h 2020-03-18 11:44:54.442709532 +0100 @@ -31,7 +31,7 @@ extern tree get_range (tree, wide_int[2] struct c_strlen_data; extern void get_range_strlen_dynamic (tree , c_strlen_data *, const vr_values *); -/* APIs internal to strlen pass. Defined in in gimple-ssa-sprintf.c. */ +/* APIs internal to strlen pass. Defined in gimple-ssa-sprintf.c. */ extern bool handle_printf_call (gimple_stmt_iterator *, const vr_values *); #endif // GCC_TREE_SSA_STRLEN_H --- gcc/analyzer/sm-malloc.cc.jj 2020-03-03 07:57:42.352827764 +0100 +++ gcc/analyzer/sm-malloc.cc 2020-03-18 11:38:48.706101535 +0100 @@ -655,7 +655,7 @@ malloc_state_machine::on_stmt (sm_contex sm_ctxt->on_transition (node, stmt, arg, m_nonnull, m_freed); /* Keep state "null" as-is, rather than transitioning to "free"; - we don't want want to complain about double-free of NULL. */ + we don't want to complain about double-free of NULL. */ /* freed -> stop, with warning. */ sm_ctxt->warn_for_state (node, stmt, arg, m_freed, --- gcc/analyzer/region-model.cc.jj 2020-03-14 08:11:44.965452580 +0100 +++ gcc/analyzer/region-model.cc 2020-03-18 11:38:21.662500161 +0100 @@ -4871,7 +4871,7 @@ region_model::get_lvalue_1 (path_var pv, } } -/* If we see a tree code we we don't know how to handle, rather than +/* If we see a tree code we don't know how to handle, rather than ICE or generate bogus results, create a dummy region, and notify CTXT so that it can mark the new state as being not properly modelled. The exploded graph can then stop exploring that path, @@ -6607,7 +6607,7 @@ region_model::get_descendents (region_id } /* Delete RID and all descendent regions. - Find any pointers to such regions; convert convert them to + Find any pointers to such regions; convert them to poisoned values of kind PKIND. Accumulate stats on purged entities into STATS. */ --- gcc/analyzer/engine.cc.jj 2020-03-09 12:43:00.711038500 +0100 +++ gcc/analyzer/engine.cc 2020-03-18 11:39:53.200150869 +0100 @@ -2988,7 +2988,7 @@ exploded_path::dump () const cluster, each supernode gets its own cluster. Hence all enodes relating to a particular function with a particular - callstring will be be in a cluster together; all enodes for the same + callstring will be in a cluster together; all enodes for the same function but with a different callstring will be in a different cluster. */ --- gcc/analyzer/diagnostic-manager.cc.jj 2020-03-14 08:11:44.954452744 +0100 +++ gcc/analyzer/diagnostic-manager.cc 2020-03-18 11:39:27.490529845 +0100 @@ -110,7 +110,7 @@ saved_diagnostic::operator== (const save /* State for building a checker_path from a particular exploded_path. In particular, this precomputes reachability information: the set of - source enodes for which a a path be found to the diagnostic enode. */ + source enodes for which a path be found to the diagnostic enode. */ class path_builder { --- gcc/tree-ssa-strlen.c.jj 2020-03-17 13:50:52.263943371 +0100 +++ gcc/tree-ssa-strlen.c 2020-03-18 11:45:31.717159976 +0100 @@ -2910,7 +2910,7 @@ handle_builtin_strncat (built_in_functio /* Return true if LEN depends on a call to strlen(SRC) in an interesting way. LEN can either be an integer expression, or a pointer (to char). - When it is the latter (such as in recursive calls to self) is is + When it is the latter (such as in recursive calls to self) it is assumed to be the argument in some call to strlen() whose relationship to SRC is being ascertained. */ --- gcc/d/expr.cc.jj 2020-01-12 11:54:36.526411704 +0100 +++ gcc/d/expr.cc 2020-03-18 11:41:29.047737752 +0100 @@ -836,7 +836,7 @@ public: } /* Build a concat assignment expression. The right operand is appended - to the the left operand. */ + to the left operand. */ void visit (CatAssignExp *e) { --- gcc/d/d-target.cc.jj 2020-01-12 11:54:36.511411930 +0100 +++ gcc/d/d-target.cc 2020-03-18 11:41:54.335364925 +0100 @@ -53,7 +53,7 @@ bool Target::cppExceptions; int Target::classinfosize; unsigned long long Target::maxStaticDataSize; -/* Floating-point constants for for .max, .min, and other properties. */ +/* Floating-point constants for .max, .min, and other properties. */ template <typename T> real_t Target::FPTypeProperties<T>::max; template <typename T> real_t Target::FPTypeProperties<T>::min_normal; template <typename T> real_t Target::FPTypeProperties<T>::nan; --- gcc/optinfo-emit-json.cc.jj 2020-01-12 11:54:36.691409214 +0100 +++ gcc/optinfo-emit-json.cc 2020-03-18 11:43:24.114041281 +0100 @@ -153,7 +153,7 @@ optrecord_json_writer::add_record (const /* Private methods of optrecord_json_writer. */ -/* Add record OBJ to the the innermost scope. */ +/* Add record OBJ to the innermost scope. */ void optrecord_json_writer::add_record (json::object *obj) --- gcc/fortran/class.c.jj 2020-01-12 11:54:36.583410844 +0100 +++ gcc/fortran/class.c 2020-03-18 11:44:16.848263797 +0100 @@ -1574,7 +1574,7 @@ generate_finalization_wrapper (gfc_symbo } /* No wrapper of the ancestor and no own FINAL subroutines and allocatable - components: Return a NULL() expression; we defer this a bit to have have + components: Return a NULL() expression; we defer this a bit to have an interface declaration. */ if ((!ancestor_wrapper || ancestor_wrapper->expr_type == EXPR_NULL) && !derived->attr.alloc_comp --- gcc/fortran/trans-types.c.jj 2020-02-01 10:02:05.618263597 +0100 +++ gcc/fortran/trans-types.c 2020-03-18 11:44:01.222494178 +0100 @@ -1595,7 +1595,7 @@ gfc_get_nodesc_array_type (tree etype, g mpz_init_set_ui (stride, 1); mpz_init (delta); - /* We don't use build_array_type because this does not include include + /* We don't use build_array_type because this does not include lang-specific information (i.e. the bounds of the array) when checking for duplicates. */ if (as->rank) Jakub