Paul Roukema
2018-08-24 bb01da2d4df4a356bc766164fdcb6b5431bef004
Fix undefined macro warnings for embedded targets
Embedded targets may not define e.g. _BSD_SOURCE.
Check if these are defined before using their values
Also make sure that intenal macros are always defined
2个文件已修改
52 ■■■■ 已修改文件
libscpi/inc/scpi/cc.h 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
libscpi/inc/scpi/config.h 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
libscpi/inc/scpi/cc.h
@@ -54,37 +54,57 @@
# endif
#endif
#if POSIX_C_SOURCE >= 200809L || _XOPEN_SOURCE >= 700
#if (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 200809L) || \
    (defined _XOPEN_SOURCE && _XOPEN_SOURCE >= 700)
    #define HAVE_STRNDUP 1
    #define HAVE_STRNLEN 1
#endif
#if _BSD_SOURCE || _XOPEN_SOURCE >= 500 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L || C99
#if (defined _BSD_SOURCE && _BSD_SOURCE) || \
    (defined _XOPEN_SOURCE  && _XOPEN_SOURCE >= 500) || \
    (defined _ISOC99_SOURCE && _ISOC99_SOURCE) || \
    (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 200112L) || \
    C99
    #define HAVE_SNPRINTF 1
#endif
#if _POSIX_C_SOURCE >= 200112L
#if (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 200112L)
    #define HAVE_STRNCASECMP 1
#endif
#if _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L || C99
#if (defined _BSD_SOURCE && _BSD_SOURCE) || \
    (defined _SVID_SOURCE && _SVID_SOURCE) || \
    (defined _XOPEN_SOURCE && _XOPEN_SOURCE) || \
    (defined _ISOC99_SOURCE && _ISOC99_SOURCE) || \
    (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 200112L) ||\
    C99
    #define HAVE_ISNAN 1
#endif
#if _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L || C99
#if (defined _XOPEN_SOURCE && _XOPEN_SOURCE >= 600)|| \
    (defined _ISOC99_SOURCE && _ISOC99_SOURCE) || \
    (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 200112L) || \
    C99
    #define HAVE_ISFINITE 1
    #define HAVE_SIGNBIT 1
#endif
#if XOPEN_SOURCE >= 600 || _BSD_SOURCE || _SVID_SOURCE || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
#if (defined _XOPEN_SOURCE && XOPEN_SOURCE >= 600) || \
    (defined _BSD_SOURCE && _BSD_SOURCE) || \
    (defined _SVID_SOURCE && _SVID_SOURCE) || \
    (defined _ISOC99_SOURCE && _ISOC99_SOURCE) || \
    (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 200112L)
    #define HAVE_STRTOLL 1
#endif
#if _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L || C99
#if (defined _XOPEN_SOURCE && _XOPEN_SOURCE >= 600) || \
    (defined _ISOC99_SOURCE && _ISOC99_SOURCE) || \
    (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 200112L) || \
    C99
    #define HAVE_STRTOF 1
#endif
#if _ISOC99_SOURCE || C99
#if (defined _ISOC99_SOURCE && _ISOC99_SOURCE) || C99
    #define HAVE_STDBOOL 1
#endif
@@ -130,6 +150,10 @@
#define HAVE_STRDUP             0
#endif
#ifndef HAVE_STRNDUP
#define HAVE_STRNDUP             0
#endif
#ifndef HAVE_STRNICMP
#define HAVE_STRNICMP           0
#endif
@@ -170,6 +194,10 @@
#define HAVE_STRTOF             0
#endif
#ifndef  HAVE_DTOSTRE
#define  HAVE_DTOSTRE           0
#endif
#ifdef    __cplusplus
}
#endif
libscpi/inc/scpi/config.h
@@ -100,6 +100,10 @@
#ifndef USE_MEMORY_ALLOCATION_FREE
#define USE_MEMORY_ALLOCATION_FREE 1
#endif
#else
#ifndef USE_MEMORY_ALLOCATION_FREE
#define USE_MEMORY_ALLOCATION_FREE 0
#endif
#endif
#ifndef USE_COMMAND_TAGS
@@ -110,8 +114,8 @@
#define USE_DEPRECATED_FUNCTIONS 1
#endif
#ifndef USE_CUSTOM_DTOSTR
#define USE_CUSTOM_DTOSTR 0
#ifndef USE_CUSTOM_DTOSTRE
#define USE_CUSTOM_DTOSTRE 0
#endif
#ifndef USE_UNITS_IMPERIAL