diff options
author | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2018-12-13 17:44:52 +0100 |
---|---|---|
committer | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2018-12-14 00:40:52 +0100 |
commit | d66213e883fdbb1d3c9738def00a1debc6e3e2b9 (patch) | |
tree | 450914a3f26d95e55e37010523909e114eb0ffef | |
parent | ce50c885b8b0c6fac6f2ce02b999f3726651080f (diff) | |
download | sparse-d66213e883fdbb1d3c9738def00a1debc6e3e2b9.tar.gz |
Consolidate 'machine detection' into "machine.h"
The file "lib.c' contains some defines and have some #ifdefery
to detect the data model of the native machine (LP32/LP64).
Same for the native endianness.
Move these into "machine.h" where the platform detection is
already done.
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
-rw-r--r-- | lib.c | 22 | ||||
-rw-r--r-- | machine.h | 23 |
2 files changed, 24 insertions, 21 deletions
@@ -44,6 +44,7 @@ #include "scope.h" #include "linearize.h" #include "target.h" +#include "machine.h" #include "version.h" int verbose, optimize_level, optimize_size, preprocessing; @@ -312,29 +313,8 @@ static enum { STANDARD_C89, STANDARD_GNU89, STANDARD_GNU99, } standard = STANDARD_GNU89; -enum { - ARCH_LP32, - ARCH_X32, - ARCH_LP64, - ARCH_LLP64, -}; - -#ifdef __LP64__ -#define ARCH_M64_DEFAULT ARCH_LP64 -#elif defined(__x86_64__) || defined(__x86_64) -#define ARCH_M64_DEFAULT ARCH_X32 -#else -#define ARCH_M64_DEFAULT ARCH_LP32 -#endif - int arch_m64 = ARCH_M64_DEFAULT; int arch_msize_long = 0; - -#ifdef __BIG_ENDIAN__ -#define ARCH_BIG_ENDIAN 1 -#else -#define ARCH_BIG_ENDIAN 0 -#endif int arch_big_endian = ARCH_BIG_ENDIAN; @@ -1,6 +1,29 @@ #ifndef MACHINE_H #define MACHINE_H +#ifdef __BIG_ENDIAN__ +#define ARCH_BIG_ENDIAN 1 +#else +#define ARCH_BIG_ENDIAN 0 +#endif + + +enum { + ARCH_LP32, + ARCH_X32, + ARCH_LP64, + ARCH_LLP64, +}; + +#ifdef __LP64__ +#define ARCH_M64_DEFAULT ARCH_LP64 +#elif defined(__x86_64__) || defined(__x86_64) +#define ARCH_M64_DEFAULT ARCH_X32 +#else +#define ARCH_M64_DEFAULT ARCH_LP32 +#endif + + enum machine { MACH_ARM, MACH_ARM64, |