* C++ 20 modules
@ 2020-12-15 15:49 Nathan Sidwell
2020-12-15 22:33 ` Nathan Sidwell
0 siblings, 1 reply; 10+ messages in thread
From: Nathan Sidwell @ 2020-12-15 15:49 UTC (permalink / raw)
To: GCC Patches
I've completed merging modules to trunk modulo the testsuite. I
included a few smoke tests, but nothing more. I'll add the rest when
the smoke clears.
There will undoubtedly be issues related to configs that I've not built.
As I mentioned I did what I could.
Further, it'll undoubtedly break when you go poking at it, as we all
have unique and special sticks to poke with. This might disappoint.
But just think what had to go right to get you there :) Recently these
kinds of bugs have been simple to fix -- a thinko or simply forgetting
about a piece of C++. Please file issues in bugzilla.
There are some known omissions listed in the documentation (go read it).
Finally, thanks to the early testers, those that supported me in
implementing such an exciting feature, and those who listened to my
comments and suggestions in many WG21 meetings.
nathan
--
Nathan Sidwell
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: C++ 20 modules
2020-12-15 15:49 C++ 20 modules Nathan Sidwell
@ 2020-12-15 22:33 ` Nathan Sidwell
2020-12-15 22:42 ` Rainer Orth
2020-12-16 21:52 ` Nathan Sidwell
0 siblings, 2 replies; 10+ messages in thread
From: Nathan Sidwell @ 2020-12-15 22:33 UTC (permalink / raw)
To: GCC Patches
as expected there are a bunch of configurey type errors. I am aware of
the following:
windows build (pr 98300), insufficient #ifing. A patch is being tested
solaris 11, sys/socket.h, bcopy and poisoning. Asked jwakely to try a
patch, he seems to have a build set up.
AIX install. Testing a patch
gcc_update not touching files: fixed
libcody uses too-new options: fixed, hopefully
libcody unused variable: fixed by Marek, thanks!
nathan
--
Nathan Sidwell
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: C++ 20 modules
2020-12-15 22:33 ` Nathan Sidwell
@ 2020-12-15 22:42 ` Rainer Orth
2020-12-16 21:52 ` Nathan Sidwell
1 sibling, 0 replies; 10+ messages in thread
From: Rainer Orth @ 2020-12-15 22:42 UTC (permalink / raw)
To: Nathan Sidwell; +Cc: GCC Patches
Hi Nathan,
> as expected there are a bunch of configurey type errors. I am aware of the
> following:
[...]
> solaris 11, sys/socket.h, bcopy and poisoning. Asked jwakely to try a
> patch, he seems to have a build set up.
two more Solaris issues (will file proper PRs tomorrow):
* Solaris 11.4 <sys/uio.h> uses bzero in an unused macro, also poisoned
* Solaris 11.3 requires -lsocket -lnsl for socket functions, cc1plus
fails to link. 11.4 is fine, folded those into libc.
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: C++ 20 modules
2020-12-15 22:33 ` Nathan Sidwell
2020-12-15 22:42 ` Rainer Orth
@ 2020-12-16 21:52 ` Nathan Sidwell
2020-12-17 21:37 ` Nathan Sidwell
1 sibling, 1 reply; 10+ messages in thread
From: Nathan Sidwell @ 2020-12-16 21:52 UTC (permalink / raw)
To: GCC Patches
Several issues have been fixed today:
* Solaris headers 98315 (hopefully finally)
* install-strip 98328
* clang offsetof 98323 (I typoed the PR in the commit)
* libcody enable-checking 98311 (thanks Jakub for the followup)
* source_location etc fix from Jonathan
* More dashisms
* detailed-mem-stat init issue
I'm aware of the following:
* 98324 bootstrap with lto/PIE. I can reproduce this, investigating
* 98300 windows build, reporter has indicated patch gets further
* 98316 solaris socket lib, Rainer is developing a patch
On 12/15/20 5:33 PM, Nathan Sidwell wrote:
> as expected there are a bunch of configurey type errors. I am aware of
> the following:
>
> windows build (pr 98300), insufficient #ifing. A patch is being tested
>
> solaris 11, sys/socket.h, bcopy and poisoning. Asked jwakely to try a
> patch, he seems to have a build set up.
>
> AIX install. Testing a patch
>
> gcc_update not touching files: fixed
>
> libcody uses too-new options: fixed, hopefully
>
> libcody unused variable: fixed by Marek, thanks!
>
> nathan
>
--
Nathan Sidwell
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: C++ 20 modules
2020-12-16 21:52 ` Nathan Sidwell
@ 2020-12-17 21:37 ` Nathan Sidwell
2020-12-20 23:57 ` Gerald Pfeifer
0 siblings, 1 reply; 10+ messages in thread
From: Nathan Sidwell @ 2020-12-17 21:37 UTC (permalink / raw)
To: GCC Patches
As yesterday, several issues fixed:
* 98315 Rainer confirmed fixed
* 98300 Reported noted progress, first patch committed
* An m68k 'nop' issue fixed
* 98340 Another clang issue, fixed
* 98324 One PIC issue fixed.
* 98316 solaris libs, Rainer posted patch, which LGTM
* 98324 bootstrap with lto/PIE, still working on it.
* 98300 follow on patch pushed, waiting
On 12/16/20 4:52 PM, Nathan Sidwell wrote:
> Several issues have been fixed today:
> * Solaris headers 98315 (hopefully finally)
> * install-strip 98328
> * clang offsetof 98323 (I typoed the PR in the commit)
> * libcody enable-checking 98311 (thanks Jakub for the followup)
> * source_location etc fix from Jonathan
> * More dashisms
> * detailed-mem-stat init issue
>
> I'm aware of the following:
> * 98324 bootstrap with lto/PIE. I can reproduce this, investigating
> * 98300 windows build, reporter has indicated patch gets further
> * 98316 solaris socket lib, Rainer is developing a patch
>
> On 12/15/20 5:33 PM, Nathan Sidwell wrote:
>> as expected there are a bunch of configurey type errors. I am aware
>> of the following:
>>
>> windows build (pr 98300), insufficient #ifing. A patch is being tested
>>
>> solaris 11, sys/socket.h, bcopy and poisoning. Asked jwakely to try a
>> patch, he seems to have a build set up.
>>
>> AIX install. Testing a patch
>>
>> gcc_update not touching files: fixed
>>
>> libcody uses too-new options: fixed, hopefully
>>
>> libcody unused variable: fixed by Marek, thanks!
>>
>> nathan
>>
>
>
--
Nathan Sidwell
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: C++ 20 modules
2020-12-17 21:37 ` Nathan Sidwell
@ 2020-12-20 23:57 ` Gerald Pfeifer
2020-12-21 13:55 ` Nathan Sidwell
0 siblings, 1 reply; 10+ messages in thread
From: Gerald Pfeifer @ 2020-12-20 23:57 UTC (permalink / raw)
To: Nathan Sidwell; +Cc: GCC Patches
On Thu, 17 Dec 2020, Nathan Sidwell wrote:
> As yesterday, several issues fixed:
Here is a new one, *-unknown-freebsd11.4; with my previous patch
applied, libcody builds and we now fail in gcc/cp:
c++ -std=c++11 -fno-PIE -c -DIN_GCC_FRONTEND -g -DIN_GCC
-fno-strict-aliasing -fno-exceptions -fno-rtti
-fasynchronous-unwind-tables -W -Wall -Wno-narrow ing -Wwrite-strings
-Wcast-qual -Wno-error=format-diag -Wno-format -Wmissing-fo rmat-attribute
-Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macr os
-Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -I. -Icp
-I/scratch/tmp /gerald/GCC-HEAD/gcc -I/scratch/tmp/gerald/GCC-HEAD/gcc/cp
-I/scratch/tmp/geral d/GCC-HEAD/gcc/../include -I./../intl
-I/scratch/tmp/gerald/GCC-HEAD/gcc/../lib cpp/include
-I/scratch/tmp/gerald/GCC-HEAD/gcc/../libcody -I/home/gerald/11-i38
6/include -I/scratch/tmp/gerald/GCC-HEAD/gcc/../libdecnumber
-I/scratch/tmp/ge rald/GCC-HEAD/gcc/../libdecnumber/dpd -I../libdecnumber
-I/scratch/tmp/gerald/G CC-HEAD/gcc/../libbacktrace -o cp/mapper-client.o
-MT cp/mapper-client.o -MMD -MP -MF cp/.deps/mapper-client.TPo
/scratch/tmp/gerald/GCC-HEAD/gcc/cp/mapper-client.cc
In file included from /scratch/tmp/gerald/GCC-HEAD/gcc/cp/mapper-client.cc:31:
In file included from /scratch/tmp/gerald/GCC-HEAD/gcc/cp/mapper-client.h:26:
In file included from /scratch/tmp/gerald/GCC-HEAD/gcc/../libcody/cody.hh:24:
In file included from /usr/include/c++/v1/memory:653:
/usr/include/c++/v1/typeinfo:346:5: error: no member named 'fancy_abort' in namespace 'std::__1'; did you mean simply 'fancy_abort'?
_VSTD::abort();
^~~~~~~
/usr/include/c++/v1/__config:782:15: note: expanded from macro '_VSTD'
#define _VSTD std::_LIBCPP_ABI_NAMESPACE
^
Compiler is clang version 10.0.1.
Gerald
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: C++ 20 modules
2020-12-20 23:57 ` Gerald Pfeifer
@ 2020-12-21 13:55 ` Nathan Sidwell
2020-12-21 17:38 ` Gerald Pfeifer
0 siblings, 1 reply; 10+ messages in thread
From: Nathan Sidwell @ 2020-12-21 13:55 UTC (permalink / raw)
To: Gerald Pfeifer; +Cc: GCC Patches
[-- Attachment #1: Type: text/plain, Size: 898 bytes --]
On 12/20/20 6:57 PM, Gerald Pfeifer wrote:
> On Thu, 17 Dec 2020, Nathan Sidwell wrote:
>> As yesterday, several issues fixed:
>
> Here is a new one, *-unknown-freebsd11.4; with my previous patch
> /scratch/tmp/gerald/GCC-HEAD/gcc/cp/mapper-client.cc
> In file included from /scratch/tmp/gerald/GCC-HEAD/gcc/cp/mapper-client.cc:31:
> In file included from /scratch/tmp/gerald/GCC-HEAD/gcc/cp/mapper-client.h:26:
> In file included from /scratch/tmp/gerald/GCC-HEAD/gcc/../libcody/cody.hh:24:
> In file included from /usr/include/c++/v1/memory:653:
> /usr/include/c++/v1/typeinfo:346:5: error: no member named 'fancy_abort' in namespace 'std::__1'; did you mean simply 'fancy_abort'?
> _VSTD::abort();
> ^~~~~~~
> /usr/include/c++/v1/__config:782:15: note: expanded from macro '_VSTD'
> #define _VSTD std::_LIBCPP_ABI_NAMESPACE
> ^
Care to try this?
--
Nathan Sidwell
[-- Attachment #2: gerald.diff --]
[-- Type: text/x-patch, Size: 809 bytes --]
diff --git i/gcc/cp/mapper-client.cc w/gcc/cp/mapper-client.cc
index 2ad770b3d78..40e9283a794 100644
--- i/gcc/cp/mapper-client.cc
+++ w/gcc/cp/mapper-client.cc
@@ -24,6 +24,8 @@ along with GCC; see the file COPYING3. If not see
// will include it later under the above check
#include <sys/socket.h>
#endif
+#define INCLUDE_STRING
+#define INCLUDE_VECTOR
#include "system.h"
#include "line-map.h"
diff --git i/gcc/cp/mapper-resolver.cc w/gcc/cp/mapper-resolver.cc
index 53c482441b4..e348757d99c 100644
--- i/gcc/cp/mapper-resolver.cc
+++ w/gcc/cp/mapper-resolver.cc
@@ -21,6 +21,8 @@ along with GCC; see the file COPYING3. If not see
/* Forward to the resolver in c++tools. */
#include "config.h"
+#define INCLUDE_STRING
+#define INCLUDE_VECTOR
#define INCLUDE_ALGORITHM
#include "system.h"
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: C++ 20 modules
2020-12-21 13:55 ` Nathan Sidwell
@ 2020-12-21 17:38 ` Gerald Pfeifer
2020-12-21 17:45 ` Nathan Sidwell
0 siblings, 1 reply; 10+ messages in thread
From: Gerald Pfeifer @ 2020-12-21 17:38 UTC (permalink / raw)
To: Nathan Sidwell; +Cc: GCC Patches
[-- Attachment #1: Type: text/plain, Size: 999 bytes --]
O Mon, 21 Dec 2020, Nathan Sidwell wrote:
>> /scratch/tmp/gerald/GCC-HEAD/gcc/cp/mapper-client.cc:31:
>> In file included from
>> /scratch/tmp/gerald/GCC-HEAD/gcc/cp/mapper-client.h:26:
>> In file included from
>> /scratch/tmp/gerald/GCC-HEAD/gcc/../libcody/cody.hh:24:
>> In file included from /usr/include/c++/v1/memory:653:
>> /usr/include/c++/v1/typeinfo:346:5: error: no member named 'fancy_abort'
>> in namespace 'std::__1'; did you mean simply 'fancy_abort'?
>> _VSTD::abort();
>> ^~~~~~~
>> /usr/include/c++/v1/__config:782:15: note: expanded from macro '_VSTD'
>> #define _VSTD std::_LIBCPP_ABI_NAMESPACE
> Care to try this?
Thank you, Nathan!
This made a difference, though it appears a similar change is needed
for gcc/cp/module.cc as well, which also includes mapper-client.h.
Please find an extended patch attached.
(Bootstrap is still running, but has progressed farther than
without your patch or your original patch alone, and already
is in libstdc++ now.)
Gerald
[-- Attachment #2: Type: text/plain, Size: 1231 bytes --]
diff --git a/gcc/cp/mapper-client.cc b/gcc/cp/mapper-client.cc
index 2ad770b3d78..40e9283a794 100644
--- a/gcc/cp/mapper-client.cc
+++ b/gcc/cp/mapper-client.cc
@@ -24,6 +24,8 @@ along with GCC; see the file COPYING3. If not see
// will include it later under the above check
#include <sys/socket.h>
#endif
+#define INCLUDE_STRING
+#define INCLUDE_VECTOR
#include "system.h"
#include "line-map.h"
diff --git a/gcc/cp/mapper-resolver.cc b/gcc/cp/mapper-resolver.cc
index 53c482441b4..e348757d99c 100644
--- a/gcc/cp/mapper-resolver.cc
+++ b/gcc/cp/mapper-resolver.cc
@@ -21,6 +21,8 @@ along with GCC; see the file COPYING3. If not see
/* Forward to the resolver in c++tools. */
#include "config.h"
+#define INCLUDE_STRING
+#define INCLUDE_VECTOR
#define INCLUDE_ALGORITHM
#include "system.h"
diff --git a/gcc/cp/module.cc b/gcc/cp/module.cc
index fc918d296a2..7db312d3c44 100644
--- a/gcc/cp/module.cc
+++ b/gcc/cp/module.cc
@@ -207,6 +207,8 @@ Classes used:
#define _DEFAULT_SOURCE 1 /* To get TZ field of struct tm, if available. */
#include "config.h"
+#define INCLUDE_STRING
+#define INCLUDE_VECTOR
#include "system.h"
#include "coretypes.h"
#include "cp-tree.h"
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: C++ 20 modules
2020-12-21 17:38 ` Gerald Pfeifer
@ 2020-12-21 17:45 ` Nathan Sidwell
2020-12-22 22:48 ` Gerald Pfeifer
0 siblings, 1 reply; 10+ messages in thread
From: Nathan Sidwell @ 2020-12-21 17:45 UTC (permalink / raw)
To: Gerald Pfeifer; +Cc: GCC Patches
On 12/21/20 12:38 PM, Gerald Pfeifer wrote:
> O Mon, 21 Dec 2020, Nathan Sidwell wrote:
>>> /scratch/tmp/gerald/GCC-HEAD/gcc/cp/mapper-client.cc:31:
>>> In file included from
>>> /scratch/tmp/gerald/GCC-HEAD/gcc/cp/mapper-client.h:26:
>>> In file included from
>>> /scratch/tmp/gerald/GCC-HEAD/gcc/../libcody/cody.hh:24:
>>> In file included from /usr/include/c++/v1/memory:653:
>>> /usr/include/c++/v1/typeinfo:346:5: error: no member named 'fancy_abort'
>>> in namespace 'std::__1'; did you mean simply 'fancy_abort'?
>>> _VSTD::abort();
>>> ^~~~~~~
>>> /usr/include/c++/v1/__config:782:15: note: expanded from macro '_VSTD'
>>> #define _VSTD std::_LIBCPP_ABI_NAMESPACE
>> Care to try this?
>
> Thank you, Nathan!
>
> This made a difference, though it appears a similar change is needed
> for gcc/cp/module.cc as well, which also includes mapper-client.h.
>
> Please find an extended patch attached.
>
> (Bootstrap is still running, but has progressed farther than
> without your patch or your original patch alone, and already
> is in libstdc++ now.)
Yes, this is good. I already managed to commit some of this with the
98412 patch.
nathan
--
Nathan Sidwell
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: C++ 20 modules
2020-12-21 17:45 ` Nathan Sidwell
@ 2020-12-22 22:48 ` Gerald Pfeifer
0 siblings, 0 replies; 10+ messages in thread
From: Gerald Pfeifer @ 2020-12-22 22:48 UTC (permalink / raw)
To: Nathan Sidwell; +Cc: gcc-patches
On Mon, 21 Dec 2020, Nathan Sidwell wrote:
> Yes, this is good. I already managed to commit some of this with
> the 98412 patch.
I wasn't sure, but seeing that you had not applied this, I figured
this was approval and pushed the remaining portion this afternoon,
per the below.
Gerald
PS: I am really starting to like our use of git.
commit 7e63d383b89cd75b7775883d71ed09724b9ee73f
Author: Gerald Pfeifer <gerald@pfeifer.com>
Date: Tue Dec 22 13:37:56 2020 +0100
c++: Fix build with clang
After the addition of libcody building with clang 10.0.1 would fail
as follows:
In file included from .../libcody/cody.hh:24:
In file included from /usr/include/c++/v1/memory:653:
/usr/include/c++/v1/typeinfo:346:5: error: no member named 'fancy_abort'
in namespace 'std::__1'; did you mean simply 'fancy_abort'?
_VSTD::abort();
^~~~~~~
mapper-client.cc and mapper-resolver.cc have addressed this already
by getting <string> and <vector> included; do the same for module.cc.
gcc/cp:
2020-12-22 Gerald Pfeifer <gerald@pfeifer.com>
* module.cc (INCLUDE_STRING): Define.
(INCLUDE_VECTOR): Ditto.
diff --git a/gcc/cp/module.cc b/gcc/cp/module.cc
index 7e38293545f..ed3dbe244a3 100644
--- a/gcc/cp/module.cc
+++ b/gcc/cp/module.cc
@@ -207,6 +207,8 @@ Classes used:
#define _DEFAULT_SOURCE 1 /* To get TZ field of struct tm, if available. */
#include "config.h"
+#define INCLUDE_STRING
+#define INCLUDE_VECTOR
#include "system.h"
#include "coretypes.h"
#include "cp-tree.h"
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2020-12-22 22:48 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-15 15:49 C++ 20 modules Nathan Sidwell
2020-12-15 22:33 ` Nathan Sidwell
2020-12-15 22:42 ` Rainer Orth
2020-12-16 21:52 ` Nathan Sidwell
2020-12-17 21:37 ` Nathan Sidwell
2020-12-20 23:57 ` Gerald Pfeifer
2020-12-21 13:55 ` Nathan Sidwell
2020-12-21 17:38 ` Gerald Pfeifer
2020-12-21 17:45 ` Nathan Sidwell
2020-12-22 22:48 ` Gerald Pfeifer
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).