dev01 Brautlecht / mbed-STM32F030F4

Dependents:   STM32F031_Blink_Aug17

Fork of mbed-STM32F030F4 by Nothing Special

Committer:
mega64
Date:
Sat Oct 18 02:40:17 2014 +0000
Revision:
0:38ccae254a29
Child:
5:83447a6b3b11
only for STM32F030F4

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mega64 0:38ccae254a29 1 /* mbed Microcontroller Library
mega64 0:38ccae254a29 2 * Copyright (c) 2006-2013 ARM Limited
mega64 0:38ccae254a29 3 *
mega64 0:38ccae254a29 4 * Licensed under the Apache License, Version 2.0 (the "License");
mega64 0:38ccae254a29 5 * you may not use this file except in compliance with the License.
mega64 0:38ccae254a29 6 * You may obtain a copy of the License at
mega64 0:38ccae254a29 7 *
mega64 0:38ccae254a29 8 * http://www.apache.org/licenses/LICENSE-2.0
mega64 0:38ccae254a29 9 *
mega64 0:38ccae254a29 10 * Unless required by applicable law or agreed to in writing, software
mega64 0:38ccae254a29 11 * distributed under the License is distributed on an "AS IS" BASIS,
mega64 0:38ccae254a29 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
mega64 0:38ccae254a29 13 * See the License for the specific language governing permissions and
mega64 0:38ccae254a29 14 * limitations under the License.
mega64 0:38ccae254a29 15 */
mega64 0:38ccae254a29 16 #ifndef MBED_ASSERT_H
mega64 0:38ccae254a29 17 #define MBED_ASSERT_H
mega64 0:38ccae254a29 18
mega64 0:38ccae254a29 19 #ifdef __cplusplus
mega64 0:38ccae254a29 20 extern "C" {
mega64 0:38ccae254a29 21 #endif
mega64 0:38ccae254a29 22
mega64 0:38ccae254a29 23 /** Internal mbed assert function which is invoked when MBED_ASSERT macro failes.
mega64 0:38ccae254a29 24 * This function is active only if NDEBUG is not defined prior to including this
mega64 0:38ccae254a29 25 * assert header file.
mega64 0:38ccae254a29 26 * In case of MBED_ASSERT failing condition, the assertation message is printed
mega64 0:38ccae254a29 27 * to stderr and mbed_die() is called.
mega64 0:38ccae254a29 28 * @param expr Expresion to be checked.
mega64 0:38ccae254a29 29 * @param file File where assertation failed.
mega64 0:38ccae254a29 30 * @param line Failing assertation line number.
mega64 0:38ccae254a29 31 */
mega64 0:38ccae254a29 32 void mbed_assert_internal(const char *expr, const char *file, int line);
mega64 0:38ccae254a29 33
mega64 0:38ccae254a29 34 #ifdef __cplusplus
mega64 0:38ccae254a29 35 }
mega64 0:38ccae254a29 36 #endif
mega64 0:38ccae254a29 37
mega64 0:38ccae254a29 38 #ifdef NDEBUG
mega64 0:38ccae254a29 39 #define MBED_ASSERT(expr) ((void)0)
mega64 0:38ccae254a29 40
mega64 0:38ccae254a29 41 #else
mega64 0:38ccae254a29 42 #define MBED_ASSERT(expr) \
mega64 0:38ccae254a29 43 do { \
mega64 0:38ccae254a29 44 if (!(expr)) { \
mega64 0:38ccae254a29 45 mbed_assert_internal(#expr, __FILE__, __LINE__); \
mega64 0:38ccae254a29 46 } \
mega64 0:38ccae254a29 47 } while (0)
mega64 0:38ccae254a29 48 #endif
mega64 0:38ccae254a29 49
mega64 0:38ccae254a29 50 #endif