summaryrefslogtreecommitdiff
path: root/packages/gcc/8.2.0/0021-arm-Make-arm_cmse.h-C99-compatible.patch
diff options
context:
space:
mode:
authorKumar Gala <kumar.gala@linaro.org>2018-09-27 09:26:52 (GMT)
committerKumar Gala <kumar.gala@linaro.org>2018-09-27 09:26:52 (GMT)
commitb06864f7df7fc1037f8002a64ba66296bdaf24d6 (patch)
tree8fb709cbefebbf0133951080dcaf013d34ca0e03 /packages/gcc/8.2.0/0021-arm-Make-arm_cmse.h-C99-compatible.patch
parentb82b8adb441001fc1c7f6d5603834861a2de0d2b (diff)
Pull in fixes for ARM v8m support in gcc 8.2.0
There are some fixes to the cmse code in mainline gcc that we need to build an embedded toolchain targetting Cortex-M cpus that support the v8m extensions. Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Diffstat (limited to 'packages/gcc/8.2.0/0021-arm-Make-arm_cmse.h-C99-compatible.patch')
-rw-r--r--packages/gcc/8.2.0/0021-arm-Make-arm_cmse.h-C99-compatible.patch40
1 files changed, 40 insertions, 0 deletions
diff --git a/packages/gcc/8.2.0/0021-arm-Make-arm_cmse.h-C99-compatible.patch b/packages/gcc/8.2.0/0021-arm-Make-arm_cmse.h-C99-compatible.patch
new file mode 100644
index 0000000..0989910
--- /dev/null
+++ b/packages/gcc/8.2.0/0021-arm-Make-arm_cmse.h-C99-compatible.patch
@@ -0,0 +1,40 @@
+From 02a72c22044c079becd5307c8b5c9552ba0c7f53 Mon Sep 17 00:00:00 2001
+From: avieira <avieira@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Tue, 5 Jun 2018 15:07:09 +0000
+Subject: [PATCH] [arm] Make arm_cmse.h C99 compatible
+
+gcc/ChangeLog
+2018-06-05 Andre Vieira <andre.simoesdiasvieira@arm.com>
+
+ * config/arm/arm_cmse.h (cmse_nsfptr_create): Change typeof to
+ __typeof__.
+ (cmse_check_pointed_object): Likewise.
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261204 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+ gcc/config/arm/arm_cmse.h | 4 ++--
+ 4 files changed, 16 insertions(+), 2 deletions(-)
+ create mode 100644 gcc/testsuite/gcc.target/arm/cmse/cmse-1c99.c
+
+diff --git a/gcc/config/arm/arm_cmse.h b/gcc/config/arm/arm_cmse.h
+index f972e23659d..9b35537cd33 100644
+--- a/gcc/config/arm/arm_cmse.h
++++ b/gcc/config/arm/arm_cmse.h
+@@ -173,7 +173,7 @@ cmse_nonsecure_caller (void)
+ #define CMSE_MPU_NONSECURE 16
+ #define CMSE_NONSECURE 18
+
+-#define cmse_nsfptr_create(p) ((typeof ((p))) ((__INTPTR_TYPE__) (p) & ~1))
++#define cmse_nsfptr_create(p) ((__typeof__ ((p))) ((__INTPTR_TYPE__) (p) & ~1))
+
+ #define cmse_is_nsfptr(p) (!((__INTPTR_TYPE__) (p) & 1))
+
+@@ -187,7 +187,7 @@ __extension__ void *
+ cmse_check_address_range (void *, size_t, int);
+
+ #define cmse_check_pointed_object(p, f) \
+- ((typeof ((p))) cmse_check_address_range ((p), sizeof (*(p)), (f)))
++ ((__typeof__ ((p))) cmse_check_address_range ((p), sizeof (*(p)), (f)))
+
+ #endif /* __ARM_FEATURE_CMSE & 1 */
+