This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [committed 0/4] (Partial) OpenMP 5.0 support for GCC 9


Hi Jakub,

> The OpenMP 5.0 specification, https://www.openmp.org/specifications/ ,
> has been just released a few minutes ago and to celebrate that, I've merged
> gomp-5_0-branch into trunk after bootstrapping/regtesting it on x86_64-linux and
> i686-linux.

this patch series broke the Solaris build:

/vol/gcc/src/hg/trunk/local/libgomp/affinity.c: In function 'gomp_display_affinity_place':
/vol/gcc/src/hg/trunk/local/libgomp/affinity.c:145:3: error: unknown type name 'cpu_set_t'
  145 |   cpu_set_t *cpusetp;
      |   ^~~~~~~~~
/vol/gcc/src/hg/trunk/local/libgomp/affinity.c:148:5: error: implicit declaration of function 'sprintf' [-Werror=implicit-function-declaration]
  148 |     sprintf (buf, "0-%lu", gomp_available_cpus - 1);
      |     ^~~~~~~

/vol/gcc/src/hg/trunk/local/libgomp/affinity.c:148:5: error: implicit declaration of function 'sprintf' [-Werror=implicit-function-declaration]
  148 |     sprintf (buf, "0-%lu", gomp_available_cpus - 1);
      |     ^~~~~~~
/vol/gcc/src/hg/trunk/local/libgomp/affinity.c:148:5: error: incompatible implicit declaration of built-in function 'sprintf' [-Werror]
/vol/gcc/src/hg/trunk/local/libgomp/affinity.c:29:1: note: include '<stdio.h>' or provide a declaration of 'sprintf'
   28 | #include "libgomp.h"
  +++ |+#include <stdio.h>
   29 |
/vol/gcc/src/hg/trunk/local/libgomp/affinity.c:150:5: error: implicit declaration of function 'strcpy' [-Werror=implicit-function-declaration]
  150 |     strcpy (buf, "0");
      |     ^~~~~~
/vol/gcc/src/hg/trunk/local/libgomp/affinity.c:150:5: error: incompatible implicit declaration of built-in function 'strcpy' [-Werror]
/vol/gcc/src/hg/trunk/local/libgomp/affinity.c:29:1: note: include '<string.h>' or provide a declaration of 'strcpy'
   28 | #include "libgomp.h"
  +++ |+#include <string.h>
   29 |
/vol/gcc/src/hg/trunk/local/libgomp/affinity.c:151:48: error: implicit declaration of function 'strlen' [-Werror=implicit-function-declaration]
  151 |   gomp_display_string (buffer, size, ret, buf, strlen (buf));
      |                                                ^~~~~~

/vol/gcc/src/hg/trunk/local/libgomp/teams.c: In function 'GOMP_teams_reg':
/vol/gcc/src/hg/trunk/local/libgomp/teams.c:44:19: error: 'INT_MAX' undeclared (first use in this function)
   44 |  = thread_limit > INT_MAX ? UINT_MAX : thread_limit;
      |                   ^~~~~~~
/vol/gcc/src/hg/trunk/local/libgomp/teams.c:29:1: note: 'INT_MAX' is defined in header '<limits.h>'; did you forget to '#include <limits.h>'?
   28 | #include "libgomp.h"
  +++ |+#include <limits.h>
   29 |
/vol/gcc/src/hg/trunk/local/libgomp/teams.c:44:19: note: each undeclared identifier is reported only once for each function it appears in
   44 |  = thread_limit > INT_MAX ? UINT_MAX : thread_limit;
      |                   ^~~~~~~
/vol/gcc/src/hg/trunk/local/libgomp/teams.c:44:29: error: 'UINT_MAX' undeclared (first use in this function)
   44 |  = thread_limit > INT_MAX ? UINT_MAX : thread_limit;
      |                             ^~~~~~~~

The patch below fixes this and allows the build to continue on
i386-pc-solaris2.1[01] and sparc-sun-solaris2.11.  Also built on
x86_64-pc-linux-gnu.

I guess this is obvious?

	Rainer

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


2018-11-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* affinity.c: Include <string.h>, <stdio.h>.
	(gomp_display_affinity_place): Remove cpusetp.
	* teams.c: Include <limits.h>.

# HG changeset patch
# Parent  84ce7857bee0cad12f0066cd39dcdf95644c1a6d
Fix Solaris build with OpenMP 5.0

diff --git a/libgomp/affinity.c b/libgomp/affinity.c
--- a/libgomp/affinity.c
+++ b/libgomp/affinity.c
@@ -26,6 +26,8 @@
 /* This is a generic stub implementation of a CPU affinity setting.  */
 
 #include "libgomp.h"
+#include <string.h>
+#include <stdio.h>
 
 void
 gomp_init_affinity (void)
@@ -142,7 +144,6 @@ void
 gomp_display_affinity_place (char *buffer, size_t size, size_t *ret,
 			     int place)
 {
-  cpu_set_t *cpusetp;
   char buf[sizeof (long) * 3 + 4];
   if (gomp_available_cpus > 1)
     sprintf (buf, "0-%lu", gomp_available_cpus - 1);
diff --git a/libgomp/teams.c b/libgomp/teams.c
--- a/libgomp/teams.c
+++ b/libgomp/teams.c
@@ -26,6 +26,7 @@
 /* This file handles the host TEAMS construct.  */
 
 #include "libgomp.h"
+#include <limits.h>
 
 static unsigned gomp_num_teams = 1, gomp_team_num = 0;
 

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]