summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJerry Needell <jerryneedell@gmail.com>2019-10-14 07:02:32 -0400
committerJerry Needell <jerryneedell@gmail.com>2019-10-14 07:02:32 -0400
commit051670038eadc00c46da62f4020ee752bfab1659 (patch)
treeca674aa6534c21b823af4eb337bea2158a67c8cb
parent1a53ced167f4ea7e8b2d4b9b57900c769fca6ad0 (diff)
restructure nlr.h for udefined archtectures
-rw-r--r--py/nlr.h49
1 files changed, 27 insertions, 22 deletions
diff --git a/py/nlr.h b/py/nlr.h
index 802f5f39a..b442aaf8a 100644
--- a/py/nlr.h
+++ b/py/nlr.h
@@ -36,33 +36,38 @@
// If MICROPY_NLR_SETJMP is not enabled then auto-detect the machine arch
#if !defined(MICROPY_NLR_SETJMP) || !MICROPY_NLR_SETJMP
-#define MICROPY_NLR_SETJMP (0)
// A lot of nlr-related things need different treatment on Windows
-#if defined(_WIN32) || defined(__CYGWIN__)
-#define MICROPY_NLR_OS_WINDOWS 1
-#else
-#define MICROPY_NLR_OS_WINDOWS 0
-#endif
-#if defined(__i386__)
- #define MICROPY_NLR_X86 (1)
- #define MICROPY_NLR_NUM_REGS (6)
-#elif defined(__x86_64__)
- #define MICROPY_NLR_X64 (1)
- #if MICROPY_NLR_OS_WINDOWS
- #define MICROPY_NLR_NUM_REGS (10)
+ #if defined(_WIN32) || defined(__CYGWIN__)
+ #define MICROPY_NLR_OS_WINDOWS 1
#else
- #define MICROPY_NLR_NUM_REGS (8)
+ #define MICROPY_NLR_OS_WINDOWS 0
#endif
-#elif defined(__thumb2__) || defined(__thumb__) || defined(__arm__)
- #define MICROPY_NLR_THUMB (1)
- #define MICROPY_NLR_NUM_REGS (10)
-#elif defined(__xtensa__)
- #define MICROPY_NLR_XTENSA (1)
- #define MICROPY_NLR_NUM_REGS (10)
-#else
- #define MICROPY_NLR_SETJMP (1)
+ #if defined(__i386__)
+ #define MICROPY_NLR_X86 (1)
+ #define MICROPY_NLR_NUM_REGS (6)
+ #elif defined(__x86_64__)
+ #define MICROPY_NLR_X64 (1)
+ #if MICROPY_NLR_OS_WINDOWS
+ #define MICROPY_NLR_NUM_REGS (10)
+ #else
+ #define MICROPY_NLR_NUM_REGS (8)
+ #endif
+ #elif defined(__thumb2__) || defined(__thumb__) || defined(__arm__)
+ #define MICROPY_NLR_THUMB (1)
+ #define MICROPY_NLR_NUM_REGS (10)
+ #elif defined(__xtensa__)
+ #define MICROPY_NLR_XTENSA (1)
+ #define MICROPY_NLR_NUM_REGS (10)
+ #else
+ #define MICROPY_NLR_SETJMP (1)
//#warning "No native NLR support for this arch, using setjmp implementation"
+ #endif
#endif
+
+// If MICROPY_NLR_SETJMP is not defined above - define/disable it here
+
+#if !defined(MICROPY_NLR_SETJMP)
+ #define MICROPY_NLR_SETJMP (0)
#endif
#if MICROPY_NLR_SETJMP