ソースを参照

[iar] 修复编译错误 (#6126)

Man, Jianting (Meco) 2 年 前
コミット
e1e1596cbd

+ 2 - 0
components/libc/compilers/common/cctype.c

@@ -10,12 +10,14 @@
 
 #include "posix/ctype.h"
 
+#if !(defined(__ICCARM__) && (__VER__ > 9000000)) /* IAR9.0 has defined */
 #ifndef isascii /* some toolchain use macro to define it */
 int isascii(int c)
 {
     return c >= 0x00 && c <= 0x7f;
 }
 #endif
+#endif /* !(defined(__ICCARM__) && (__VER__ > 9000000)) */
 
 #ifndef toascii
 int toascii(int c)

+ 2 - 0
components/libc/compilers/common/cstdio.c

@@ -13,6 +13,7 @@
 #include <limits.h>
 #include <sys/errno.h>
 
+#ifdef DFS_USING_POSIX
 ssize_t getdelim(char **lineptr, size_t *n, int delim, FILE *stream)
 {
     char *cur_pos, *new_lineptr;
@@ -83,3 +84,4 @@ ssize_t getline(char **lineptr, size_t *n, FILE *stream)
 {
     return getdelim(lineptr, n, '\n', stream);
 }
+#endif /* DFS_USING_POSIX */

+ 3 - 0
components/libc/compilers/common/include/posix/ctype.h

@@ -17,9 +17,12 @@ extern "C" {
 
 #include <ctype.h>
 
+#if !(defined(__ICCARM__) && (__VER__ > 9000000)) /* IAR9.0 has defined */
 #ifndef isascii /* some toolchain use macro to define it */
 int isascii(int c);
 #endif
+#endif /* !(defined(__ICCARM__) && (__VER__ > 9000000)) */
+
 #ifndef toascii
 int toascii(int c);
 #endif

+ 2 - 0
components/libc/compilers/common/include/posix/stdio.h

@@ -18,8 +18,10 @@ extern "C" {
 #include <stdio.h>
 #include <sys/types.h>
 
+#ifdef DFS_USING_POSIX
 ssize_t getdelim(char **lineptr, size_t *n, int delim, FILE *stream);
 ssize_t getline(char **lineptr, size_t *n, FILE *stream);
+#endif /* DFS_USING_POSIX */
 
 #ifdef __cplusplus
 }