Skip to content

Commit 2f82b0d

Browse files
committed
* Top-level compiler headers will exist in the core folder (no separate 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
1 parent 688b703 commit 2f82b0d

13 files changed

Lines changed: 2970 additions & 3892 deletions

CMSIS/Core/Include/a-profile/cmsis_armclang_a.h

Lines changed: 11 additions & 448 deletions
Large diffs are not rendered by default.

CMSIS/Core/Include/a-profile/cmsis_clang_a.h

Lines changed: 23 additions & 447 deletions
Large diffs are not rendered by default.

CMSIS/Core/Include/a-profile/cmsis_gcc_a.h

Lines changed: 5 additions & 695 deletions
Large diffs are not rendered by default.

CMSIS/Core/Include/cmsis_armclang.h

Lines changed: 707 additions & 0 deletions
Large diffs are not rendered by default.

CMSIS/Core/Include/cmsis_clang.h

Lines changed: 708 additions & 0 deletions
Large diffs are not rendered by default.

CMSIS/Core/Include/cmsis_compiler.h

Lines changed: 4 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -29,59 +29,27 @@
2929
* Arm Compiler above 6.10.1 (armclang)
3030
*/
3131
#if defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6100100)
32-
#if __ARM_ARCH_PROFILE == 'A'
33-
#include "./a-profile/cmsis_armclang_a.h"
34-
#elif __ARM_ARCH_PROFILE == 'R'
35-
#include "./r-profile/cmsis_armclang_r.h"
36-
#elif __ARM_ARCH_PROFILE == 'M'
37-
#include "./m-profile/cmsis_armclang_m.h"
38-
#else
39-
#error "Unknown Arm architecture profile"
40-
#endif
32+
#include "cmsis_armclang.h"
4133

4234
/*
4335
* TI Arm Clang Compiler (tiarmclang)
4436
*/
4537
#elif defined (__ti__)
46-
#if __ARM_ARCH_PROFILE == 'A'
47-
#error "Core-A is not supported for this compiler"
48-
#elif __ARM_ARCH_PROFILE == 'R'
49-
#error "Core-R is not supported for this compiler"
50-
#elif __ARM_ARCH_PROFILE == 'M'
51-
#include "m-profile/cmsis_tiarmclang_m.h"
52-
#else
53-
#error "Unknown Arm architecture profile"
54-
#endif
38+
#include "cmsis_tiarmclang.h"
5539

5640

5741
/*
5842
* LLVM/Clang Compiler
5943
*/
6044
#elif defined ( __clang__ )
61-
#if __ARM_ARCH_PROFILE == 'A'
62-
#include "a-profile/cmsis_clang_a.h"
63-
#elif __ARM_ARCH_PROFILE == 'R'
64-
#include "r-profile/cmsis_clang_r.h"
65-
#elif __ARM_ARCH_PROFILE == 'M'
66-
#include "m-profile/cmsis_clang_m.h"
67-
#else
68-
#error "Unknown Arm architecture profile"
69-
#endif
45+
#include "cmsis_clang.h"
7046

7147

7248
/*
7349
* GNU Compiler
7450
*/
7551
#elif defined ( __GNUC__ )
76-
#if __ARM_ARCH_PROFILE == 'A'
77-
#include "a-profile/cmsis_gcc_a.h"
78-
#elif __ARM_ARCH_PROFILE == 'R'
79-
#include "r-profile/cmsis_gcc_r.h"
80-
#elif __ARM_ARCH_PROFILE == 'M'
81-
#include "m-profile/cmsis_gcc_m.h"
82-
#else
83-
#error "Unknown Arm architecture profile"
84-
#endif
52+
#include "cmsis_gcc.h"
8553

8654

8755
/*

0 commit comments

Comments
 (0)