1 /*
2  * Copyright © 2021, Keith Packard <keithp@keithp.com>
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #include "picolibc-hooks.h"
8 
9 #ifdef CONFIG_PICOLIBC_ASSERT_VERBOSE
10 
__assert_func(const char * file,int line,const char * function,const char * expression)11 FUNC_NORETURN void __assert_func(const char *file, int line,
12 				 const char *function, const char *expression)
13 {
14 #if __ASSERT_ON
15 	__ASSERT(0, "assertion \"%s\" failed: file \"%s\", line %d%s%s\n",
16 		 expression, file, line,
17 		 function ? ", function: " : "", function ? function : "");
18 #endif
19 	abort();
20 }
21 
22 #else
23 
__assert_no_args(void)24 FUNC_NORETURN void __assert_no_args(void)
25 {
26 #if __ASSERT_ON
27 	__ASSERT_NO_MSG(0);
28 #endif
29 	abort();
30 }
31 
32 #endif
33