c++: Another solaris header use [PR 98315]
authorNathan Sidwell <nathan@acm.org>
Wed, 16 Dec 2020 19:53:27 +0000 (11:53 -0800)
committerNathan Sidwell <nathan@acm.org>
Wed, 16 Dec 2020 19:57:31 +0000 (11:57 -0800)
Rather than early-include sys/socket.h, let's allow the includer to
tell cody no networking.

libcody/
* cody.hh: Allow user to set CODY_NETWORKING.
gcc/cp/
* mapper-resolver.cc: Remove early include of
sys/socket.h.  Specify no CODY_NETWORKING instead.
* module.cc: Specify no CODY_NETWORKING.

gcc/cp/mapper-resolver.cc
gcc/cp/module.cc
libcody/cody.hh

index 8e968c5255613af159035d2b3ded522dd74d19ae..53c482441b47de55f0bed60fa38e897f0a9292a6 100644 (file)
@@ -21,13 +21,9 @@ along with GCC; see the file COPYING3.  If not see
 /* Forward to the resolver in c++tools.  */
 
 #include "config.h"
-#if defined (__unix__)
-// Solaris11's socket header used bcopy, which we poison.  cody.hh
-// will include it later under the above check
-#include <sys/socket.h>
-#endif
-
 #define INCLUDE_ALGORITHM
 #include "system.h"
 
+// We don't want or need to be aware of networking
+#define CODY_NETWORKING 0
 #include "../../c++tools/resolver.cc"
index e9ea18636b4286d8fc88314dbe35a2cd1cce01a4..2318489d9d4d6090e771473f4812046c29bdf7ed 100644 (file)
@@ -207,7 +207,6 @@ Classes used:
 
 #define _DEFAULT_SOURCE 1 /* To get TZ field of struct tm, if available.  */
 #include "config.h"
-
 #include "system.h"
 #include "coretypes.h"
 #include "cp-tree.h"
@@ -229,6 +228,8 @@ Classes used:
 #include "attribs.h"
 #include "intl.h"
 #include "langhooks.h"
+/* This TU doesn't need or want to see the networking.  */
+#define CODY_NETWORKING 0
 #include "mapper-client.h"
 
 #if HAVE_MMAP_FILE && _POSIX_MAPPED_FILES > 0
index 31d9c182cbe9c1a3a4dbd175e89a10ebdb06f6fc..789ce9e70b752e2eb10d1b4419e0d4140f6beb6a 100644 (file)
@@ -5,6 +5,9 @@
 #ifndef CODY_HH
 #define CODY_HH 1
 
+// If the user specifies this as non-zero, it must be what we expect,
+// generally only good for requesting no networking
+#if !defined (CODY_NETWORKING)
 // Have a known-good list of networking systems
 #if defined (__unix__) || defined (__MACH__)
 #define CODY_NETWORKING 1
@@ -15,6 +18,7 @@
 #undef CODY_NETWORKING
 #define CODY_NETWORKING 0
 #endif
+#endif
 
 // C++
 #include <memory>