summaryrefslogtreecommitdiff
path: root/rts/posix
diff options
context:
space:
mode:
authorErik de Castro Lopo <erik.decastrolopo@ambiata.com>2017-04-05 05:53:46 +1000
committerErik de Castro Lopo <erikd@mega-nerd.com>2017-04-05 05:53:47 +1000
commit7e340c2bbf4a56959bd1e95cdd1cfdb2b7e537c2 (patch)
tree0f330ad348b5100f1a21312e7c91e43966789ec8 /rts/posix
parent5e968f9261b798222a845ef38a54621b45013678 (diff)
downloadhaskell-7e340c2bbf4a56959bd1e95cdd1cfdb2b7e537c2.tar.gz
Enable new warning for fragile/incorrect CPP #if usage
The C code in the RTS now gets built with `-Wundef` and the Haskell code (stages 1 and 2 only) with `-Wcpp-undef`. We now get warnings whereever `#if` is used on undefined identifiers. Test Plan: Validate on Linux and Windows Reviewers: austin, angerman, simonmar, bgamari, Phyx Reviewed By: bgamari Subscribers: thomie, snowleopard Differential Revision: https://phabricator.haskell.org/D3278
Diffstat (limited to 'rts/posix')
-rw-r--r--rts/posix/GetTime.c2
-rw-r--r--rts/posix/OSMem.c8
-rw-r--r--rts/posix/OSThreads.c2
-rw-r--r--rts/posix/itimer/Pthread.c6
4 files changed, 9 insertions, 9 deletions
diff --git a/rts/posix/GetTime.c b/rts/posix/GetTime.c
index 4d25795948..5be9c8e350 100644
--- a/rts/posix/GetTime.c
+++ b/rts/posix/GetTime.c
@@ -190,7 +190,7 @@ void getUnixEpochTime(StgWord64 *sec, StgWord32 *nsec)
W_
getPageFaults(void)
{
-#if !defined(HAVE_GETRUSAGE) || haiku_HOST_OS
+#if !defined(HAVE_GETRUSAGE) || defined(haiku_HOST_OS)
return 0;
#else
struct rusage t;
diff --git a/rts/posix/OSMem.c b/rts/posix/OSMem.c
index dcf734f19d..48b154fa11 100644
--- a/rts/posix/OSMem.c
+++ b/rts/posix/OSMem.c
@@ -39,7 +39,7 @@
#include <errno.h>
-#if darwin_HOST_OS || ios_HOST_OS
+#if defined(darwin_HOST_OS) || defined(ios_HOST_OS)
#include <mach/mach.h>
#include <mach/vm_map.h>
#include <sys/sysctl.h>
@@ -114,7 +114,7 @@ my_mmap (void *addr, W_ size, int operation)
{
void *ret;
-#if darwin_HOST_OS
+#ifdef darwin_HOST_OS
// Without MAP_FIXED, Apple's mmap ignores addr.
// With MAP_FIXED, it overwrites already mapped regions, whic
// mmap(0, ... MAP_FIXED ...) is worst of all: It unmaps the program text
@@ -170,9 +170,9 @@ my_mmap (void *addr, W_ size, int operation)
else
flags = 0;
-#if hpux_HOST_OS
+#ifdef hpux_HOST_OS
ret = mmap(addr, size, prot, flags | MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
-#elif linux_HOST_OS
+#elif defined(linux_HOST_OS)
ret = mmap(addr, size, prot, flags | MAP_ANON | MAP_PRIVATE, -1, 0);
if (ret == (void *)-1 && errno == EPERM) {
// Linux may return EPERM if it tried to give us
diff --git a/rts/posix/OSThreads.c b/rts/posix/OSThreads.c
index 45f394208f..465c8675a3 100644
--- a/rts/posix/OSThreads.c
+++ b/rts/posix/OSThreads.c
@@ -137,7 +137,7 @@ createOSThread (OSThreadId* pId, char *name STG_UNUSED,
int result = pthread_create(pId, NULL, (void *(*)(void *))startProc, param);
if (!result) {
pthread_detach(*pId);
-#if HAVE_PTHREAD_SETNAME_NP
+#ifdef HAVE_PTHREAD_SETNAME_NP
pthread_setname_np(*pId, name);
#endif
}
diff --git a/rts/posix/itimer/Pthread.c b/rts/posix/itimer/Pthread.c
index 3b31fe4103..5c708ecf4d 100644
--- a/rts/posix/itimer/Pthread.c
+++ b/rts/posix/itimer/Pthread.c
@@ -65,7 +65,7 @@
#include <unistd.h>
#include <fcntl.h>
-#if HAVE_SYS_TIMERFD_H
+#ifdef HAVE_SYS_TIMERFD_H
#include <sys/timerfd.h>
#define USE_TIMERFD_FOR_ITIMER 1
#else
@@ -101,7 +101,7 @@ static void *itimer_thread_func(void *_handle_tick)
uint64_t nticks;
int timerfd = -1;
-#if USE_TIMERFD_FOR_ITIMER
+#if defined(USE_TIMERFD_FOR_ITIMER) && USE_TIMERFD_FOR_ITIMER
struct itimerspec it;
it.it_value.tv_sec = TimeToSeconds(itimer_interval);
it.it_value.tv_nsec = TimeToNS(itimer_interval) % 1000000000;
@@ -169,7 +169,7 @@ initTicker (Time interval, TickProc handle_tick)
* to the thread we create so we can later join to it if requested
*/
if (! pthread_create(&thread, NULL, itimer_thread_func, (void*)handle_tick)) {
-#if HAVE_PTHREAD_SETNAME_NP
+#ifdef HAVE_PTHREAD_SETNAME_NP
pthread_setname_np(thread, "ghc_ticker");
#endif
} else {