Skip to content

Commit

Permalink
* Top-level compiler headers will exist in the core folder (no separa…
Browse files Browse the repository at this point in the history
…te compiler folder is needed).

** The cmsis_compiler.h header will continue to figure out which compiler toolchain is being used.
** Compiler headers specific to each architecture profiles can reside within the new architecture profile folders.
* Introduce compiler abstraction for cortex-R
  • Loading branch information
Masmiseim36 committed Feb 25, 2024
1 parent 688b703 commit 2f82b0d
Show file tree
Hide file tree
Showing 13 changed files with 2,970 additions and 3,892 deletions.
459 changes: 11 additions & 448 deletions CMSIS/Core/Include/a-profile/cmsis_armclang_a.h

Large diffs are not rendered by default.

470 changes: 23 additions & 447 deletions CMSIS/Core/Include/a-profile/cmsis_clang_a.h

Large diffs are not rendered by default.

700 changes: 5 additions & 695 deletions CMSIS/Core/Include/a-profile/cmsis_gcc_a.h

Large diffs are not rendered by default.

707 changes: 707 additions & 0 deletions CMSIS/Core/Include/cmsis_armclang.h

Large diffs are not rendered by default.

708 changes: 708 additions & 0 deletions CMSIS/Core/Include/cmsis_clang.h

Large diffs are not rendered by default.

40 changes: 4 additions & 36 deletions CMSIS/Core/Include/cmsis_compiler.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,59 +29,27 @@
* Arm Compiler above 6.10.1 (armclang)
*/
#if defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6100100)
#if __ARM_ARCH_PROFILE == 'A'
#include "./a-profile/cmsis_armclang_a.h"
#elif __ARM_ARCH_PROFILE == 'R'
#include "./r-profile/cmsis_armclang_r.h"
#elif __ARM_ARCH_PROFILE == 'M'
#include "./m-profile/cmsis_armclang_m.h"
#else
#error "Unknown Arm architecture profile"
#endif
#include "cmsis_armclang.h"

/*
* TI Arm Clang Compiler (tiarmclang)
*/
#elif defined (__ti__)
#if __ARM_ARCH_PROFILE == 'A'
#error "Core-A is not supported for this compiler"
#elif __ARM_ARCH_PROFILE == 'R'
#error "Core-R is not supported for this compiler"
#elif __ARM_ARCH_PROFILE == 'M'
#include "m-profile/cmsis_tiarmclang_m.h"
#else
#error "Unknown Arm architecture profile"
#endif
#include "cmsis_tiarmclang.h"


/*
* LLVM/Clang Compiler
*/
#elif defined ( __clang__ )
#if __ARM_ARCH_PROFILE == 'A'
#include "a-profile/cmsis_clang_a.h"
#elif __ARM_ARCH_PROFILE == 'R'
#include "r-profile/cmsis_clang_r.h"
#elif __ARM_ARCH_PROFILE == 'M'
#include "m-profile/cmsis_clang_m.h"
#else
#error "Unknown Arm architecture profile"
#endif
#include "cmsis_clang.h"


/*
* GNU Compiler
*/
#elif defined ( __GNUC__ )
#if __ARM_ARCH_PROFILE == 'A'
#include "a-profile/cmsis_gcc_a.h"
#elif __ARM_ARCH_PROFILE == 'R'
#include "r-profile/cmsis_gcc_r.h"
#elif __ARM_ARCH_PROFILE == 'M'
#include "m-profile/cmsis_gcc_m.h"
#else
#error "Unknown Arm architecture profile"
#endif
#include "cmsis_gcc.h"


/*
Expand Down
Loading

0 comments on commit 2f82b0d

Please sign in to comment.