aboutsummaryrefslogtreecommitdiff
path: root/lib/cm3/assert.c
diff options
context:
space:
mode:
authorPiotr Esden-Tempski2012-10-04 14:18:55 -0700
committerPiotr Esden-Tempski2012-10-04 14:18:55 -0700
commitecb0cbbf786d56d7bdb2150446861242c1a57401 (patch)
treefbd05fc066e8d3b1e3efe3ef1bad38f3c8fca2e0 /lib/cm3/assert.c
parentd6e0e6e976916f7a72abf92318b65ab96b291b78 (diff)
parentfc4047e4b4b38c6c778f2d5f71c7412ecbab3152 (diff)
Merged pull request #38 Add assert macros to aid in debugging.
Merge remote-tracking branch 'avian2/assert-macros'
Diffstat (limited to 'lib/cm3/assert.c')
-rw-r--r--lib/cm3/assert.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/lib/cm3/assert.c b/lib/cm3/assert.c
new file mode 100644
index 0000000..d76c578
--- /dev/null
+++ b/lib/cm3/assert.c
@@ -0,0 +1,34 @@
+/*
+ * This file is part of the libopencm3 project.
+ *
+ * Copyright (C) 2012 Tomaz Solc <tomaz.solc@tablix.org>
+ *
+ * This library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <libopencm3/cm3/assert.h>
+
+void __attribute__((weak)) cm3_assert_failed(void)
+{
+ while(1);
+}
+
+void __attribute__((weak)) cm3_assert_failed_verbose(
+ const char *file __attribute__((unused)),
+ int line __attribute__((unused)),
+ const char *func __attribute__((unused)),
+ const char *assert_expr __attribute__((unused)))
+{
+ cm3_assert_failed();
+}