Modern Standard Libraries

2022-02-24 Thread Luis Gerardo via Gcc
Hi, I am working on implementing a modern standard library for C++ that is
based on security and simplicity (but still as efficient as possible). That
tries to solve concurrent programming problems. Of course, all using
preferably the standard C++ libraries as well as some use of the modern C
standard.


gcc-9-20220224 is now available

2022-02-24 Thread GCC Administrator via Gcc
Snapshot gcc-9-20220224 is now available on
  https://gcc.gnu.org/pub/gcc/snapshots/9-20220224/
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 871f72c26dab9b8080421c78b6e78902c6e6c945

You'll find:

 gcc-9-20220224.tar.xzComplete GCC

  SHA256=8a74941d92e19353434ca7ecf9bd1fa2238b8d654508951aeb3ab8acc4efd8ae
  SHA1=4ab43b23978fda738d87f7aa2c173421cd983784

Diffs from 9-20220217 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.


[modules] Preprocessing requires compiled header unit modules

2022-02-24 Thread Ben Boeckel via Gcc
Hi,

I'm looking to update my patch which implements P1689[1] for GCC. I
originally wrote this back in February 2019 at Kona for a proof of
concept[2], but never really got the time to delve back in until now.
I'd like to get header units implemented prior to submitting it as it
will be an important part in the long run (as I don't think having a
partial implementation in the wild would be beneficial).

Now that modules have been merged, my patch works just fine for named
modules. However, for header unit modules, it runs into a problem that
imported header units are required to be compiled and available in the
mapper while scanning for dependencies.

Example code:

```c++ # use-header.cpp
module;

import "header-unit.hpp";

int main(int argc, char* argv[]) {
return good;
}
```

```c++ # header-unit.hpp
constexpr int good = 0;
```

When trying to preprocess this:

```console
% g++ -std=c++20 -fmodules-ts -E use-header.cpp -o use-header.cpp.i
In module imported at use-header.cpp:3:1:
./header-unit.hpp: error: failed to read compiled module: No such file or 
directory
./header-unit.hpp: note: compiled module file is 
‘gcm.cache/,/header-unit.hpp.gcm’
./header-unit.hpp: note: imports must be built before being imported
./header-unit.hpp: fatal error: returning to the gate for a mechanical issue
compilation terminated
```

There used to be no need to do this back prior to the modules landing in
`master`, but I can see this being an oversight in the meantime. I am
not familiar enough with the code to know how to untangle its current
state (attempting to bisect the change throws me back in to the depths
of the history without modules so "does it work" is unanswerable there).

I tried this on commits:

4efde6781bba8d64b9dcff07e7efe71d35aa6f6a c++: Modules Is Landing
f4ed267fa5b82d6dafbc8afc82baf45bfcae549c master as of the 23rd

Thanks,

--Ben

[1] https://wg21.link/p1689r4
[2] https://github.com/mathstuf/cxx-modules-sandbox/ (see the `docker`
branch for the instructions on putting things together)


Beginning OpenMP Threads

2022-02-24 Thread Mohamed Atef via Gcc
Hello everyone,
  From OpenMP specs.
"The OpenMP implementation must execute ompd_bp_thread_begin at every
native-thread-begin and initial-thread-begin event. This execution occurs
before the thread starts
the execution of any OpenMP region"

"When terminating an OpenMP thread, the implementation executes
ompd_bp_thread_end."

are these team_start and team_end in team.c file?

Thanks
Mohamed