This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC1312R:Don'TI Arm Clang 编译器3.2.2.LTS 中出现签名转换警告

Guru**** 2337880 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1517910/cc1312r-don-t-occur-sign-conversion-warning-in-ti-arm-clang-compiler-3-2-2-lts

器件型号:CC1312R

工具/软件:

你好。

我正在使用 ti arm clang 编译器开发 ti cc1312器件。

不会出现"发生符号转换警告"

我的测试代码如下。

int main() {
int32_t val_num = -100;
uint32_t val_den = 3;

 //test -Wconversion or -Wsign-conversion warning
int32_t result = val_num / val_den;

return 0;
}

构建目标:"empty_CC1312R1_LAUNCHXL_nortos_ticlang.out "
调用:ARM 链接器
"c:/ti/ccs1281/ccs/tools/compiler/ti-cgt-armllvm_3.2.2.LTS/bin/tiarmclang.exe /ti/simplelink_cc13xx_cc26xx_sdk_8_30_01_01/source /project/ti/workspace_v12_Property/empty_CC1312R1_LAUNCHXL_nortos_ticlang/Debug/syscfg /syscfg/ti_drivers_config.o -MCpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-D16 -mlittle-endian -mthumb -gdwarf-3 /ti/simplelink_cc13xx_cc26xx_sdk_8_30_01_01/kernel/nortos /ti/ccs1281/ccs/tools/compiler/ti-cgt-armllvm_3.2.2.LTS/lib /syscfg/ti_devices_config.o
TI Arm Clang 编译器3.2.2.LTS
目标:arm-ti-non-eabi
线程模型:POSIX
InstalledDir:c:\ti\ccs1281\ccs\tools\compiler\ti-cgt-armllvm_3.2.LTS\bin
完成的构建目标:"empty_CC1312R1_LAUNCHXL_nortos_ticlang.out "

****构建完成****

未出现警告消息。

另一个编译器 GCC 发生"签名转换警告"。

br yjkim。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    当我使用...

    [报价 userid="480271" url="~/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1517910/cc1312r-don-t-occur-sign-conversion-warning-in-ti-arm-clang-compiler-3-2-2-lts ]-werror=-wconversion -werror=-wsign-conversion

    我看到这些诊断...

    error: unknown warning option '-Werror=-Wconversion'; did you mean '-Werror=conversion'?
          [-Werror,-Wunknown-warning-option]
    error: unknown warning option '-Werror=-Wsign-conversion'; did you mean '-Werror=sign-conversion'?
          [-Werror,-Wunknown-warning-option]

    当我把他们更改为...

    -werror=conversion -werror=sign-conversion

    然后我看到...

    file.c:8:26: error: implicit conversion changes signedness: 'unsigned int' to 'int32_t'
          (aka 'int') [-Werror,-Wsign-conversion]
    int32_t result = val_num / val_den;
            ~~~~~~   ~~~~~~~~^~~~~~~~~
    file.c:8:18: error: implicit conversion changes signedness: 'int32_t' (aka 'int') to
          'unsigned int' [-Werror,-Wsign-conversion]
    int32_t result = val_num / val_den;
                     ^~~~~~~ ~
    file.c:8:9: error: unused variable 'result' [-Werror,-Wunused-variable]
    int32_t result = val_num / val_den;
            ^
    3 errors generated.

    谢谢。此致、

    -乔治