主题中讨论的其他器件:DP83869
工具与软件:
如何在 CCS 版本20.0.1.4__1.6.1中集成 CLANG-TIDY? 我的意思是 在构建时运行 clang-tidy。 已安装 LLVM-18.1.8-win64.exe
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.
您好!
CCS 附带的 TI clang 编译器具有 clang-tidy 支持。 因此无需安装任何额外的内容。
但是、存在一个错误、即检查不会像预期的那样在工程编译上运行。 跟踪链接: https://sir.ext.ti.com/jira/browse/EXT_EP-12152
谢谢
Ki
谢谢 Ki,我 在我的电脑上安装了 LLVM-18.1.8-win64.exe ,其中包含 clang-tidy.exe。 我还 从 主 llvm-mirror/Clang-tools-extra/Clang-tidy/tool/run-clang-tidy.py 下载了 run-clang-tidy.py·。 我尝试运行 run-clang-tidy.py 来检查代码、请参阅以下输出、我怀疑 compile_commands.json 生成的源文件路径名有问题、 可能是"/"或"\"。
C:\Users\cnxiahon\workspace_ccstheia\ethercat_slave_cia402_demo_am243x-lp_r5fss0-0_freertos_ti-arm-clang\Release\.clangd>py run-clang-tidy.py
启用的检查:
Clang-analyzer-apiModeling。 错误
Clang-analyzer-apiModeling。 TrustNonnull
Clang-analyzer-apiModeling。 TrustReturnsNonnull
clang-analyzer-apiModeling.google.gtest
clang-analyzer-apiModeling.llvm.CastValue
clang-analyzer-apiModeling.llvm.ReturnValue
Clang-analyzer-core。 BitwiseShift
Clang-analyzer-core。 呼叫与消息
Clang-analyzer-core。 CallAndMessageModeling
Clang-analyzer-core。 DivideZero
Clang-analyzer-core。 DynamicTypePropagation
Clang-analyzer-core。 非 NullParamChecker
Clang-analyzer-core。 NonnilStringConstants
Clang-analyzer-core。 NullDeereference
Clang-analyzer-core。 StackAddrEscapeBase
Clang-analyzer-core。 StackAddressEscape
Clang-analyzer-core。 未定义的 BinaryOperatorResult
Clang-analyzer-core。 VLASize
clang-analyzer-core.builtin.BuiltinFunctions
clang-analyzer-core.builtin.NoReturnFunctions
clang-analyzer-core.uninitialization.ArraySubscript
clang-analyzer-core.uninitialization.Assign
clang-analyzer-core.uninitialization.Branch
clang-analyzer-core.uninitialization.CaptureBlockVariable
clang-analyzer-core.uninitialization.NewArraySize
clang-analyzer-core.uninitialization.UndefReturn
clang-analyzer-cplusplus。 InnerPointer
clang-analyzer-cplusplus。 工作
clang-analyzer-cplusplus。 新建删除
clang-analyzer-cplusplus。 NewDeleteLeaks
clang-analyzer-cplusplus。 新的
clang-analyzer-cplusplus。 PureVirtualCall
clang-analyzer-cplusplus。 SelfAssignment
clang-analyzer-cplusplus。 SmartPtrModeling
clang-analyzer-cplusplus。 StringChecker
clang-analyzer-cplusplus。 VirtualCallModeling
clang-analyzer-deadcode。 DeadStores
clang-analyzer-fuchsia。 HandleChecker
瞬态抗扰度。 NullPassedToNonnull
瞬态抗扰度。 NullReturnedFromNonnull
瞬态抗扰度。 NullabilityBase
瞬态抗扰度。 NullableDereferenced
瞬态抗扰度。 NullablePassedToNonnull
瞬态抗扰度。 NullableReturnedFromNonnull
clang-analyzer-optin.core.EnumCastOutOfRange
clang-analyzer-optin.cplusplus.UninitializeObject
clang-analyzer-optin.cplus.VirtualCall
clang-analyzer-optin.mpi.mpi-Checker
clang-analyzer-optin.OSX.OSObjectCStyleCcast
clang-analyzer-optin.osx.cocoi.localizability.EmptyLocalizationContextChecker
clang-analyzer-optin.osx.coco.localizability.NonLocalizedStringChecker
clang-analyzer-optin.performance.GCDAntipattern
clang-analyzer-optin.performance.Padding
clang-analyzer-optin.portionality.UnixAPI
Clang-analyzer-OSX。 结构
Clang-analyzer-OSX。 MIG
Clang-analyzer-OSX。 NSTORCFErrorDerefChecker
Clang-analyzer-OSX。 NumberObjectConversion
Clang-analyzer-OSX。 OSObjectRetainCount
Clang-analyzer-OSX。 ObjCProperty
Clang-analyzer-OSX。 SecKeychainAPI
clang-analyzer-osx.cocoe.AtSync
clang-analyzer-OSX.coco.AutoreleaseWrite
clang-analyzer-OSX.coco.ClassRelease
clang-analyzer-osx.cocoe.Dealloc
clang-analyzer-OSX.COCOA.IncompatibleMethodTypes
clang-analyzer-osx.cocoe.Loops
clang-analyzer-OSX.coco.MissingSuperCall
clang-analyzer-OSx.cocoe.NSAutoreleaseCool
clang-analyzer-osx.coco.nsError
clang-analyzer-OSX.coco.NilArg
clang-analyzer-osx.coco.NonNilReturnValue
clang-analyzer-osx.cocoe.ObjCGenerics.
clang-analyzer-osx.cocoe.RetainCount
clang-analyzer-osx.cocoe.RetainCountBase
clang-analyzer-OSX.coco.RunLoopAutoreleaseLeak
clang-analyzer-OSX.coco.SelfInit
clang-analyzer-osx.cocoe.SuperDealloc
clang-analyzer-osx.cocoe.UnusedIvars
clang-analyzer-OSX.COCOA.VariadicMethodTypes
clang-analyzer-OSx.coreFoundation.CFError
clang-analyzer-OSx.coreFoundation.CFNumber
clang-analyzer-OSx.coreFoundation.CFRetainRelease
clang-analyzer-OSx.coreFoundation.containers.OutOfBounds
clang-analyzer-OSx.coreFoundation.containers.PointerSizedValues
CLANG 分析仪安全性。 FloatLoopCounter
clang-analyzer-security.cert.env.InvalidPtr
clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling
clang-analyzer-security.insecureAPI.SecuritySyntaxChecker
clang-analyzer-security.insecureAPI.UncheckedReturn
clang-analyzer-security.insecureAPI.bcmp
clang-analyzer-security.insecureAPI.bcopy
clang-analyzer-security.insecureAPI.bzero
clang-analyzer-security.insecureAPI.decodeValueOfObjCType
clang-analyzer-security.insecureAPI.getpw
clang-analyzer-security.insecureAPI.gets
clang-analyzer-security.insecureAPI.mkstemp
clang-analyzer-security.insecureAPI.mktemp
clang-analyzer-security.insecureAPI.rand
clang-analyzer-security.insecureAPI.strcpy
clang-analyzer-security.insecureAPI.vfork
Clang-analyzer-unix。 结构
Clang-analyzer-unix。 DynamicMemoryModeling
Clang-analyzer-unix。 错误
Clang-analyzer-unix。 malloc
Clang-analyzer-unix。 AllocSizeof
Clang-analyzer-unix。 不匹配取消分配器
Clang-analyzer-unix。 StdCLibraryFunctions
Clang-analyzer-unix。 Vfork
clang-analyzer-unix.Cstring.BadSizeArg
clang-analyzer-unix.Cstring.cStringModeling
clang-analyzer-unix.Cstring.NullArg
Clang-analyzer-valist。 CopyToSelf
Clang-analyzer-valist。 未初始化
Clang-analyzer-valist。 未终止
Clang-analyzer-valist。 ValistBase
clang-analyzer-webkit。 NoUncountedMemberChecker
clang-analyzer-webkit。 RefCntblBaseVirtualDtor
clang-analyzer-webkit。 UncountedLambdaCapturesChecker
clang-tidy -p=C:\users\cnxiahon\workspace_ccstheia\ethercat_slave_cia402_demo_am243x-lp_r5fss0-0_freertos_ti-arm-clang\Release\.clangd C:/ti/ind_comms_sdk_am243x_09_02_00_15/examples/industrial_comms/ethercat_slave_demo/device_profiles/402_cia/ecSlvCiA402.c
错误:无输入文件[clang-diagnostic-error]
错误:无法处理编译,在""中只期望一个编译器作业[clang-diagnostic-error]
处理 C:\ti\ind_comms_sdk_am243x_09_02_00_15\examples\industrial_comms\ethercat_slave_demo\device_profiles\402_cia\ecSlvCiA402.c.时出错
找到编译器错误。
clang-tidy -p=C:\users\cnxiahon\workspace_ccstheia\ethercat_slave_cia402_demo_am243x-lp_r5fss0-0_freertos_ti-arm-clang\Release\.clangd C:/ti/ind_comms_sdk_am243x_09_02_00_15/examples/industrial_comms/ethercat_slave_demo/common/os/freertos/ESL_soeDemo.c
错误:无输入文件[clang-diagnostic-error]
错误:无法处理编译,在""中只期望一个编译器作业[clang-diagnostic-error]
处理 C:\ti\ind_comms_sdk_am243x_09_02_00_15\examples\industrial_comms\ethercat_slave_demo\common\os\freertos\esl_soeDemo.c.时出错
找到编译器错误。
clang-tidy -p = C:\users\cnxiahon\workspace_ccstheia\ethercat_slave_cia402_demo_am243x-lp_r5fss0-0_freertos_ti-arm-clang\Release\.clangd C:/ti/ind_comms_sdk_am243x_09_02_00_15/examples/industrial_comms/custom_phy src
...
谢谢 Ki,我 在我的 PC 上安装了 LLVM-18.1.8-win64.exe、其中包含 clang-tidy.exe。 我还 从 主 llvm-mirror/Clang-tools-extra/Clang-tidy/tool/run-clang-tidy.py 下载了 run-clang-tidy.py·。 我尝试运行 run-clang-tidy.py 来检查代码、请参阅以下输出、我怀疑 compile_commands.json 生成的源文件路径名存在错误、 可能是"/"或"\"。[/QUOT]不幸的是、我们将无法为此提供大量援助。 我们在 clangd 解析器使用的上下文中生成 compile_commands.json。 我们不能就它与其他第三方 clang 实用程序一起使用的任何问题进行评论。
是否有任何计划解决 在项目构建上未按预期运行检查的错误?
是、目前计划在今年中旬发布 CCS 20.2.0版本。