On Tue, 2 Apr 2024 at 08:47, Jakub Jelinek wrote: > > Hi! > > Like in r12-7519-g027e30414492d50feb2854aff38227b14300dc4b, I've done > git grep -v 'long long\|optab optab\|template template\|double double' | grep > ' \([a-zA-Z]\+\) \1 ' > > This is just part of the changes, mostly for non-gcc directories. > I'll try to get to the rest soon. Obviously, the above command also > finds cases which are correct as is and shouldn't be changed, so one > needs to manually inspect everything. > > I'd hope most of it is pretty obvious, but the config/ and libstdc++-v3/ > hunks include a tweak in a license wording, though other copies of the > similar license have the wording right.
Those libstdc++ parts are fine, thanks. > > Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? > > 2024-04-02 Jakub Jelinek <ja...@redhat.com> > > * Makefile.tpl: Fix duplicated words; returns returns -> > returns. > config/ > * lcmessage.m4: Fix duplicated words; can can -> can, > package package -> package. > libdecnumber/ > * decCommon.c (decFinalize): Fix duplicated words in > comment; the the -> the. > libgcc/ > * unwind-dw2-fde.c (struct fde_accumulator): Fix duplicated > words in comment; is is -> is. > libgfortran/ > * configure.host: Fix duplicated words; the the -> the. > libgm2/ > * configure.host: Fix duplicated words; the the -> the. > libgomp/ > * libgomp.texi (OpenMP 5.2): Fix duplicated words; with with -> > with. > (omp_target_associate_ptr): Fix duplicated words; either either -> > either. > (omp_init_allocator): Fix duplicated words; be be -> be. > (omp_realloc): Fix duplicated words; is is -> is. > (OMP_ALLOCATOR): Fix duplicated words; other other -> other. > * priority_queue.h (priority_queue_multi_p): Fix duplicated words; > to to -> to. > libiberty/ > * regex.c (byte_re_match_2_internal): Fix duplicated words in comment; > next next -> next. > * dyn-string.c (dyn_string_init): Fix duplicated words in comment; > of of -> of. > libitm/ > * beginend.cc (GTM::gtm_thread::begin_transaction): Fix duplicated > words in comment; not not -> not to. > libobjc/ > * init.c (duplicate_classes): Fix duplicated words in comment; in in > -> in. > * sendmsg.c (__objc_prepare_dtable_for_class): Fix duplicated words > in comment; the the -> the. > * encoding.c (objc_layout_structure): Likewise. > libstdc++-v3/ > * acinclude.m4: Fix duplicated words; file file -> file can. > * configure.host: Fix duplicated words; the the -> the. > libvtv/ > * vtv_rts.cc (vtv_fail): Fix duplicated words; to to -> to. > * vtv_fail.cc (vtv_fail): Likewise. > > --- Makefile.tpl.jj 2024-01-10 12:19:07.609682386 +0100 > +++ Makefile.tpl 2024-03-28 15:38:31.471917678 +0100 > @@ -1976,7 +1976,7 @@ configure-target-[+module+]: maybe-all-g > (define dep-maybe (lambda () > (if (exist? "hard") "" "maybe-"))) > > - ;; dep-kind returns returns "prebootstrap" for configure or build > + ;; dep-kind returns "prebootstrap" for configure or build > ;; dependencies of bootstrapped modules on a build module > ;; (e.g. all-gcc on all-build-bison); "normal" if the dependency is > ;; on an "install" target, or if the dependence module is not > --- config/lcmessage.m4.jj 2020-01-11 16:31:53.155321678 +0100 > +++ config/lcmessage.m4 2024-03-28 16:01:40.879060037 +0100 > @@ -6,13 +6,13 @@ dnl Public License, this file may be dis > dnl that contains a configuration script generated by Autoconf, under > dnl the same distribution terms as the rest of that program. > dnl > -dnl This file can can be used in projects which are not available under > +dnl This file can be used in projects which are not available under > dnl the GNU General Public License or the GNU Library General Public > dnl License but which still want to provide support for the GNU gettext > dnl functionality. > dnl Please note that the actual code of the GNU gettext library is covered > dnl by the GNU Library General Public License, and the rest of the GNU > -dnl gettext package package is covered by the GNU General Public License. > +dnl gettext package is covered by the GNU General Public License. > dnl They are *not* in the public domain. > > dnl Authors: > --- libdecnumber/decCommon.c.jj 2024-01-03 12:07:28.096370943 +0100 > +++ libdecnumber/decCommon.c 2024-03-28 16:00:26.576068973 +0100 > @@ -388,7 +388,7 @@ static decFloat * decFinalize(decFloat * > UBFROMUI(ub-3, 0); /* to 00000000 */ > } > /* [note ub could now be to left of msd, and it is not safe */ > - /* to write to the the left of the msd] */ > + /* to write to the left of the msd] */ > /* now at most 3 digits left to non-9 (usually just the one) */ > for (; ub>=umsd; *ub=0, ub--) { > if (*ub==9) continue; /* carry */ > --- libgcc/unwind-dw2-fde.c.jj 2024-03-23 08:22:50.622605182 +0100 > +++ libgcc/unwind-dw2-fde.c 2024-03-28 15:59:32.552802535 +0100 > @@ -501,7 +501,7 @@ fde_mixed_encoding_extract (struct objec > typedef void (*fde_extractor_t) (struct object *, _Unwind_Ptr *, const fde > **, > int); > > -// Data is is sorted using radix sort if possible, using an temporary > +// Data is sorted using radix sort if possible, using an temporary > // auxiliary data structure of the same size as the input. When running > // out of memory do in-place heap sort. > > --- libgfortran/configure.host.jj 2022-01-11 23:11:23.816270115 +0100 > +++ libgfortran/configure.host 2024-03-28 15:58:11.247906549 +0100 > @@ -1,7 +1,7 @@ > # configure.host > # > # This shell script handles all host based configuration for libgfortran. > -# It sets various shell variables based on the the host triplet. > +# It sets various shell variables based on the host triplet. > # You can modify this shell script without rerunning autoconf/aclocal/etc. > # This file is "sourced", not executed. > # > --- libgm2/configure.host.jj 2023-11-13 21:39:19.790341988 +0100 > +++ libgm2/configure.host 2024-03-28 15:57:52.175165531 +0100 > @@ -1,7 +1,7 @@ > # configure.host > # > # This shell script handles all host based configuration for libstdc++. > -# It sets various shell variables based on the the host and the > +# It sets various shell variables based on the host and the > # configuration options. You can modify this shell script without needing > # to rerun autoconf/aclocal/etc. This file is "sourced" not executed. > # > --- libgomp/libgomp.texi.jj 2024-03-13 09:11:45.425972326 +0100 > +++ libgomp/libgomp.texi 2024-03-28 15:57:18.081628399 +0100 > @@ -385,7 +385,7 @@ to address of matching mapped list item > @code{-Wunknown-pragmas} (implied by @code{-Wall}) and > @code{-Wattributes} > (enabled by default), respectively; for Fortran free-source code, > there is > a warning enabled by default and, for fixed-source code, the @code{omx} > - sentinel is warned for with with @code{-Wsurprising} (enabled by > + sentinel is warned for with @code{-Wsurprising} (enabled by > @code{-Wall}). Unknown clauses are always rejected with an error.} > @item Clauses on @code{end} directive can be on directive @tab Y @tab > @item @code{destroy} clause with destroy-var argument on @code{depobj} > @@ -2218,7 +2218,7 @@ in the @code{to} and @code{from} clauses > to transfer data between the associated pointers. The reference count of such > associated storage is infinite. The association can be removed by calling > @code{omp_target_disassociate_ptr} which should be done before the lifetime > -of either either storage ends. > +of either storage ends. > > The routine returns nonzero (@code{EINVAL}) when the @var{device_num} > invalid, > for when the initial device or the associated device shares memory with the > @@ -2815,7 +2815,7 @@ traits; if an allocator that fulfills th > @code{omp_null_allocator} is returned. > > The predefined memory spaces and available traits can be found at > -@ref{OMP_ALLOCATOR}, where the trait names have to be be prefixed by > +@ref{OMP_ALLOCATOR}, where the trait names have to be prefixed by > @code{omp_atk_} (e.g. @code{omp_atk_pinned}) and the named trait values by > @code{omp_atv_} (e.g. @code{omp_atv_true}); additionally, > @code{omp_atv_default} > may be used as trait value to specify that the default value should be used. > @@ -3210,7 +3210,7 @@ The @var{allocator} and @var{free_alloca > allocator, an allocator handle or @code{omp_null_allocator}. If > @var{free_allocator} is @code{omp_null_allocator}, the implementation > automatically determines the allocator used for the allocation of @var{ptr}. > -If @var{allocator} is @code{omp_null_allocator} and @var{ptr} is is not a > +If @var{allocator} is @code{omp_null_allocator} and @var{ptr} is not a > null pointer, the same allocator as @code{free_allocator} is used and > when @var{ptr} is a null pointer the allocator specified by the > @var{def-allocator-var} ICV is used. > @@ -3468,7 +3468,7 @@ as listed below. Except that the last t > > For the @code{fallback} trait, the default value is @code{null_fb} for the > @code{omp_default_mem_alloc} allocator and any allocator that is associated > -with device memory; for all other other allocators, it is > @code{default_mem_fb} > +with device memory; for all other allocators, it is @code{default_mem_fb} > by default. > > Examples: > --- libgomp/priority_queue.h.jj 2024-01-03 12:07:47.708096186 +0100 > +++ libgomp/priority_queue.h 2024-03-28 15:55:55.300752071 +0100 > @@ -137,7 +137,7 @@ extern struct gomp_task *priority_tree_n > bool *); > > /* Return TRUE if there is more than one priority in HEAD. This is > - used throughout to to choose between the fast path (priority 0 only > + used throughout to choose between the fast path (priority 0 only > items) and a world with multiple priorities. */ > > static inline bool > --- libiberty/regex.c.jj 2024-01-03 12:07:48.530084670 +0100 > +++ libiberty/regex.c 2024-03-28 15:54:19.611050948 +0100 > @@ -5597,7 +5597,7 @@ byte_re_match_2_internal (struct re_patt > to resume scanning the pattern; the second one is where to resume > scanning the strings. If the latter is zero, the failure point is > a ``dummy''; if a failure happens and the failure point is a dummy, > - it gets discarded and the next next one is tried. */ > + it gets discarded and the next one is tried. */ > #ifdef MATCH_MAY_ALLOCATE /* otherwise, this is global. */ > PREFIX(fail_stack_type) fail_stack; > #endif > --- libiberty/dyn-string.c.jj 2024-01-03 12:07:48.505085020 +0100 > +++ libiberty/dyn-string.c 2024-03-28 15:54:43.817722365 +0100 > @@ -47,7 +47,7 @@ Boston, MA 02110-1301, USA. */ > > /* Performs in-place initialization of a dyn_string struct. This > function can be used with a dyn_string struct on the stack or > - embedded in another object. The contents of of the string itself > + embedded in another object. The contents of the string itself > are still dynamically allocated. The string initially is capable > of holding at least SPACE characeters, including the terminating > NUL. If SPACE is 0, it will silently be increated to 1. > --- libitm/beginend.cc.jj 2024-01-03 12:07:48.784081112 +0100 > +++ libitm/beginend.cc 2024-03-28 15:53:31.595702705 +0100 > @@ -200,7 +200,7 @@ GTM::gtm_thread::begin_transaction (uint > { > // Note that the snapshot of htm_fastpath that we take here could be > // outdated, and a different method group than dispatch_htm may have > - // been chosen in the meantime. Therefore, take care not not touch > + // been chosen in the meantime. Therefore, take care not to touch > // anything besides the serial lock, which is independent of method > // groups. > for (uint32_t t = serial_lock.get_htm_fastpath(); t; t--) > --- libobjc/init.c.jj 2024-01-03 12:07:49.201075270 +0100 > +++ libobjc/init.c 2024-03-28 15:52:06.592856528 +0100 > @@ -63,7 +63,7 @@ static struct objc_list *uninitialized_s > a class twice, we ignore it the second time. On some platforms, > where the order in which modules are loaded is well defined, this > allows you to replace a class in a shared library by linking in a > - new implementation which is loaded in in the right order, and which > + new implementation which is loaded in the right order, and which > overrides the existing one. > > Protected by __objc_runtime_mutex. */ > --- libobjc/sendmsg.c.jj 2024-01-03 12:07:49.208075172 +0100 > +++ libobjc/sendmsg.c 2024-03-28 15:51:47.403117009 +0100 > @@ -1047,7 +1047,7 @@ __objc_prepare_dtable_for_class (Class c > > /* This table could be initialized in init.c. We cannot use the > class name since the class maintains the instance methods and the > - meta class maintains the the class methods yet both share the > + meta class maintains the class methods yet both share the > same name. Classes should be unique in any program. */ > if (! prepared_dtable_table) > prepared_dtable_table > --- libobjc/encoding.c.jj 2024-01-03 12:07:49.236074779 +0100 > +++ libobjc/encoding.c 2024-03-28 15:52:44.214345856 +0100 > @@ -1088,7 +1088,7 @@ objc_layout_structure (const char *type, > && *ntype++ != '=') > /* do nothing */; > > - /* If there's a "<name>=", ntype - 1 points to '='; skip the the name */ > + /* If there's a "<name>=", ntype - 1 points to '='; skip the name. */ > if (*(ntype - 1) == '=') > type = ntype; > > --- libstdc++-v3/acinclude.m4.jj 2024-01-31 10:55:37.748164636 +0100 > +++ libstdc++-v3/acinclude.m4 2024-03-28 15:50:49.309905562 +0100 > @@ -4493,7 +4493,7 @@ AC_DEFUN([GLIBCXX_CHECK_GTHREADS], [ > # Check whether LC_MESSAGES is available in <locale.h>. > # Ulrich Drepper <drep...@cygnus.com>, 1995. > # > -# This file file be copied and used freely without restrictions. It can > +# This file can be copied and used freely without restrictions. It can > # be used in projects which are not available under the GNU Public License > # but which still want to provide support for the GNU gettext functionality. > # Please note that the actual code is *not* freely available. > --- libstdc++-v3/configure.host.jj 2023-09-11 11:05:47.619726474 +0200 > +++ libstdc++-v3/configure.host 2024-03-28 15:41:56.740134644 +0100 > @@ -1,7 +1,7 @@ > # configure.host > # > # This shell script handles all host based configuration for libstdc++. > -# It sets various shell variables based on the the host and the > +# It sets various shell variables based on the host and the > # configuration options. You can modify this shell script without needing > # to rerun autoconf/aclocal/etc. This file is "sourced" not executed. > # > --- libvtv/vtv_rts.cc.jj 2024-01-03 12:08:23.803590499 +0100 > +++ libvtv/vtv_rts.cc 2024-03-28 15:41:17.621665634 +0100 > @@ -1791,7 +1791,7 @@ vtv_fail (const char *msg, void **data_s > ptr_from_set_handle_handle (*data_set_ptr) : > *data_set_ptr); > buf_len = strlen (buffer); > - /* Send this to to stderr. */ > + /* Send this to stderr. */ > write (2, buffer, buf_len); > > #ifndef VTV_NO_ABORT > --- libvtv/vtv_fail.cc.jj 2024-01-03 12:08:23.804590485 +0100 > +++ libvtv/vtv_fail.cc 2024-03-28 15:41:05.055836203 +0100 > @@ -201,7 +201,7 @@ vtv_fail (const char *msg, void **data_s > ptr_from_set_handle_handle (*data_set_ptr) : > *data_set_ptr); > buf_len = strlen (buffer); > - /* Send this to to stderr. */ > + /* Send this to stderr. */ > write (2, buffer, buf_len); > > if (!vtv_no_abort) > > > Jakub >