pkgsrc/lang/gcc7/patches/patch-libcilkrts_runtime_os-unix.c
maya 15a894d9f2 Add GCC 7.1.0
GCC Java removed, package now uses ISL 0.16.1

Release notes:

We are proud to announce the next, major release of the
GNU Compiler Collection, 7.1.  This year we celebrated the 30th
anniversary of the first GCC beta release and this month
we will celebrate 30 years since the GCC 1.0 release.

GCC 7.1 is a major release containing substantial new
functionality not available in GCC 6.x or previous GCC releases.

The C++ frontend now has experimental support for all of the current C++17
draft, with the -std=c++1z and -std=gnu++1z options, and the libstdc++
library has most of the C++17 draft library features implemented too.

This releases features various improvements in the emitted diagnostics,
including improved locations, location ranges, suggestions for misspelled
identifiers, option names, fix-it hints and various new warnings
have been added.

The optimizers have been improved, with improvements appearing in all of
intra- and inter-procedural optimizations, link time optimizations and
various target backends, including, but not limited to, additions of store
merging pass, code hoisting optimization, loop splitting, and
shrink wrapping improvements.

The Address Sanitizer can now report uses of variables after leaving their
scope.  GCC now can be configured for OpenMP 4.5 offloading to NVidia PTX
GPGPUs.

Some code that compiled successfully with older GCC versions might require
some code adjustments, see http://gcc.gnu.org/gcc-7/porting_to.html for
details.

See

  https://gcc.gnu.org/gcc-7/changes.html

for more information about changes in GCC 7.1.
2017-05-03 00:21:03 +00:00

40 lines
1.4 KiB
C

$NetBSD: patch-libcilkrts_runtime_os-unix.c,v 1.1 2017/05/03 00:21:03 maya Exp $
NetBSD doesn't need additional include files too
NetBSD can also obtain number of online cpus from sysconf
NetBSD can use sched_yield for sleeping
--- libcilkrts/runtime/os-unix.c.orig 2016-12-01 14:48:49.000000000 +0000
+++ libcilkrts/runtime/os-unix.c
@@ -73,6 +73,7 @@
#elif defined __CYGWIN__ || \
defined __DragonFly__ || \
defined __FreeBSD__ || \
+ defined __NetBSD__ || \
defined __GNU__
// No additional include files
@@ -397,6 +398,7 @@ COMMON_SYSDEP int __cilkrts_hardware_cpu
defined __CYGWIN__ || \
defined __DragonFly__ || \
defined __FreeBSD__ || \
+ defined __NetBSD__ || \
(defined(__sun__) && defined(__svr4__))
return (int)sysconf(_SC_NPROCESSORS_ONLN);
#elif defined __MIC__
@@ -426,6 +428,7 @@ COMMON_SYSDEP void __cilkrts_idle(void)
// silencing workers that are not stealing work.
#if defined(__ANDROID__) || \
defined(__FreeBSD__) || \
+ defined(__NetBSD__) || \
defined(__VXWORKS__) || \
(defined(__sun__) && defined(__svr4__))
sched_yield();
@@ -456,6 +459,7 @@ COMMON_SYSDEP void __cilkrts_yield(void)
defined(__APPLE__) || \
defined(__CYGWIN__) || \
defined(__FreeBSD__) || \
+ defined(__NetBSD__) || \
defined(__VXWORKS__) || \
(defined(__sun__) && defined(__svr4__))
// Call sched_yield to yield quantum. I'm not sure why we