aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormux2014-06-21 17:24:55 +0200
committermux2014-06-21 17:24:55 +0200
commit5c8db4854109100790977b4d84296e5eb29ffe9e (patch)
tree3aa383ffbf36d8b789fc10d0059f4c0c29c1b6a4
parent4c4b9d15ab94dfe31ec34559ab70bafc0ef11f02 (diff)
Fix asser_func warning/error
* Add while(1) to assert_func to avoid func returns warning * Define a weak attr in mpconfig.h
-rw-r--r--py/mpconfig.h5
-rw-r--r--stmhal/main.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/py/mpconfig.h b/py/mpconfig.h
index 4a3288a3d..0aefd1b35 100644
--- a/py/mpconfig.h
+++ b/py/mpconfig.h
@@ -381,3 +381,8 @@ typedef double mp_float_t;
#ifndef NORETURN
#define NORETURN __attribute__((noreturn))
#endif
+
+// Modifier for weak functions
+#ifndef MP_WEAK
+#define MP_WEAK __attribute__((weak))
+#endif
diff --git a/stmhal/main.c b/stmhal/main.c
index e264fdf4b..b74fa7318 100644
--- a/stmhal/main.c
+++ b/stmhal/main.c
@@ -111,11 +111,11 @@ void nlr_jump_fail(void *val) {
}
#ifndef NDEBUG
-void __attribute__((weak))
- __assert_func(const char *file, int line, const char *func, const char *expr) {
+void MP_WEAK __assert_func(const char *file, int line, const char *func, const char *expr) {
(void)func;
printf("Assertion '%s' failed, at file %s:%d\n", expr, file, line);
__fatal_error("");
+ while (1);
}
#endif