summaryrefslogtreecommitdiffstatshomepage
path: root/py
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2014-05-21 19:51:05 +0100
committerDamien George <damien.p.george@gmail.com>2014-05-21 19:51:05 +0100
commit0fd01683c61e039461854b49d1baf8a72aa277fb (patch)
treed640987a46c93272b1deb229cd942a411ad06d92 /py
parent6ac5dced2441bf63dbc65acbd7e33fb71d1d3ede (diff)
parentda1fffaa093d2541f7374a7aaf16d2f00ed29ddc (diff)
downloadmicropython-0fd01683c61e039461854b49d1baf8a72aa277fb.tar.gz
micropython-0fd01683c61e039461854b49d1baf8a72aa277fb.zip
Merge pull request #607 from Anton-2/osx-clang
Allow compilation of unix port under clang on OS X
Diffstat (limited to 'py')
-rw-r--r--py/modmath.c1
-rw-r--r--py/nlrx64.S4
-rw-r--r--py/objexcept.c6
-rw-r--r--py/vmentrytable.h9
4 files changed, 18 insertions, 2 deletions
diff --git a/py/modmath.c b/py/modmath.c
index f2253ab41e..485d9462a9 100644
--- a/py/modmath.c
+++ b/py/modmath.c
@@ -151,6 +151,7 @@ STATIC const mp_map_elem_t mp_module_math_globals_table[] = {
{ MP_OBJ_NEW_QSTR(MP_QSTR_copysign), (mp_obj_t)&mp_math_copysign_obj },
{ MP_OBJ_NEW_QSTR(MP_QSTR_fabs), (mp_obj_t)&mp_math_fabs_obj },
{ MP_OBJ_NEW_QSTR(MP_QSTR_floor), (mp_obj_t)&mp_math_floor_obj },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_fmod), (mp_obj_t)&mp_math_fmod_obj },
{ MP_OBJ_NEW_QSTR(MP_QSTR_frexp), (mp_obj_t)&mp_math_frexp_obj },
{ MP_OBJ_NEW_QSTR(MP_QSTR_ldexp), (mp_obj_t)&mp_math_ldexp_obj },
{ MP_OBJ_NEW_QSTR(MP_QSTR_modf), (mp_obj_t)&mp_math_modf_obj },
diff --git a/py/nlrx64.S b/py/nlrx64.S
index 55cb4d7960..baed6cabd6 100644
--- a/py/nlrx64.S
+++ b/py/nlrx64.S
@@ -32,6 +32,10 @@
#if !defined(__CYGWIN__)
+#if (defined(__APPLE__) && defined(__MACH__))
+#define nlr_jump_fail _nlr_jump_fail
+#endif // (defined(__APPLE__) && defined(__MACH__))
+
/* uint nlr_push(rdi=nlr_buf_t *nlr) */
#if !(defined(__APPLE__) && defined(__MACH__))
.globl nlr_push
diff --git a/py/objexcept.c b/py/objexcept.c
index bf83818b4a..0006554a85 100644
--- a/py/objexcept.c
+++ b/py/objexcept.c
@@ -183,11 +183,13 @@ MP_DEFINE_EXCEPTION(Exception, BaseException)
MP_DEFINE_EXCEPTION(KeyError, LookupError)
MP_DEFINE_EXCEPTION(MemoryError, Exception)
MP_DEFINE_EXCEPTION(NameError, Exception)
+ /*
MP_DEFINE_EXCEPTION_BASE(NameError)
- //MP_DEFINE_EXCEPTION(UnboundLocalError, NameError)
+ MP_DEFINE_EXCEPTION(UnboundLocalError, NameError)
+ */
MP_DEFINE_EXCEPTION(OSError, Exception)
- MP_DEFINE_EXCEPTION_BASE(OSError)
/*
+ MP_DEFINE_EXCEPTION_BASE(OSError)
MP_DEFINE_EXCEPTION(BlockingIOError, OSError)
MP_DEFINE_EXCEPTION(ChildProcessError, OSError)
MP_DEFINE_EXCEPTION(ConnectionError, OSError)
diff --git a/py/vmentrytable.h b/py/vmentrytable.h
index 217d84d3fd..598b5b8726 100644
--- a/py/vmentrytable.h
+++ b/py/vmentrytable.h
@@ -24,6 +24,11 @@
* THE SOFTWARE.
*/
+#if __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Winitializer-overrides"
+#endif // __clang__
+
static void* entry_table[256] = {
[0 ... 255] = &&entry_default,
[MP_BC_LOAD_CONST_FALSE] = &&entry_MP_BC_LOAD_CONST_FALSE,
@@ -110,3 +115,7 @@ static void* entry_table[256] = {
[MP_BC_IMPORT_FROM] = &&entry_MP_BC_IMPORT_FROM,
[MP_BC_IMPORT_STAR] = &&entry_MP_BC_IMPORT_STAR,
};
+
+#if __clang__
+#pragma clang diagnostic pop
+#endif // __clang__