函数 "typeof" 在 RVDS 5.01 上隐式声明
Function "typeof" declared implicitly on RVDS 5.01
我正在使用 ARM 编译器为 android 手机编译调制解调器代码。
我收到以下错误:
function "typeof" declared implicitly
那么我应该使用 __typeof__
。但是我得到了同样的错误:
function "__typeof__" declared implicitly
我什至试过了__typeof
。但是 none 有效。
为什么?
编译器是 RVDS 5.01。
命令行包含在一些脚本中。
错误信息是:
"/opt2/huanglianjun/PD1401V-modem-1.2.1.c1/boot_images/core/storage/ext4/src/common/div64.h", line 47:
Error: #223-D: function "typeof" declared implicitly.
密码是:
#define do_div(n,base) do{ \
uint32_t __base = (base); \
uint32_t __rem; \
(void)(((typeof((n)) *)0) == ((uint64_t *)0)); \
if (((n) >> 32) == 0) { \
__rem = (uint32_t)(n) % __base; \
(n) = (uint32_t)(n) / __base; \
} else \
__rem = __div64_32(&(n), __base); \
__rem; \
}while(0)
如果我通过将 --gnu
标志传递给 armcc
来读取 the documentation right, typeof
is supported since at least RVDS 3.0, but you need to enable GNU mode。
我正在使用 ARM 编译器为 android 手机编译调制解调器代码。
我收到以下错误:
function "typeof" declared implicitly
那么我应该使用 __typeof__
。但是我得到了同样的错误:
function "__typeof__" declared implicitly
我什至试过了__typeof
。但是 none 有效。
为什么?
编译器是 RVDS 5.01。 命令行包含在一些脚本中。
错误信息是:
"/opt2/huanglianjun/PD1401V-modem-1.2.1.c1/boot_images/core/storage/ext4/src/common/div64.h", line 47:
Error: #223-D: function "typeof" declared implicitly.
密码是:
#define do_div(n,base) do{ \
uint32_t __base = (base); \
uint32_t __rem; \
(void)(((typeof((n)) *)0) == ((uint64_t *)0)); \
if (((n) >> 32) == 0) { \
__rem = (uint32_t)(n) % __base; \
(n) = (uint32_t)(n) / __base; \
} else \
__rem = __div64_32(&(n), __base); \
__rem; \
}while(0)
如果我通过将 --gnu
标志传递给 armcc
来读取 the documentation right, typeof
is supported since at least RVDS 3.0, but you need to enable GNU mode。