From de85fbe1dc7cf429a1893ee6c807bde893e171a4 Mon Sep 17 00:00:00 2001 From: Carlo Wood Date: Mon, 24 Oct 2016 18:42:48 +0200 Subject: [PATCH] Remaining fixes needed before running Tools/fix_headers.sh --> "systemlib/err.h" that fix_headers.sh would miss because it comes after code it doesn't understand. Effectively remove the '__EXPORT extern perf_counter_t perf_alloc(' line, because currently perf_alloc is defined to be NULL, and after running fix_headers.sh that happens *before* this header is included (the order of headers will be changed). Do not define NULL to be (void*)0: that only works for C. In fact, the conversions needed for NULL are so full of exceptions that standard C++ introduced a new *keyword*: nullptr. That's what we really should be using for C++ code. In this case I just include the correct header to define NULL the correct way. Not really related to the header line: Removed an #include because I noted that px4_time.h was already included... and moved a #include to the top of the file (not really a fan of including headers in the middle unless absolutely necessary). Removed a include of queue.h because I noted it wasn't used. --- src/modules/systemlib/perf_counter.c | 2 +- src/modules/systemlib/perf_counter.h | 2 ++ src/platforms/posix/include/queue.h | 9 ++++++--- src/platforms/posix/px4_layer/drv_hrt.c | 1 - src/platforms/posix/work_queue/hrt_work_cancel.c | 2 +- src/platforms/qurt/include/queue.h | 9 ++++++--- src/platforms/qurt/px4_layer/drv_hrt.c | 3 +-- 7 files changed, 17 insertions(+), 11 deletions(-) diff --git a/src/modules/systemlib/perf_counter.c b/src/modules/systemlib/perf_counter.c index 227119df7d..07f51eacc4 100644 --- a/src/modules/systemlib/perf_counter.c +++ b/src/modules/systemlib/perf_counter.c @@ -294,7 +294,7 @@ perf_end(perf_counter_t handle) } } -#include +#include "systemlib/err.h" void perf_set_elapsed(perf_counter_t handle, int64_t elapsed) diff --git a/src/modules/systemlib/perf_counter.h b/src/modules/systemlib/perf_counter.h index f4669f172f..ced816e76a 100644 --- a/src/modules/systemlib/perf_counter.h +++ b/src/modules/systemlib/perf_counter.h @@ -64,7 +64,9 @@ __BEGIN_DECLS * @return Handle for the new counter, or NULL if a counter * could not be allocated. */ +#ifndef perf_alloc // perf_alloc might be defined to be NULL in src/modules/px4iofirmware/px4io.h __EXPORT extern perf_counter_t perf_alloc(enum perf_counter_type type, const char *name); +#endif /** * Get the reference to an existing counter or create a new one if it does not exist. diff --git a/src/platforms/posix/include/queue.h b/src/platforms/posix/include/queue.h index 30dc264f3f..d6315ca172 100644 --- a/src/platforms/posix/include/queue.h +++ b/src/platforms/posix/include/queue.h @@ -42,6 +42,12 @@ #include +#ifdef __cplusplus +#include // NULL +#else +#include // NULL +#endif + /************************************************************************ * Pre-processor Definitions ************************************************************************/ @@ -61,9 +67,6 @@ // Required for Linux #define FAR -#ifndef NULL -#define NULL (void *)0 -#endif /************************************************************************ * Global Type Declarations diff --git a/src/platforms/posix/px4_layer/drv_hrt.c b/src/platforms/posix/px4_layer/drv_hrt.c index 8f7b99592d..4f9b4e824c 100644 --- a/src/platforms/posix/px4_layer/drv_hrt.c +++ b/src/platforms/posix/px4_layer/drv_hrt.c @@ -94,7 +94,6 @@ static void hrt_unlock(void) } #if defined(__PX4_APPLE_LEGACY) -#include #include int px4_clock_gettime(clockid_t clk_id, struct timespec *tp) diff --git a/src/platforms/posix/work_queue/hrt_work_cancel.c b/src/platforms/posix/work_queue/hrt_work_cancel.c index d8c5957c0b..a1af842ca5 100644 --- a/src/platforms/posix/work_queue/hrt_work_cancel.c +++ b/src/platforms/posix/work_queue/hrt_work_cancel.c @@ -39,8 +39,8 @@ #include #include -#include #include + #include "hrt_work.h" /**************************************************************************** diff --git a/src/platforms/qurt/include/queue.h b/src/platforms/qurt/include/queue.h index 30dc264f3f..d6315ca172 100644 --- a/src/platforms/qurt/include/queue.h +++ b/src/platforms/qurt/include/queue.h @@ -42,6 +42,12 @@ #include +#ifdef __cplusplus +#include // NULL +#else +#include // NULL +#endif + /************************************************************************ * Pre-processor Definitions ************************************************************************/ @@ -61,9 +67,6 @@ // Required for Linux #define FAR -#ifndef NULL -#define NULL (void *)0 -#endif /************************************************************************ * Global Type Declarations diff --git a/src/platforms/qurt/px4_layer/drv_hrt.c b/src/platforms/qurt/px4_layer/drv_hrt.c index bdc49da74a..3ca4cbfe9c 100644 --- a/src/platforms/qurt/px4_layer/drv_hrt.c +++ b/src/platforms/qurt/px4_layer/drv_hrt.c @@ -42,6 +42,7 @@ #include #include #include +#include #include #include #include @@ -63,8 +64,6 @@ static void hrt_call_reschedule(void); static sem_t _hrt_lock; static struct work_s _hrt_work; -#include -#include #define CLOCK_REALTIME 0 #ifndef CLOCK_MONOTONIC