public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] 0/19 modula-2 front end patches overview
@ 2022-10-10 15:31 Gaius Mulley
  2022-10-12 12:31 ` Rainer Orth
  2022-11-11 14:02 ` Richard Biener
  0 siblings, 2 replies; 7+ messages in thread
From: Gaius Mulley @ 2022-10-10 15:31 UTC (permalink / raw)
  To: gcc-patches


Here are the latest modula-2 front end patches for review.
The status of the patches and their contents are also contained at:

   https://splendidisolation.ddns.net/public/modula2/patchsummary.html

where they are also broken down into topic groups.

In summary the high level changes from the last posting are:

   * the driver code has been completely rewritten and it is now based
     on the fortran driver and the c++ driver.  The gm2 driver adds
     paths/libraries depending upon dialect chosen.
   * the linking mechanism has been completely redesigned
     (As per
     https://gcc.gnu.org/pipermail/gcc-patches/2022-May/595725.html).
     Objects can be linked via g++.  New linking options
     are available to allow linking with/without a scaffold.
   * gcc/m2/Make-lang.in (rewritten).
   * gm2tools/ removed and any required functionality with the
     new linking mechanism has been moved into cc1gm2.

The gm2 testsuite has been extended to test project linking
options.

Testing
=======

1. bootstrap on gcc-13 master --enable-languages=c,c++,fortran,d,lto

2. bootstrap on gcc-13 devel/modula-2 --enable-languages=c,c++,fortran,d,lto
   no extra failures seen between contrib/compare_diffs 1 2

3. bootstrap on gcc-13 devel/modula-2 --enable-languages=c,c++,fortran,d,lto,m2
   no extra no m2 failures seen between contrib/compare_diffs 2 3

Steps 1, 2, 3 were performed on amd64 and aarch64 systems.

The devel/modula-2 branch has been bootstrapped on:

   amd64 (debian bullseye/suse leap, suse tumbleweed),
   aarch64 (debian bullseye),
   armv7l (raspian),
   ppc64 (GNU/Linux),
   ppc64le (GNU/Linux),
   i586 (debian bullseye),
   sparc64 solaris
   sparc32 solaris

and built on

   NetBSD 9.2 sparc64
   OpenBSD amd64

Sources
=======

The patch set files follow in subsequent emails for review and copies
can be found in the tarball below.  For ease of testing the full front
end is also available via:

  git clone git://gcc.gnu.org/git/gcc.git gcc-git-devel-modula2
  cd gcc-git-devel-modula2
  git checkout devel/modula-2

The complete patch set is also available from:

  https://splendidisolation.ddns.net/public/modula2/gm2patchset.tar.gz

which can be applied to the gcc-13 master branch via:

  git clone git://gcc.gnu.org/git/gcc.git gcc-git
  wget --no-check-certificate \
  https://splendidisolation.ddns.net/public/modula2/gm2patchset.tar.gz
  tar zxf gm2patchset.tar.gz
  bash gm2patchset/apply-patch.bash gcc-git
  bash gm2patchset/pre-configure.bash gcc-git # regenerates configure and friends

when the script has completed the master branch should be identical
to git branch devel/modula-2 above modulo recent git master commits.

Review Patch Set
================

Here are all the source infrastructure files and all the c++/c sources
(minus the bootstrap tools as these are autogenerated from the
modula-2 sources).  I've not included the modula-2 sources (patch sets
18 and 19) in these emails as an attempt to reduce the email volume.
They are available in
https://splendidisolation.ddns.net/public/modula2/gm2patchset.tar.gz
and of course the git repro.

I'm happy to convert the documentation into sphynx and at a convenient
point would like to post the analyser patches for modula2.

Thank you for reviewing the patches and thank you to all the testers

regards,
Gaius

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] 0/19 modula-2 front end patches overview
  2022-10-10 15:31 [PATCH] 0/19 modula-2 front end patches overview Gaius Mulley
@ 2022-10-12 12:31 ` Rainer Orth
  2022-10-12 13:06   ` Gaius Mulley
  2022-11-11 14:02 ` Richard Biener
  1 sibling, 1 reply; 7+ messages in thread
From: Rainer Orth @ 2022-10-12 12:31 UTC (permalink / raw)
  To: Gaius Mulley via Gcc-patches; +Cc: Gaius Mulley

Hi Gaius,

> Testing
> =======
[...]
> The devel/modula-2 branch has been bootstrapped on:
>
[...]
>    sparc64 solaris
>    sparc32 solaris

which versions exactly did you run those bootstraps on?  I'm asking
because for Solaris 11.4/SPARCV9 (sparcv9-sun-solaris2.11) was fine,
while Solaris 11.4/SPARC (sparc-sun-solaris2.11) still runs into PR
modula2/101392 (cc1gm2 -fdump-system-exports SEGV on Solaris/SPARC).

For good measure, I also tried Solaris 11.3/SPARC (matching gcc211 in
the cfarm), but that only revealed a couple of additional issues not
seen on 11.4:

modula2/107233	gm2 build hardcodes python3
modula2/107234	Format error in m2pp.cc (m2pp_integer_cst)
modula2/107235	m2/boot-bin/mc leaks file descriptors

before running into the same SEGV in the end.

Just for the record, both Solaris 11.4/amd64 (amd64-pc-solaris2.11) and
Solaris 11.4/i386 (i386-pc-solaris2.11) are fine.

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] 0/19 modula-2 front end patches overview
  2022-10-12 12:31 ` Rainer Orth
@ 2022-10-12 13:06   ` Gaius Mulley
  0 siblings, 0 replies; 7+ messages in thread
From: Gaius Mulley @ 2022-10-12 13:06 UTC (permalink / raw)
  To: Rainer Orth; +Cc: Gaius Mulley via Gcc-patches

Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes:

> Hi Gaius,
>
>> Testing
>> =======
> [...]
>> The devel/modula-2 branch has been bootstrapped on:
>>
> [...]
>>    sparc64 solaris
>>    sparc32 solaris
>
> which versions exactly did you run those bootstraps on?  I'm asking
> because for Solaris 11.4/SPARCV9 (sparcv9-sun-solaris2.11) was fine,
> while Solaris 11.4/SPARC (sparc-sun-solaris2.11) still runs into PR
> modula2/101392 (cc1gm2 -fdump-system-exports SEGV on Solaris/SPARC).

Hi Rainer,

ah very sorry - I thought I was relaying a summary of your findings.
Thanks for the clarification and detailed correction.

> For good measure, I also tried Solaris 11.3/SPARC (matching gcc211 in
> the cfarm), but that only revealed a couple of additional issues not
> seen on 11.4:
>
> modula2/107233	gm2 build hardcodes python3
> modula2/107234	Format error in m2pp.cc (m2pp_integer_cst)
> modula2/107235	m2/boot-bin/mc leaks file descriptors
>
> before running into the same SEGV in the end.

thanks for the PRs above - will apply fixes to the first two and
examine the 3rd (again).

> Just for the record, both Solaris 11.4/amd64 (amd64-pc-solaris2.11) and
> Solaris 11.4/i386 (i386-pc-solaris2.11) are fine.

great news and thanks for this report,

regards,
Gaius

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] 0/19 modula-2 front end patches overview
  2022-10-10 15:31 [PATCH] 0/19 modula-2 front end patches overview Gaius Mulley
  2022-10-12 12:31 ` Rainer Orth
@ 2022-11-11 14:02 ` Richard Biener
  2022-11-14 13:57   ` Gaius Mulley
  2022-11-30 13:29   ` Richard Biener
  1 sibling, 2 replies; 7+ messages in thread
From: Richard Biener @ 2022-11-11 14:02 UTC (permalink / raw)
  To: Gaius Mulley; +Cc: gcc-patches, Jakub Jelinek, Joseph S. Myers

On Mon, Oct 10, 2022 at 5:32 PM Gaius Mulley via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
>
> Here are the latest modula-2 front end patches for review.
> The status of the patches and their contents are also contained at:
>
>    https://splendidisolation.ddns.net/public/modula2/patchsummary.html
>
> where they are also broken down into topic groups.
>
> In summary the high level changes from the last posting are:
>
>    * the driver code has been completely rewritten and it is now based
>      on the fortran driver and the c++ driver.  The gm2 driver adds
>      paths/libraries depending upon dialect chosen.
>    * the linking mechanism has been completely redesigned
>      (As per
>      https://gcc.gnu.org/pipermail/gcc-patches/2022-May/595725.html).
>      Objects can be linked via g++.  New linking options
>      are available to allow linking with/without a scaffold.
>    * gcc/m2/Make-lang.in (rewritten).
>    * gm2tools/ removed and any required functionality with the
>      new linking mechanism has been moved into cc1gm2.
>
> The gm2 testsuite has been extended to test project linking
> options.

Thanks for these improvements!

The frontend specific parts are a lot to digest and I think it isn't
too important to
wait for the unlikely event that all of that gets a review.  I'm
trusting you here
as a maintainer and also based on the use of the frontend out in the wild.
I've CCed the other two RMs for their opinion on this.

I hope to get to the driver parts that I reviewed the last time, I'd
appreciate a look
on the runtime library setup by somebody else.

I think it's important to get this (and the rust frontend) into the tree before
Christmas holidays so it gets exposed to the more weird treatment of some
of our users (build wise).  This way we can develop either a negative or
positive list of host/targets where to disable the new frontends.

Thanks,
Richard.

>
> Testing
> =======
>
> 1. bootstrap on gcc-13 master --enable-languages=c,c++,fortran,d,lto
>
> 2. bootstrap on gcc-13 devel/modula-2 --enable-languages=c,c++,fortran,d,lto
>    no extra failures seen between contrib/compare_diffs 1 2
>
> 3. bootstrap on gcc-13 devel/modula-2 --enable-languages=c,c++,fortran,d,lto,m2
>    no extra no m2 failures seen between contrib/compare_diffs 2 3
>
> Steps 1, 2, 3 were performed on amd64 and aarch64 systems.
>
> The devel/modula-2 branch has been bootstrapped on:
>
>    amd64 (debian bullseye/suse leap, suse tumbleweed),
>    aarch64 (debian bullseye),
>    armv7l (raspian),
>    ppc64 (GNU/Linux),
>    ppc64le (GNU/Linux),
>    i586 (debian bullseye),
>    sparc64 solaris
>    sparc32 solaris
>
> and built on
>
>    NetBSD 9.2 sparc64
>    OpenBSD amd64
>
> Sources
> =======
>
> The patch set files follow in subsequent emails for review and copies
> can be found in the tarball below.  For ease of testing the full front
> end is also available via:
>
>   git clone git://gcc.gnu.org/git/gcc.git gcc-git-devel-modula2
>   cd gcc-git-devel-modula2
>   git checkout devel/modula-2
>
> The complete patch set is also available from:
>
>   https://splendidisolation.ddns.net/public/modula2/gm2patchset.tar.gz
>
> which can be applied to the gcc-13 master branch via:
>
>   git clone git://gcc.gnu.org/git/gcc.git gcc-git
>   wget --no-check-certificate \
>   https://splendidisolation.ddns.net/public/modula2/gm2patchset.tar.gz
>   tar zxf gm2patchset.tar.gz
>   bash gm2patchset/apply-patch.bash gcc-git
>   bash gm2patchset/pre-configure.bash gcc-git # regenerates configure and friends
>
> when the script has completed the master branch should be identical
> to git branch devel/modula-2 above modulo recent git master commits.
>
> Review Patch Set
> ================
>
> Here are all the source infrastructure files and all the c++/c sources
> (minus the bootstrap tools as these are autogenerated from the
> modula-2 sources).  I've not included the modula-2 sources (patch sets
> 18 and 19) in these emails as an attempt to reduce the email volume.
> They are available in
> https://splendidisolation.ddns.net/public/modula2/gm2patchset.tar.gz
> and of course the git repro.
>
> I'm happy to convert the documentation into sphynx and at a convenient
> point would like to post the analyser patches for modula2.
>
> Thank you for reviewing the patches and thank you to all the testers
>
> regards,
> Gaius

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] 0/19 modula-2 front end patches overview
  2022-11-11 14:02 ` Richard Biener
@ 2022-11-14 13:57   ` Gaius Mulley
  2022-11-30 13:29   ` Richard Biener
  1 sibling, 0 replies; 7+ messages in thread
From: Gaius Mulley @ 2022-11-14 13:57 UTC (permalink / raw)
  To: Richard Biener; +Cc: gcc-patches, Jakub Jelinek, Joseph S. Myers

Richard Biener <richard.guenther@gmail.com> writes:

> On Mon, Oct 10, 2022 at 5:32 PM Gaius Mulley via Gcc-patches
> <gcc-patches@gcc.gnu.org> wrote:
>>
>>
>> Here are the latest modula-2 front end patches for review.
>> The status of the patches and their contents are also contained at:
>>
>>    https://splendidisolation.ddns.net/public/modula2/patchsummary.html
>>
>> where they are also broken down into topic groups.
>>
>> In summary the high level changes from the last posting are:
>>
>>    * the driver code has been completely rewritten and it is now based
>>      on the fortran driver and the c++ driver.  The gm2 driver adds
>>      paths/libraries depending upon dialect chosen.
>>    * the linking mechanism has been completely redesigned
>>      (As per
>>      https://gcc.gnu.org/pipermail/gcc-patches/2022-May/595725.html).
>>      Objects can be linked via g++.  New linking options
>>      are available to allow linking with/without a scaffold.
>>    * gcc/m2/Make-lang.in (rewritten).
>>    * gm2tools/ removed and any required functionality with the
>>      new linking mechanism has been moved into cc1gm2.
>>
>> The gm2 testsuite has been extended to test project linking
>> options.
>
> Thanks for these improvements!

the front end feels alot cleaner now!

> The frontend specific parts are a lot to digest and I think it isn't
> too important to wait for the unlikely event that all of that gets a
> review.  I'm trusting you here as a maintainer and also based on the
> use of the frontend out in the wild.  I've CCed the other two RMs for
> their opinion on this.
>
> I hope to get to the driver parts that I reviewed the last time, I'd
> appreciate a look on the runtime library setup by somebody else.
>
> I think it's important to get this (and the rust frontend) into the tree before
> Christmas holidays so it gets exposed to the more weird treatment of some
> of our users (build wise).  This way we can develop either a negative or
> positive list of host/targets where to disable the new frontends.

great news thanks - yes this makes sense,

regards,
Gaius

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] 0/19 modula-2 front end patches overview
  2022-11-11 14:02 ` Richard Biener
  2022-11-14 13:57   ` Gaius Mulley
@ 2022-11-30 13:29   ` Richard Biener
  2022-12-05 13:33     ` Gaius Mulley
  1 sibling, 1 reply; 7+ messages in thread
From: Richard Biener @ 2022-11-30 13:29 UTC (permalink / raw)
  To: Gaius Mulley; +Cc: gcc-patches, Jakub Jelinek, Joseph S. Myers

On Fri, Nov 11, 2022 at 3:02 PM Richard Biener
<richard.guenther@gmail.com> wrote:
>
> On Mon, Oct 10, 2022 at 5:32 PM Gaius Mulley via Gcc-patches
> <gcc-patches@gcc.gnu.org> wrote:
> >
> >
> > Here are the latest modula-2 front end patches for review.
> > The status of the patches and their contents are also contained at:
> >
> >    https://splendidisolation.ddns.net/public/modula2/patchsummary.html
> >
> > where they are also broken down into topic groups.
> >
> > In summary the high level changes from the last posting are:
> >
> >    * the driver code has been completely rewritten and it is now based
> >      on the fortran driver and the c++ driver.  The gm2 driver adds
> >      paths/libraries depending upon dialect chosen.
> >    * the linking mechanism has been completely redesigned
> >      (As per
> >      https://gcc.gnu.org/pipermail/gcc-patches/2022-May/595725.html).
> >      Objects can be linked via g++.  New linking options
> >      are available to allow linking with/without a scaffold.
> >    * gcc/m2/Make-lang.in (rewritten).
> >    * gm2tools/ removed and any required functionality with the
> >      new linking mechanism has been moved into cc1gm2.
> >
> > The gm2 testsuite has been extended to test project linking
> > options.
>
> Thanks for these improvements!
>
> The frontend specific parts are a lot to digest and I think it isn't
> too important to
> wait for the unlikely event that all of that gets a review.  I'm
> trusting you here
> as a maintainer and also based on the use of the frontend out in the wild.
> I've CCed the other two RMs for their opinion on this.

There's consensus on this from at least the majority of the RMs now.

> I hope to get to the driver parts that I reviewed the last time, I'd
> appreciate a look
> on the runtime library setup by somebody else.
>
> I think it's important to get this (and the rust frontend) into the tree before
> Christmas holidays so it gets exposed to the more weird treatment of some
> of our users (build wise).  This way we can develop either a negative or
> positive list of host/targets where to disable the new frontends.

So let's go ahead with the Modula-2 merge.  Gaius, can you post a final
series of the patches and perform the merging please?

Thus - OK to merge to trunk!

Thanks,
Richard.

> Thanks,
> Richard.
>
> >
> > Testing
> > =======
> >
> > 1. bootstrap on gcc-13 master --enable-languages=c,c++,fortran,d,lto
> >
> > 2. bootstrap on gcc-13 devel/modula-2 --enable-languages=c,c++,fortran,d,lto
> >    no extra failures seen between contrib/compare_diffs 1 2
> >
> > 3. bootstrap on gcc-13 devel/modula-2 --enable-languages=c,c++,fortran,d,lto,m2
> >    no extra no m2 failures seen between contrib/compare_diffs 2 3
> >
> > Steps 1, 2, 3 were performed on amd64 and aarch64 systems.
> >
> > The devel/modula-2 branch has been bootstrapped on:
> >
> >    amd64 (debian bullseye/suse leap, suse tumbleweed),
> >    aarch64 (debian bullseye),
> >    armv7l (raspian),
> >    ppc64 (GNU/Linux),
> >    ppc64le (GNU/Linux),
> >    i586 (debian bullseye),
> >    sparc64 solaris
> >    sparc32 solaris
> >
> > and built on
> >
> >    NetBSD 9.2 sparc64
> >    OpenBSD amd64
> >
> > Sources
> > =======
> >
> > The patch set files follow in subsequent emails for review and copies
> > can be found in the tarball below.  For ease of testing the full front
> > end is also available via:
> >
> >   git clone git://gcc.gnu.org/git/gcc.git gcc-git-devel-modula2
> >   cd gcc-git-devel-modula2
> >   git checkout devel/modula-2
> >
> > The complete patch set is also available from:
> >
> >   https://splendidisolation.ddns.net/public/modula2/gm2patchset.tar.gz
> >
> > which can be applied to the gcc-13 master branch via:
> >
> >   git clone git://gcc.gnu.org/git/gcc.git gcc-git
> >   wget --no-check-certificate \
> >   https://splendidisolation.ddns.net/public/modula2/gm2patchset.tar.gz
> >   tar zxf gm2patchset.tar.gz
> >   bash gm2patchset/apply-patch.bash gcc-git
> >   bash gm2patchset/pre-configure.bash gcc-git # regenerates configure and friends
> >
> > when the script has completed the master branch should be identical
> > to git branch devel/modula-2 above modulo recent git master commits.
> >
> > Review Patch Set
> > ================
> >
> > Here are all the source infrastructure files and all the c++/c sources
> > (minus the bootstrap tools as these are autogenerated from the
> > modula-2 sources).  I've not included the modula-2 sources (patch sets
> > 18 and 19) in these emails as an attempt to reduce the email volume.
> > They are available in
> > https://splendidisolation.ddns.net/public/modula2/gm2patchset.tar.gz
> > and of course the git repro.
> >
> > I'm happy to convert the documentation into sphynx and at a convenient
> > point would like to post the analyser patches for modula2.
> >
> > Thank you for reviewing the patches and thank you to all the testers
> >
> > regards,
> > Gaius

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] 0/19 modula-2 front end patches overview
  2022-11-30 13:29   ` Richard Biener
@ 2022-12-05 13:33     ` Gaius Mulley
  0 siblings, 0 replies; 7+ messages in thread
From: Gaius Mulley @ 2022-12-05 13:33 UTC (permalink / raw)
  To: Richard Biener; +Cc: gcc-patches, Jakub Jelinek, Joseph S. Myers

Richard Biener <richard.guenther@gmail.com> writes:

>>
>> I think it's important to get this (and the rust frontend) into the tree before
>> Christmas holidays so it gets exposed to the more weird treatment of some
>> of our users (build wise).  This way we can develop either a negative or
>> positive list of host/targets where to disable the new frontends.
>
> So let's go ahead with the Modula-2 merge.  Gaius, can you post a final
> series of the patches and perform the merging please?
>
> Thus - OK to merge to trunk!
>
> Thanks,
> Richard.

Hi Richard,

certainly will do - and thanks!

regards,
Gaius

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-12-05 13:33 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-10 15:31 [PATCH] 0/19 modula-2 front end patches overview Gaius Mulley
2022-10-12 12:31 ` Rainer Orth
2022-10-12 13:06   ` Gaius Mulley
2022-11-11 14:02 ` Richard Biener
2022-11-14 13:57   ` Gaius Mulley
2022-11-30 13:29   ` Richard Biener
2022-12-05 13:33     ` Gaius Mulley

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).