Merge pull request #149 from c1728p9/fix_iar

Pull up on config store enough to fix IAR
Martin Kojtal 2016-05-27 08:37:18 +01:00
commit b98152eac7
4 changed files with 13 additions and 14 deletions

View File

@ -1 +1 @@
https://github.com/ARMmbed/configuration-store/#f0a4c07cce8c84513f528e5939c5a1469385d2a8
https://github.com/ARMmbed/configuration-store/#3e5d635ba44915b45fd575905296e587a5f0d18e

View File

@ -19,29 +19,28 @@ int testPacked() {
return failed;
}
ALIGN(8) static char a_align_test;
ALIGN(8) static char b_align_test;
ALIGN(16)static char c_align_test;
ALIGN(8) static char d_align_test;
ALIGN(16)static char e_align_test;
int testAlign() {
int failed = 0;
ALIGN(8) char a;
ALIGN(8) char b;
ALIGN(16) char c;
ALIGN(8) char d;
ALIGN(16) char e;
if(((uintptr_t)&a) & 0x7){
if(((uintptr_t)&a_align_test) & 0x7){
failed++;
}
if(((uintptr_t)&b) & 0x7){
if(((uintptr_t)&b_align_test) & 0x7){
failed++;
}
if(((uintptr_t)&c) & 0xf){
if(((uintptr_t)&c_align_test) & 0xf){
failed++;
}
if(((uintptr_t)&d) & 0x7){
if(((uintptr_t)&d_align_test) & 0x7){
failed++;
}
if(((uintptr_t)&e) & 0xf){
if(((uintptr_t)&e_align_test) & 0xf){
failed++;
}

View File

@ -146,7 +146,7 @@
#if defined(__GNUC__) || defined(__clang__) || defined(__CC_ARM)
#define FORCEINLINE static inline __attribute__((always_inline))
#elif defined(__ICCARM__)
#define FORCEINLINE _Pragma("inline=force") static
#define FORCEINLINE _Pragma("inline=forced") static
#else
#define FORCEINLINE static inline
#endif

View File

@ -104,7 +104,7 @@ class IAR(mbedToolchain):
def cc_extra(self, object):
base, _ = splitext(object)
return ["-l", base + '.s']
return ["-l", base + '.s.txt']
def get_compile_options(self, defines, includes):
return ['-D%s' % d for d in defines] + ['-f', self.get_inc_file(includes)]