Bugfix - Issue #207 - TI Arm Clang Compiler Support#276
Conversation
There was a problem hiding this comment.
Pull request overview
Fixes TI Arm Clang (tiarmclang) build failures by routing TI’s Clang-based toolchain through the generic cmsis_clang.h path and removing legacy/unused TI-specific headers.
Changes:
- Update compiler-detection logic to treat TI Arm Clang as
__clang__ && __ti__and includecmsis_clang.hwith a minimum version check. - Remove legacy TI Arm Compiler (armcl) section from
cmsis_compiler.h. - Remove unused TI Arm Clang M-profile header
cmsis_tiarmclang_m.h.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| CMSIS/Core/Include/m-profile/cmsis_tiarmclang_m.h | Deleted unused TI Arm Clang M-profile-specific header to rely on generic Clang header handling. |
| CMSIS/Core/Include/cmsis_compiler.h | Adjusted TI Arm Clang detection and switched to cmsis_clang.h; removed legacy TI armcl block. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
LGTM, did you consider enhancing Core Tests and CoreValidation to run with TI Compiler? Doing so, and assuming we don't need a special license to run the compiler in GitHub Actions, this could help to seal compiler support.
PS: CoreValidation is using CMSIS-Toolbox thus we'd need a contribution to enable TI Compiler with Csolution, too.
Test Results 264 files - 108 264 suites - 108 0s ⏱️ - 8m 46s Results for commit 358e1da. ± Comparison against base commit 6f669f2. This pull request removes 49 and adds 56 tests. Note that renamed tests count towards both.This pull request removes 5 skipped tests and adds 2 skipped tests. Note that renamed tests count towards both. |
|
@smmasongt please check the Copilot comments and resolve the conversations if you are happy. |
Hello, I'll look into contributing to this. It may be beyond my current capabilities though. |
I resolved these as "No Change".
|
Addresses Issue #180 and Issue #207 which cause build failures with TI Arm Clang Compiler.
It was suggested to move to the generic "cmsis_clang.h" header, which I agree would be the best long term option. Verified TI Arm Clang Compiler supports ACLE 2.00 in documentation [1] which should help reduce the number of specialized handlers for the compiler. Kept a separate section in "cmsis_compiler.h" for TI Arm Clang Compiler in case it is needed in the future, and added additional checks so preprocessor logic is not order dependent.
Removed now unused header "cmsis_tiarmclang_m.h".
Removed legacy TI Arm Compiler (armcl) section as header "cmsis_ccs.h" is not present in CMSIS_6.
Tested updates alongside pull request #45 on a subset of CMSIS-DSP functions which was the primary motivation for enabling TI compiler support.
Test Environment:
TI AM2434, Cortex-R5F, VFPv3-D16
TI CCS 20.4.1.4
TI Arm Clang Compiler v5.0
References:
[1] TI Arm Clang Compiler