public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Richard Biener <richard.guenther@gmail.com>
To: Gaius Mulley <gaiusmod2@gmail.com>
Cc: GCC Patches <gcc-patches@gcc.gnu.org>
Subject: Re: [PATCH] Modula-2: merge proposal/review: 1/9 01.patch-set-01
Date: Tue, 24 May 2022 12:26:25 +0200	[thread overview]
Message-ID: <CAFiYyc1Oh9VbQSJS=JJTsOPCb4GcGhJtWEXKrU6eUCwisQ42xw@mail.gmail.com> (raw)
In-Reply-To: <871qwnvgej.fsf@debian>

On Sat, May 21, 2022 at 3:11 AM Gaius Mulley <gaiusmod2@gmail.com> wrote:
>
>
> Hi,
>
> Gaius wrote:
>
> > the changes do raise questions.  The reason for the changes here are to
> > allow easy linking for modula-2 users.
>
> >  $ gm2 hello.mod
>
> > for example will compile and link with all dependent modules (dependants
> > are generated by analysing module source imports).  The gm2 driver will
> > add objects and libraries to the link.
>
> in more detail the gm2 driver does the following:
>
>   $ gm2 -v hello.mod
>
> full output below, but to summarise and annotate:
>
> cc1gm2 generates an assembler file from hello.mod
>  as --64 /tmp/cc8BoL3d.s -o hello.o
>
>  # gm2l generates a list of all dependent modules from parsing all imports
>  /home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/gm2l -v \
>  -I/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim -o \
>  /tmp/ccSMojUb.l hello.mod
>
>  # gm2lorder reorders the critical runtime modules
>  /home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/gm2lorder \
>     /tmp/ccSMojUb.l -o /tmp/ccHDRdde.lst
>
>  # gm2lgen generates a C++ scaffold from the reordered module list
>  /home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/gm2lgen -fcpp \
>     /tmp/ccHDRdde.lst -o a-hello_m2.cpp
>
>  # cc1plus compiles the scaffold
>  /home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/cc1plus -v \
>  -mtune=generic -march=x86-64 \
>  -I/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim \
>  -quiet a-hello_m2.cpp -o a-hello_m2.s
>  as --64 a-hello_m2.s -o a-hello_m2.o
>
>  # gm2lcc creates an archive from the list of modules and the scaffold
> /home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/gm2lcc \
>   -L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim \
>   -ftarget-ar=/usr/bin/ar -ftarget-ranlib=/usr/bin/ranlib \
> -fobject-path=/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim \
>   --exec --startup a-hello_m2.o --ar -o /tmp/ccNJ60fa.a --mainobject \
>   a-hello_m2.o /tmp/ccHDRdde.lst
>
> /usr/bin/ar rc /tmp/ccNJ60fa.a  hello.o a-hello_m2.o
> /usr/bin/ranlib /tmp/ccNJ60fa.a
>
> # finally collect2 performs the link from the archive and any default
>   libraries
>
> hope this helps

Yes, it does.  So historically when there was complex massaging required
like this it was offloaded to a "helper driver".  With -flto there's lto-wrapper
(but here invoked by the linker), with ada there's gnatmake and others
and with certain targets collect2 does extra processing producing global
CTORs (or for C++ with -frepo even invoked additional compilations).

I do think that this might all belong into the main driver code but then
maybe all the different language compilation models will just make that
very hard to maintain.

As for modula-2, does

$ gm2 -c hello.mod
$ gm2 hello.o

"work"?  And what intermediate files are build systems expecting to
prevail?  Like for C/C++ code and GNU make there's the preprocessor
driven dependence generation, but otherwise a single TU usually
produces a single object file.  OTOH for GFortran a single TU might produce
multiple .mod files for example.

Btw, does

$ gcc -c hello.mod

"work" (or with -x m2 if the extension isn't auto detected)?

Richard.

>
> regards,
> Gaius
>
>
>
>
>
>
> $ ~/opt/bin/gm2 -v hello.mod
> Using built-in specs.
> COLLECT_GCC=/home/gaius/opt/bin/gm2
> COLLECT_LTO_WRAPPER=/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/lto-wrapper
> Target: x86_64-pc-linux-gnu
> Configured with: /home/gaius/GM2/graft-combine/gcc-git-devel-modula2/configure --prefix=/home/gaius/opt --libexecdir=/home/gaius/opt/lib --enable-threads=posix --enable-clocale=gnu --enable-languages=m2 --enable-multilib --enable-checking --enable-long-longx --enable-bootstrap --with-build-config=bootstrap-Og
> Thread model: posix
> Supported LTO compression algorithms: zlib
> gcc version 13.0.0 20220519 (experimental) (GCC)
> COLLECT_GCC_OPTIONS='-I/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-ftarget-ar=/usr/bin/ar' '-ftarget-ranlib=/usr/bin/ranlib' '-fobject-path=/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-x' 'modula-2' '-fplugin=m2rte' '-L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-shared-libgcc' '-v' '-mtune=generic' '-march=x86-64' '-dumpdir' 'a-'
>  /home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/cc1gm2 -iplugindir=/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/plugin -quiet -dumpdir a- -dumpbase hello.mod -dumpbase-ext .mod -mtune=generic -march=x86-64 -version -ftarget-ar=/usr/bin/ar -ftarget-ranlib=/usr/bin/ranlib -fobject-path=/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim -fplugin=m2rte -ftarget-ar=/usr/bin/ar -ftarget-ranlib=/usr/bin/ranlib -fobject-path=/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim -fplugin=m2rte -I/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim -o /tmp/cc8BoL3d.s hello.mod
> GNU Modula-2  1.9.5  (20220520)
>   grafted onto GCC 13.0.0
> Copyright (C) 2022 Free Software Foundation, Inc.
> License GPLv2: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.
> GNU Modula-2 (GCC) version 13.0.0 20220519 (experimental) (x86_64-pc-linux-gnu)
>         compiled by GNU C version 13.0.0 20220519 (experimental), GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP
>
> GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
> Versions of loaded plugins:
>  m2rte: Unknown version.
> GNU Modula-2 (GCC) version 13.0.0 20220519 (experimental) (x86_64-pc-linux-gnu)
>         compiled by GNU C version 13.0.0 20220519 (experimental), GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP
>
> GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
> Versions of loaded plugins:
>  m2rte: Unknown version.
> COLLECT_GCC_OPTIONS='-I/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-ftarget-ar=/usr/bin/ar' '-ftarget-ranlib=/usr/bin/ranlib' '-fobject-path=/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-x' 'modula-2' '-fplugin=m2rte' '-L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-shared-libgcc' '-v' '-mtune=generic' '-march=x86-64' '-dumpdir' 'a-'
>  as --64 /tmp/cc8BoL3d.s -o hello.o
> COLLECT_GCC_OPTIONS='-I/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-ftarget-ar=/usr/bin/ar' '-ftarget-ranlib=/usr/bin/ranlib' '-fobject-path=/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-x' 'modula-2' '-fplugin=m2rte' '-L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-shared-libgcc' '-v' '-mtune=generic' '-march=x86-64' '-dumpdir' 'a-'
>  /home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/gm2l -v -I/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim -o /tmp/ccSMojUb.l hello.mod
> gm2l >>> open source file: hello.mod
> COLLECT_GCC_OPTIONS='-I/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-ftarget-ar=/usr/bin/ar' '-ftarget-ranlib=/usr/bin/ranlib' '-fobject-path=/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-x' 'modula-2' '-fplugin=m2rte' '-L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-shared-libgcc' '-v' '-mtune=generic' '-march=x86-64' '-dumpdir' 'a-'
>  /home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/gm2lorder /tmp/ccSMojUb.l -o /tmp/ccHDRdde.lst
> COLLECT_GCC_OPTIONS='-I/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-ftarget-ar=/usr/bin/ar' '-ftarget-ranlib=/usr/bin/ranlib' '-fobject-path=/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-x' 'modula-2' '-fplugin=m2rte' '-L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-shared-libgcc' '-v' '-mtune=generic' '-march=x86-64' '-dumpdir' 'a-'
> COLLECT_GCC_OPTIONS='-I/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-ftarget-ar=/usr/bin/ar' '-ftarget-ranlib=/usr/bin/ranlib' '-fobject-path=/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-x' 'modula-2' '-fplugin=m2rte' '-L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-shared-libgcc' '-v' '-mtune=generic' '-march=x86-64' '-dumpdir' 'a-'
>  /home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/gm2lgen -fcpp /tmp/ccHDRdde.lst -o a-hello_m2.cpp
> COLLECT_GCC_OPTIONS='-I/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-ftarget-ar=/usr/bin/ar' '-ftarget-ranlib=/usr/bin/ranlib' '-fobject-path=/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-x' 'modula-2' '-fplugin=m2rte' '-L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-shared-libgcc' '-v' '-mtune=generic' '-march=x86-64' '-dumpdir' 'a-'
>  /home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/cc1plus -v -mtune=generic -march=x86-64 -I/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim -quiet a-hello_m2.cpp -o a-hello_m2.s
> ignoring nonexistent directory "/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/../../../../x86_64-pc-linux-gnu/include"
> #include "..." search starts here:
> #include <...> search starts here:
>  /home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim
>  /home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/../../../../include/c++/13.0.0
>  /home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/../../../../include/c++/13.0.0/x86_64-pc-linux-gnu
>  /home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/../../../../include/c++/13.0.0/backward
>  /home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/include
>  /usr/local/include
>  /home/gaius/opt/include
>  /home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/include-fixed
>  /usr/include
> End of search list.
> COLLECT_GCC_OPTIONS='-I/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-ftarget-ar=/usr/bin/ar' '-ftarget-ranlib=/usr/bin/ranlib' '-fobject-path=/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-x' 'modula-2' '-fplugin=m2rte' '-L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-shared-libgcc' '-v' '-mtune=generic' '-march=x86-64' '-dumpdir' 'a-'
>  as --64 a-hello_m2.s -o a-hello_m2.o
> COLLECT_GCC_OPTIONS='-I/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-ftarget-ar=/usr/bin/ar' '-ftarget-ranlib=/usr/bin/ranlib' '-fobject-path=/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-x' 'modula-2' '-fplugin=m2rte' '-L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-shared-libgcc' '-v' '-mtune=generic' '-march=x86-64' '-dumpdir' 'a-'
>  rm -f /tmp/ccNJ60fa.a
> COLLECT_GCC_OPTIONS='-I/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-ftarget-ar=/usr/bin/ar' '-ftarget-ranlib=/usr/bin/ranlib' '-fobject-path=/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-x' 'modula-2' '-fplugin=m2rte' '-L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-shared-libgcc' '-v' '-mtune=generic' '-march=x86-64' '-dumpdir' 'a-'
>  /home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/gm2lcc -L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim -L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim -ftarget-ar=/usr/bin/ar -ftarget-ranlib=/usr/bin/ranlib -fobject-path=/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim -v --exec --startup a-hello_m2.o --ar -o /tmp/ccNJ60fa.a --mainobject a-hello_m2.o /tmp/ccHDRdde.lst
> /usr/bin/ar rc /tmp/ccNJ60fa.a  hello.o a-hello_m2.o
> /usr/bin/ranlib /tmp/ccNJ60fa.a
> COLLECT_GCC_OPTIONS='-I/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-ftarget-ar=/usr/bin/ar' '-ftarget-ranlib=/usr/bin/ranlib' '-fobject-path=/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-x' 'modula-2' '-fplugin=m2rte' '-L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-shared-libgcc' '-v' '-mtune=generic' '-march=x86-64' '-dumpdir' 'a-'
> COMPILER_PATH=/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/:/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/:/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/:/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/:/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/
> LIBRARY_PATH=/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/:/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/../../../../lib64/:/lib/x86_64-linux-gnu/:/lib/../lib64/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib64/:/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/../../../:/lib/:/usr/lib/
> COLLECT_GCC_OPTIONS='-I/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-ftarget-ar=/usr/bin/ar' '-ftarget-ranlib=/usr/bin/ranlib' '-fobject-path=/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-x' 'modula-2' '-fplugin=m2rte' '-L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-shared-libgcc' '-v' '-mtune=generic' '-march=x86-64' '-dumpdir' 'a.'
>  /home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/collect2 -plugin /home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/liblto_plugin.so -plugin-opt=/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccyNQjVa.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 /lib/x86_64-linux-gnu/crt1.o /lib/x86_64-linux-gnu/crti.o /home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/crtbegin.o -L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim -L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim -L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0 -L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/../../../../lib64 -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib64 -L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/../../.. /tmp/ccNJ60fa.a -lm2pim -lpthread -lstdc++ -lgcc_eh -lgcc_s -lgcc -lc -lgcc_s -lgcc /home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/crtend.o /lib/x86_64-linux-gnu/crtn.o
> COLLECT_GCC_OPTIONS='-I/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-ftarget-ar=/usr/bin/ar' '-ftarget-ranlib=/usr/bin/ranlib' '-fobject-path=/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-x' 'modula-2' '-fplugin=m2rte' '-L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-L/home/gaius/opt/lib/gcc/x86_64-pc-linux-gnu/13.0.0/m2/m2pim' '-shared-libgcc' '-v' '-mtune=generic' '-march=x86-64' '-dumpdir' 'a.'

  reply	other threads:[~2022-05-24 10:26 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-18 13:45 Gaius Mulley
2022-05-20 11:45 ` Richard Biener
2022-05-20 18:53   ` Gaius Mulley
2022-05-21  1:11   ` Gaius Mulley
2022-05-24 10:26     ` Richard Biener [this message]
2022-05-24 15:45       ` Gaius Mulley
2022-05-25  9:10         ` Richard Biener
2022-05-25 19:50           ` Gaius Mulley
2022-05-27  7:40             ` Richard Biener
2022-05-28 15:34               ` Gaius Mulley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAFiYyc1Oh9VbQSJS=JJTsOPCb4GcGhJtWEXKrU6eUCwisQ42xw@mail.gmail.com' \
    --to=richard.guenther@gmail.com \
    --cc=gaiusmod2@gmail.com \
    --cc=gcc-patches@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).