未验证 提交 c147ff41 编写于 作者: mysterywolf's avatar mysterywolf 提交者: GitHub

[rtdef][libc] solve the conflicts between libc data types and rtdef data types (#5961)

上级 50a42331
......@@ -4,7 +4,7 @@ Import('rtconfig')
src = Glob('*.c')
group = []
CPPDEFINES = ['RT_USING_ARM_LIBC']
CPPDEFINES = ['RT_USING_ARM_LIBC', 'RT_USING_LIBC']
if rtconfig.PLATFORM in ['armcc', 'armclang']:
group = DefineGroup('Compiler', src, depend = [''], CPPDEFINES = CPPDEFINES)
......
......@@ -4,7 +4,7 @@ Import('rtconfig')
src = Glob('*.c')
group = []
CPPDEFINES = ['RT_USING_DLIBC']
CPPDEFINES = ['RT_USING_DLIBC', 'RT_USING_LIBC']
if rtconfig.PLATFORM == 'iar':
if GetDepend('DFS_USING_POSIX'):
......
......@@ -17,7 +17,7 @@ if rtconfig.PLATFORM == 'gcc':
print('Newlib version:' + GetNewLibVersion(rtconfig))
# identify this is Newlib, and only enable POSIX.1-1990
CPPDEFINES = ['RT_USING_NEWLIB', '_POSIX_C_SOURCE=1']
CPPDEFINES = ['RT_USING_NEWLIB', 'RT_USING_LIBC', '_POSIX_C_SOURCE=1']
group = DefineGroup('Compiler', src, depend = [''], CPPPATH = CPPPATH, CPPDEFINES = CPPDEFINES, LIBS = LIBS)
......
......@@ -71,6 +71,20 @@ extern "C" {
/* RT-Thread basic data type definitions */
#ifndef RT_USING_ARCH_DATA_TYPE
#ifdef RT_USING_LIBC
#include <stdint.h>
#include <stddef.h>
typedef int8_t rt_int8_t; /**< 8bit integer type */
typedef int16_t rt_int16_t; /**< 16bit integer type */
typedef int32_t rt_int32_t; /**< 32bit integer type */
typedef uint8_t rt_uint8_t; /**< 8bit unsigned integer type */
typedef uint16_t rt_uint16_t; /**< 16bit unsigned integer type */
typedef uint32_t rt_uint32_t; /**< 32bit unsigned integer type */
typedef int64_t rt_int64_t; /**< 64bit integer type */
typedef uint64_t rt_uint64_t; /**< 64bit unsigned integer type */
typedef size_t rt_size_t; /**< Type for size number */
#else
typedef signed char rt_int8_t; /**< 8bit integer type */
typedef signed short rt_int16_t; /**< 16bit integer type */
typedef signed int rt_int32_t; /**< 32bit integer type */
......@@ -87,6 +101,7 @@ typedef signed long long rt_int64_t; /**< 64bit integer type
typedef unsigned long long rt_uint64_t; /**< 64bit unsigned integer type */
typedef unsigned int rt_size_t; /**< Type for size number */
#endif /* ARCH_CPU_64BIT */
#endif /* RT_USING_LIBC */
#endif /* RT_USING_ARCH_DATA_TYPE */
typedef int rt_bool_t; /**< boolean type */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册