GCC 11.3.1 Status Report (2022-04-21)

2022-04-21 Thread Richard Biener via Gcc


Status
==

The gcc-11 branch is again open for regression and documentation fixes.

Quality Data


Priority  #   Change from last report
---   ---
P1  0  
P2  428   +   6
P3  55 
P4  232   +   1
P5  26+   1
---   ---
Total P1-P3 483   +   6
Total   743   +   8


Previous Report
===

https://gcc.gnu.org/pipermail/gcc/2022-April/238547.html


GCC 11.3 Released

2022-04-21 Thread Richard Biener via Gcc


The GNU Compiler Collection version 11.3 has been released.

GCC 11.3 is a bug-fix release from the GCC 11 branch containing important
fixes for regressions and serious bugs in GCC 11.2 with more than 189 bugs
fixed since the previous release.

This release is available from the WWW and FTP servers listed here:

 https://sourceware.org/pub/gcc/releases/gcc-11.3.0/
 https://gcc.gnu.org/mirrors.html

Please do not contact me directly regarding questions or comments
about this release.  Instead, use the resources available from
http://gcc.gnu.org.

As always, a vast number of people contributed to this GCC release
-- far too many to thank them individually!


unsubscribe

2022-04-21 Thread David Valtorta via Gcc
Unsubscribe

El jue., 21 abr. 2022 06:26, Richard Biener via gcc-announce <
gcc-annou...@gcc.gnu.org> escribió:

>
> The GNU Compiler Collection version 11.3 has been released.
>
> GCC 11.3 is a bug-fix release from the GCC 11 branch containing important
> fixes for regressions and serious bugs in GCC 11.2 with more than 189 bugs
> fixed since the previous release.
>
> This release is available from the WWW and FTP servers listed here:
>
>  https://sourceware.org/pub/gcc/releases/gcc-11.3.0/
>  https://gcc.gnu.org/mirrors.html
>
> Please do not contact me directly regarding questions or comments
> about this release.  Instead, use the resources available from
> http://gcc.gnu.org.
>
> As always, a vast number of people contributed to this GCC release
> -- far too many to thank them individually!
>


Re: [modules] Preprocessing requires compiled header unit modules

2022-04-21 Thread Ben Boeckel via Gcc
On Thu, Apr 21, 2022 at 06:05:52 +0200, Boris Kolpackov wrote:
> I don't think it is. A header unit (unlike a named module) may export
> macros which could affect further dependencies. Consider:
> 
> import "header-unit.hpp"; // May or may not export macro FOO.
> 
> #ifdef FOO
> import "header-unit2.hpp"
> #endif

I agree that the header needs to be *found*, but scanning cannot require
a pre-existing BMI for that header. A new mode likely needs to be laid
down to get the information necessary (instead of just piggy-backing on
`-E` behavior to get what I want).

--Ben


Re: unsubscribe

2022-04-21 Thread Jonathan Wakely via Gcc
On Thu, 21 Apr 2022 at 12:35, David Valtorta via Gcc  wrote:
>
> Unsubscribe

See https://gcc.gnu.org/lists.html#subscribe


>
> El jue., 21 abr. 2022 06:26, Richard Biener via gcc-announce <
> gcc-annou...@gcc.gnu.org> escribió:
>
> >
> > The GNU Compiler Collection version 11.3 has been released.
> >
> > GCC 11.3 is a bug-fix release from the GCC 11 branch containing important
> > fixes for regressions and serious bugs in GCC 11.2 with more than 189 bugs
> > fixed since the previous release.
> >
> > This release is available from the WWW and FTP servers listed here:
> >
> >  https://sourceware.org/pub/gcc/releases/gcc-11.3.0/
> >  https://gcc.gnu.org/mirrors.html
> >
> > Please do not contact me directly regarding questions or comments
> > about this release.  Instead, use the resources available from
> > http://gcc.gnu.org.
> >
> > As always, a vast number of people contributed to this GCC release
> > -- far too many to thank them individually!
> >


Re: [modules] Preprocessing requires compiled header unit modules

2022-04-21 Thread Iain Sandoe via Gcc
Hi Ben,

> On 21 Apr 2022, at 13:05, Ben Boeckel via Gcc  wrote:
> 
> On Thu, Apr 21, 2022 at 06:05:52 +0200, Boris Kolpackov wrote:
>> I don't think it is. A header unit (unlike a named module) may export
>> macros which could affect further dependencies. Consider:
>> 
>> import "header-unit.hpp"; // May or may not export macro FOO.

1.  If you know how this was built, then you could do an -E -fdirectives-only 
build (both
   GCC and clang support this now) to obtain the macros.

2.  I suppose we could invent a tool (or FE mode) to dump the macros exported 
by a HU ***

>> #ifdef FOO
>> import "header-unit2.hpp"
>> #endif
> 
> I agree that the header needs to be *found*, but scanning cannot require
> a pre-existing BMI for that header. A new mode likely needs to be laid
> down to get the information necessary (instead of just piggy-backing on
> `-E` behavior to get what I want).

perhaps that means (2)?

Iain

*** it’s kinda frustrating that this is hard infomation to get as a developer, 
so
perhaps we can anticipate users wanting such output.



Re: [modules] Preprocessing requires compiled header unit modules

2022-04-21 Thread Ben Boeckel via Gcc
On Thu, Apr 21, 2022 at 18:59:56 +0100, Iain Sandoe wrote:
> Hi Ben,
> 
> > On 21 Apr 2022, at 13:05, Ben Boeckel via Gcc  wrote:
> > 
> > On Thu, Apr 21, 2022 at 06:05:52 +0200, Boris Kolpackov wrote:
> >> I don't think it is. A header unit (unlike a named module) may export
> >> macros which could affect further dependencies. Consider:
> >> 
> >> import "header-unit.hpp"; // May or may not export macro FOO.
> 
> 1.  If you know how this was built, then you could do an -E -fdirectives-only 
> build (both
>GCC and clang support this now) to obtain the macros.

My understanding is that how it gets used determines how it should be
made for Clang (because the consumer's `-D`, `-W`, etc. flags matter). I
do not yet know how I am to support this in CMake.

> 2.  I suppose we could invent a tool (or FE mode) to dump the macros exported 
> by a HU ***

Fun considerations:

  - are `-D` flags exported? `-U`?
  - how about this if `value` is the same as or different from the
at-start expansion:

```c++
#undef SOME_MACRO
#define SOME_MACRO value
```

  - how about `#undef FOO`?

> >> #ifdef FOO
> >> import "header-unit2.hpp"
> >> #endif
> > 
> > I agree that the header needs to be *found*, but scanning cannot require
> > a pre-existing BMI for that header. A new mode likely needs to be laid
> > down to get the information necessary (instead of just piggy-backing on
> > `-E` behavior to get what I want).
> 
> perhaps that means (2)?

Can't it just read the header as if it wasn't imported? AFAIU, that's
what GCC did in Jan 2019. I understand that CPP state is probably not
easy, but something to consider.

> *** it’s kinda frustrating that this is hard infomation to get as a 
> developer, so
> perhaps we can anticipate users wanting such output.

I think cacheing and distributed build tools are the most likely
consumers of such information.

--Ben


Re: [modules] Preprocessing requires compiled header unit modules

2022-04-21 Thread Iain Sandoe via Gcc



> On 21 Apr 2022, at 19:08, Ben Boeckel  wrote:
> 
> On Thu, Apr 21, 2022 at 18:59:56 +0100, Iain Sandoe wrote:
>> Hi Ben,
>> 
>>> On 21 Apr 2022, at 13:05, Ben Boeckel via Gcc  wrote:
>>> 
>>> On Thu, Apr 21, 2022 at 06:05:52 +0200, Boris Kolpackov wrote:
 I don't think it is. A header unit (unlike a named module) may export
 macros which could affect further dependencies. Consider:
 
 import "header-unit.hpp"; // May or may not export macro FOO.
>> 
>> 1.  If you know how this was built, then you could do an -E 
>> -fdirectives-only build (both
>>   GCC and clang support this now) to obtain the macros.
> 
> My understanding is that how it gets used determines how it should be
> made for Clang (because the consumer's `-D`, `-W`, etc. flags matter). I
> do not yet know how I am to support this in CMake.

I think that is what I mean by “if you know how it is built” - it means you can 
replicate those
conditions, but produce the fdirectives-only output.  Perhaps I’m missing a 
subtelty …

>> 2.  I suppose we could invent a tool (or FE mode) to dump the macros 
>> exported by a HU ***
> 
> Fun considerations:
> 
>  - are `-D` flags exported? `-U`?
>  - how about this if `value` is the same as or different from the
>at-start expansion:
> 
> ```c++
> #undef SOME_MACRO
> #define SOME_MACRO value
> ```
> 
>  - how about `#undef FOO`?

AFAIU, that is defined by the standard - only the defined state of a macro is 
exported.

So if the file contains
#define FOO 1
….
….
#undef FOO

— there will be no mention of FOO in the exported macros (at least, that is what
my impl. does ;) ).

— and the output would contain 'SOME_MACRO value’ for your other case.

This is quite different from the behaviour of PCH where the macro history is 
preserved.

 #ifdef FOO
 import "header-unit2.hpp"
 #endif
>>> 
>>> I agree that the header needs to be *found*, but scanning cannot require
>>> a pre-existing BMI for that header. A new mode likely needs to be laid
>>> down to get the information necessary (instead of just piggy-backing on
>>> `-E` behavior to get what I want).
>> 
>> perhaps that means (2)?
> 
> Can't it just read the header as if it wasn't imported? AFAIU, that's
> what GCC did in Jan 2019. I understand that CPP state is probably not
> easy, but something to consider.

The BMIs (at least the two I’ve got some familiarity with) are quite complex - 
there
would have to be some mode that specifically extracted the macros only.

>> *** it’s kinda frustrating that this is hard infomation to get as a 
>> developer, so
>>perhaps we can anticipate users wanting such output.
> 
> I think cacheing and distributed build tools are the most likely
> consumers of such information.

On an “industrial scale”, sure - but the ability for a user to check that what 
they think
is present _is_ present, is valuable - at least in debug.

Iain



unsubscribe

2022-04-21 Thread Dubuc, Paul via Gcc



-Original Message-
From: gcc-announce  On Behalf 
Of Richard Biener via gcc-announce
Sent: Thursday, April 21, 2022 5:13 AM
To: gcc-annou...@gcc.gnu.org; gcc@gcc.gnu.org; info-...@gnu.org
Cc: Richard Biener 
Subject: [EXT] GCC 11.3 Released

[Actual Sender is gcc-announce-bounces+pdubuc=cas@gcc.gnu.org]

The GNU Compiler Collection version 11.3 has been released.

GCC 11.3 is a bug-fix release from the GCC 11 branch containing important fixes 
for regressions and serious bugs in GCC 11.2 with more than 189 bugs fixed 
since the previous release.

This release is available from the WWW and FTP servers listed here:

 https://sourceware.org/pub/gcc/releases/gcc-11.3.0/
 https://gcc.gnu.org/mirrors.html

Please do not contact me directly regarding questions or comments about this 
release.  Instead, use the resources available from http://gcc.gnu.org.

As always, a vast number of people contributed to this GCC release
-- far too many to thank them individually!

Confidentiality Notice: This electronic message transmission, including any 
attachment(s), may contain confidential, proprietary, or privileged information 
from CAS, a division of the American Chemical Society ("ACS"). If you have 
received this transmission in error, be advised that any disclosure, copying, 
distribution, or use of the contents of this information is strictly 
prohibited. Please destroy all copies of the message and contact the sender 
immediately by either replying to this message or calling 614-447-3600.



gcc-9-20220421 is now available

2022-04-21 Thread GCC Administrator via Gcc
Snapshot gcc-9-20220421 is now available on
  https://gcc.gnu.org/pub/gcc/snapshots/9-20220421/
and on various mirrors, see http://gcc.gnu.org/mirrors.html for details.

This snapshot has been generated from the GCC 9 git branch
with the following options: git://gcc.gnu.org/git/gcc.git branch releases/gcc-9 
revision 30e6e43f0bbd84ac01cfcbfbd4b60f4495365b7d

You'll find:

 gcc-9-20220421.tar.xzComplete GCC

  SHA256=653da91f1c3a49fd47245c8004c2b0be9e003a0a56db13e98ac4f8beeb8e3635
  SHA1=399a43207ddb2be3ea296c9e8ca276b615895cbd

Diffs from 9-20220414 are available in the diffs/ subdirectory.

When a particular snapshot is ready for public consumption the LATEST-9
link is updated and a message is sent to the gcc list.  Please do not use
a snapshot before it has been announced that way.


Why does GCC(libgcc) pack libgcc_eh.a into libgcc.a in baremetal ?

2022-04-21 Thread Jojo R via Gcc
Hi,

Are there some history or reason for this design ?
I think it’s clear & simple to keep coherent logic,
namely that there should be libgcc_eh.a for exceptions :)

Add Makefile.in segment of libgcc as following:

# Build LIB2ADDEH, LIB2ADDEHSTATIC, and LIB2ADDEHSHARED.  If we don't have
# libgcc_eh.a, only LIB2ADDEH matters.  If we do, only LIB2ADDEHSTATIC and
# LIB2ADDEHSHARED matter.  (Usually all three are identical.)

c_flags := -fexceptions

ifeq ($(enable_shared),yes)

libgcc-eh-objects += $(addsuffix $(objext),$(basename $(notdir 
$(LIB2ADDEHSTATIC
libgcc-s-objects += $(addsuffix _s$(objext),$(basename $(notdir 
$(LIB2ADDEHSHARED

iter-items := $(sort $(LIB2ADDEHSTATIC) $(LIB2ADDEHSHARED))
include $(iterator)

else
# Not shared.  LIB2ADDEH are added to libgcc.a.

libgcc-objects += $(addsuffix $(objext),$(basename $(notdir $(LIB2ADDEH

iter-items := $(LIB2ADDEH)
include $(iterator)

endif

— Jojo