From 6f9798bf9807bb0e8acda4ba85eec8ce40e7038f Mon Sep 17 00:00:00 2001 From: Andre Vieira Date: Fri, 22 Jun 2018 14:38:34 +0000 Subject: [PATCH] backport: arm_cmse.h (cmse_nsfptr_create): Change typeof to __typeof__. gcc/ 2018-06-22 Andre Vieira Backport from mainline 2018-06-05 Andre Vieira * config/arm/arm_cmse.h (cmse_nsfptr_create): Change typeof to __typeof__. (cmse_check_pointed_object): Likewise. gcc/testsuite/ 2018-06-22 Andre Vieira Backport from mainline 2018-06-05 Andre Vieira * gcc.target/arm/cmse/cmse-1c99.c: New test. From-SVN: r261900 --- gcc/ChangeLog | 9 +++++++++ gcc/config/arm/arm_cmse.h | 4 ++-- gcc/testsuite/ChangeLog | 7 +++++++ gcc/testsuite/gcc.target/arm/cmse/cmse-1c99.c | 4 ++++ 4 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 gcc/testsuite/gcc.target/arm/cmse/cmse-1c99.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index db11a3e6c16e..37d23da6c5e5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2018-06-22 Andre Vieira + + Backport from mainline + 2018-06-05 Andre Vieira + + * config/arm/arm_cmse.h (cmse_nsfptr_create): Change typeof to + __typeof__. + (cmse_check_pointed_object): Likewise. + 2018-06-22 Andre Vieira Backport from mainline diff --git a/gcc/config/arm/arm_cmse.h b/gcc/config/arm/arm_cmse.h index f8bd730e0279..427647fb9817 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 */ diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 4a5dc4184794..c0cc3694262d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2018-06-22 Andre Vieira + + Backport from mainline + 2018-06-05 Andre Vieira + + * gcc.target/arm/cmse/cmse-1c99.c: New test. + 2018-06-19 Eric Botcazou * gnat.dg/aggr24.adb: New test. diff --git a/gcc/testsuite/gcc.target/arm/cmse/cmse-1c99.c b/gcc/testsuite/gcc.target/arm/cmse/cmse-1c99.c new file mode 100644 index 000000000000..0f99dd341b7e --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/cmse/cmse-1c99.c @@ -0,0 +1,4 @@ +/* { dg-do compile } */ +/* { dg-options "-Os -mcmse -std=c99" } */ +/* This is a copy of cmse-1.c to test arm_mve.h ISO C compatibility. */ +#include "cmse-1.c" -- 2.47.2