diff mbox

[GCC/testsuite/ARM] Allow arm_arch_*_ok to test several macros

Message ID 210d0ced-d557-3a95-24a9-808544f50985@foss.arm.com
State New
Headers show

Commit Message

Thomas Preudhomme June 14, 2017, 2:11 p.m. UTC
I've heard adding the patch usually helps getting it review so here it is. :-)

Best regards,

Thomas

On 07/06/17 16:42, Thomas Preudhomme wrote:
> Hi,
>
> The general arm_arch_*_ok procedures check architecture availability by
> substituting macros inside a defined preprocessor operator. This limits
> them to only check definition of only one macro and force ARMv7VE to be
> special cased.
>
> This patch takes advantage of the fact that architecture macros, when
> defined, are not null to allow expressing architecture availability by
> a boolean operation of possibly several macros. It then takes advantage
> of this to deal with ARMv7VE in the general case.  The patch also adds a
> comment to make it clear that check_effective_target_arm_arch_FUNC_ok
> does not work as intendend for architecture extensions (eg. ARMv8.1-A)
> due to lack of extension-specific macro similar to __ARM_ARCH_*__.
>
> ChangeLog entry is as follows:
>
> *** gcc/testsuite/ChangeLog ***
>
> 2017-06-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
>
>     * lib/target-supports.exp (check_effective_target_arm_arch_FUNC_ok):
>     Test for null definitions instead of them being undefined.  Add entry
>     for ARMv7VE.  Reindent entry for ARMv8-M Baseline.  Add comment warning
>     about using the effective target for architecture extension.
>     (check_effective_target_arm_arch_v7ve_ok): Remove.
>     (add_options_for_arm_arch_v7ve): Likewise.
>
> Testing:
> - gcc.target/arm/atomic_loaddi_10.c passes with the patch for armv7ve
>   but is marked unsupported for armv7-a
> - verified in the logs that -march=armv7ve is correctly added when
>   running gcc.target/arm/ftest-armv7ve-arm.c
>
> Is this ok for trunk?
>
> Best regards,
>
> Thomas
diff mbox

Patch

diff --git a/contrib/dg-cmp-results.sh b/contrib/dg-cmp-results.sh
index d291769547dcd2a02ecf6f80d60d6be7802af4fd..d875b4bd8bca16c1f381355612ef34f6879c5674 100755
--- a/contrib/dg-cmp-results.sh
+++ b/contrib/dg-cmp-results.sh
@@ -91,8 +91,7 @@  sed $E -e '/^[[:space:]]+===/,$d' $NFILE
 
 # Create a temporary file from the old file's interesting section.
 sed $E -e "1,/$header/d" \
-  -e '/^[[:space:]]+===/,$d' \
-  -e '/^[A-Z]+:/!d' \
+  -e '/^Running target /,/^[[:space:]]+===.*Summary ===/!d' \
   -e '/^(WARNING|ERROR):/d' \
   -e 's/\r$//' \
   -e 's/^/O:/' \
@@ -102,8 +101,7 @@  sed $E -e "1,/$header/d" \
 
 # Create a temporary file from the new file's interesting section.
 sed $E -e "1,/$header/d" \
-  -e '/^[[:space:]]+===/,$d' \
-  -e '/^[A-Z]+:/!d' \
+  -e '/^Running target /,/^[[:space:]]+===.*Summary ===/!d' \
   -e '/^(WARNING|ERROR):/d' \
   -e 's/\r$//' \
   -e 's/^/N:/' \