[kernel] Add __attribute__(...) for rt_kprintf() to let the compiler check the format string parameters

Tested in the following environment:
1. Keil uVersion:Arm Compiler v5.06、v6.7、v6.16  
2. Atollic TrueSTUDIO for STM32:GNU v6.3.1  
3. Code Composer Studio:TI Compiler v20.2.2.LTS、GNU v7.2.1
This commit is contained in:
weycen 2021-12-26 00:26:50 +08:00 committed by Bernard Xiong
parent 88a746377c
commit d2e6715ddb
1 changed files with 5 additions and 0 deletions

View File

@ -570,7 +570,12 @@ void rt_components_board_init(void);
#define rt_kprintf(...)
#define rt_kputs(str)
#else
#if defined(__ARMCC_VERSION) || defined(__GNUC__) || \
defined(__TI_COMPILER_VERSION__)
int rt_kprintf(const char *fmt, ...) __attribute__((format(printf, 1, 2)));
#else
int rt_kprintf(const char *fmt, ...);
#endif
void rt_kputs(const char *str);
#endif