From: Sebastian Huber <sebastian.huber@embedded-brains.de>
To: gcc-patches@gcc.gnu.org
Cc: Alan Modra <amodra@gmail.com>
Subject: Re: [Patch] Potential fix for PR55033
Date: Wed, 31 Oct 2012 14:02:00 -0000 [thread overview]
Message-ID: <50912DFD.4030503@embedded-brains.de> (raw)
In-Reply-To: <20121031001252.GA26796@bubble.grove.modra.org>
[-- Attachment #1: Type: text/plain, Size: 1395 bytes --]
Hello Alan,
maybe it is better to use a require effective target instead of the
{ target powerpc*-*-eabi* powerpc*-*-elf* powerpc*-*-linux* }
patterns scattered around in the testsuite? One problem with this is that test
cases for one of these will likely also work with powerpc*-*-rtems*. I want to
look at the remaining 104 test cases which are marked as UNSUPPORTED for RTEMS
some time in the future. Please have a look at the attached patches.
On 10/31/2012 01:12 AM, Alan Modra wrote:
> On Tue, Oct 30, 2012 at 02:45:40PM +0100, Sebastian Huber wrote:
>> On 10/26/2012 02:22 PM, Sebastian Huber wrote:
>>> Hello,
>>>
>>> here is a test case for PR55033.
>>>
>>
>> Is there something wrong with this test case? It compiles well with Alan's patch.
>
> It looks OK to me if you replace your "gd-do compile" line with the
> following two lines to avoid failures on powerpc targets that don't
> support -meabi -msdata.
>
> /* { dg-do compile { target powerpc*-*-eabi* powerpc*-*-elf* powerpc*-*-linux* } } */
> /* { dg-require-effective-target ilp32 } */
>
>
--
Sebastian Huber, embedded brains GmbH
Address : Obere Lagerstr. 30, D-82178 Puchheim, Germany
Phone : +49 89 18 90 80 79-6
Fax : +49 89 18 90 80 79-9
E-Mail : sebastian.huber@embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
[-- Attachment #2: 0001-PowerPC-testsuite-clean-up.patch --]
[-- Type: text/x-patch, Size: 6609 bytes --]
From a57f179c89b5ac1bb6bf8ecfa8fa47a6e8e7c6c0 Mon Sep 17 00:00:00 2001
From: Sebastian Huber <sebastian.huber@embedded-brains.de>
Date: Wed, 31 Oct 2012 10:36:49 +0100
Subject: [PATCH 1/2] PowerPC testsuite clean up
2012-10-31 Sebastian Huber <sebastian.huber@embedded-brains.de>
* lib/target-supports.exp
(check_effective_target_powerpc_canonical): New.
(check_effective_target_powerpc_eabi_ok): New.
* gcc.target/powerpc/ppc-eabi.c: Use require effective target
powerpc_eabi_ok.
* gcc.target/powerpc/ppc-sdata-1.c: Likewise.
* gcc.target/powerpc/spe-small-data-2.c: Likewise.
* gcc.target/powerpc/ppc-sdata-2.c: Use require effective target
powerpc_canonical and ilp32.
* gcc.target/powerpc/pr51623.c: Likewise.
* gcc.target/powerpc/ppc-stackalign-1.c: Use require effective target
powerpc_canonical.
* gcc.target/powerpc/ppc-ldstruct.c: Run for powerpc*-*-rtems*.
* gcc.target/powerpc/spe-small-data-2.c: Do not run, compile only.
---
gcc/testsuite/gcc.target/powerpc/ppc-eabi.c | 3 +-
gcc/testsuite/gcc.target/powerpc/ppc-ldstruct.c | 2 +-
gcc/testsuite/gcc.target/powerpc/ppc-sdata-1.c | 3 +-
gcc/testsuite/gcc.target/powerpc/ppc-sdata-2.c | 4 ++-
.../gcc.target/powerpc/ppc-stackalign-1.c | 3 +-
gcc/testsuite/gcc.target/powerpc/pr51623.c | 4 ++-
.../gcc.target/powerpc/spe-small-data-2.c | 3 +-
gcc/testsuite/lib/target-supports.exp | 23 ++++++++++++++++++++
8 files changed, 38 insertions(+), 7 deletions(-)
diff --git a/gcc/testsuite/gcc.target/powerpc/ppc-eabi.c b/gcc/testsuite/gcc.target/powerpc/ppc-eabi.c
index 47ba1a7..cd15586 100644
--- a/gcc/testsuite/gcc.target/powerpc/ppc-eabi.c
+++ b/gcc/testsuite/gcc.target/powerpc/ppc-eabi.c
@@ -1,4 +1,5 @@
/* PR target/16952 */
-/* { dg-do compile { target { powerpc*-*-linux* && ilp32 } } } */
+/* { dg-do compile } */
+/* { dg-require-effective-target powerpc_eabi_ok } */
/* { dg-options "-meabi -mrelocatable" } */
char *s = "boo";
diff --git a/gcc/testsuite/gcc.target/powerpc/ppc-ldstruct.c b/gcc/testsuite/gcc.target/powerpc/ppc-ldstruct.c
index da6001f..ffb4264 100644
--- a/gcc/testsuite/gcc.target/powerpc/ppc-ldstruct.c
+++ b/gcc/testsuite/gcc.target/powerpc/ppc-ldstruct.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target powerpc*-*-eabi* powerpc*-*-elf* powerpc*-*-linux* } } */
+/* { dg-do run { target powerpc*-*-eabi* powerpc*-*-elf* powerpc*-*-linux* powerpc*-*-rtems* } } */
/* { dg-options "-O -mlong-double-128" } */
#include <stdlib.h>
diff --git a/gcc/testsuite/gcc.target/powerpc/ppc-sdata-1.c b/gcc/testsuite/gcc.target/powerpc/ppc-sdata-1.c
index 5f39d86..efd5a5e 100644
--- a/gcc/testsuite/gcc.target/powerpc/ppc-sdata-1.c
+++ b/gcc/testsuite/gcc.target/powerpc/ppc-sdata-1.c
@@ -1,5 +1,6 @@
-/* { dg-do compile { target { { powerpc*-*-linux* && ilp32 } || { powerpc-*-eabi* } } } } */
+/* { dg-do compile } */
/* { dg-options "-O2 -fno-common -G 8 -meabi -msdata=eabi" } */
+/* { dg-require-effective-target powerpc_eabi_ok } */
/* { dg-require-effective-target nonpic } */
/* { dg-final { scan-assembler "\\.section\[ \t\]\\.sdata," } } */
/* { dg-final { scan-assembler "\\.section\[ \t\]\\.sdata2," } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/ppc-sdata-2.c b/gcc/testsuite/gcc.target/powerpc/ppc-sdata-2.c
index f102b1d..fdc4030 100644
--- a/gcc/testsuite/gcc.target/powerpc/ppc-sdata-2.c
+++ b/gcc/testsuite/gcc.target/powerpc/ppc-sdata-2.c
@@ -1,5 +1,7 @@
-/* { dg-do compile { target { { powerpc*-*-linux* && ilp32 } || { powerpc-*-eabi* } } } } */
+/* { dg-do compile } */
/* { dg-options "-O2 -fno-common -G 8 -msdata=sysv" } */
+/* { dg-require-effective-target powerpc_canonical } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-require-effective-target nonpic } */
/* { dg-final { scan-assembler "\\.section\[ \t\]\\.sdata," } } */
/* { dg-final { scan-assembler-not "\\.section\[ \t\]\\.sdata2," } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/ppc-stackalign-1.c b/gcc/testsuite/gcc.target/powerpc/ppc-stackalign-1.c
index 465fc41..034ebc1 100644
--- a/gcc/testsuite/gcc.target/powerpc/ppc-stackalign-1.c
+++ b/gcc/testsuite/gcc.target/powerpc/ppc-stackalign-1.c
@@ -1,4 +1,5 @@
-/* { dg-do run { target powerpc*-*-linux* powerpc*-*-eabi* } } */
+/* { dg-do run } */
+/* { dg-require-effective-target powerpc_canonical } */
/* { dg-options {} } */
/* Test stack pointer alignment against variable alloca. */
diff --git a/gcc/testsuite/gcc.target/powerpc/pr51623.c b/gcc/testsuite/gcc.target/powerpc/pr51623.c
index 37b7d65..948c81f 100644
--- a/gcc/testsuite/gcc.target/powerpc/pr51623.c
+++ b/gcc/testsuite/gcc.target/powerpc/pr51623.c
@@ -1,5 +1,7 @@
/* PR target/51623 */
-/* { dg-do compile { target { { powerpc*-*-linux* && ilp32 } || { powerpc-*-eabi* } } } } */
+/* { dg-do compile } */
+/* { dg-require-effective-target powerpc_canonical } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-mrelocatable -ffreestanding" } */
/* This generated an error, since the compiler was calling
diff --git a/gcc/testsuite/gcc.target/powerpc/spe-small-data-2.c b/gcc/testsuite/gcc.target/powerpc/spe-small-data-2.c
index 2a466e3..5354e49 100644
--- a/gcc/testsuite/gcc.target/powerpc/spe-small-data-2.c
+++ b/gcc/testsuite/gcc.target/powerpc/spe-small-data-2.c
@@ -1,5 +1,6 @@
/* Verify that we don't ICE trying to put float data in .sdata2. */
-/* { dg-do run { target { powerpc*-*-linux* && powerpc_spe } } } */
+/* { dg-do compile } */
+/* { dg-require-effective-target powerpc_eabi_ok } */
/* { dg-options "-msdata=eabi -mcall-eabi -G 8" } */
double x;
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 8520c8f..6ed5f52 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -2494,6 +2494,29 @@ proc check_effective_target_arm_prefer_ldrd_strd { } {
} "-O2 -mthumb" ]
}
+# Return 1 if this is a canonical PowerPC target.
+
+proc check_effective_target_powerpc_canonical { } {
+ if { [istarget powerpc*-*-linux*] || [istarget powerpc-*-eabi*]
+ || [istarget powerpc-*-rtems*] } {
+ return 1;
+ } else {
+ return 0
+ }
+}
+
+# Return 1 if this is a PowerPC target supporting -meabi.
+
+proc check_effective_target_powerpc_eabi_ok { } {
+ if { [istarget powerpc*-*-*] } {
+ return [check_no_compiler_messages powerpc_eabi_ok object {
+ int dummy;
+ } "-meabi"]
+ } else {
+ return 0
+ }
+}
+
# Return 1 if this is a PowerPC target with floating-point registers.
proc check_effective_target_powerpc_fprs { } {
--
1.7.7
[-- Attachment #3: 0002-Test-case-for-PR55033.patch --]
[-- Type: text/x-patch, Size: 1110 bytes --]
From 0a8c10e6f41339c16557a76dd11a4de08244acdf Mon Sep 17 00:00:00 2001
From: Sebastian Huber <sebastian.huber@embedded-brains.de>
Date: Tue, 23 Oct 2012 12:27:05 +0200
Subject: [PATCH 2/2] Test case for PR55033
2012-10-31 Sebastian Huber <sebastian.huber@embedded-brains.de>
PR target/55033
* gcc.target/powerpc/pr55033.c: New.
---
gcc/testsuite/gcc.target/powerpc/pr55033.c | 21 +++++++++++++++++++++
1 files changed, 21 insertions(+), 0 deletions(-)
create mode 100644 gcc/testsuite/gcc.target/powerpc/pr55033.c
diff --git a/gcc/testsuite/gcc.target/powerpc/pr55033.c b/gcc/testsuite/gcc.target/powerpc/pr55033.c
new file mode 100644
index 0000000..cd8abcb
--- /dev/null
+++ b/gcc/testsuite/gcc.target/powerpc/pr55033.c
@@ -0,0 +1,21 @@
+/* { dg-do compile } */
+/* { dg-require-effective-target powerpc_eabi_ok } */
+/* { dg-options "-mcpu=8540 -msoft-float -msdata=eabi -G 8 -fno-common" } */
+
+void f(void);
+
+struct s {
+ int *p;
+ int *q;
+};
+
+extern int a;
+
+extern const struct s c;
+
+const struct s c = { &a, 0 };
+
+void f(void)
+{
+ char buf[4] = { 0, 1, 2, 3 };
+}
--
1.7.7
prev parent reply other threads:[~2012-10-31 13:56 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-23 16:38 Sebastian Huber
2012-10-24 15:17 ` Alan Modra
2012-10-25 9:10 ` Sebastian Huber
2012-10-30 14:18 ` Sebastian Huber
2013-01-29 14:40 ` Sebastian Huber
2013-01-29 17:05 ` Sebastian Huber
2012-10-26 12:35 ` Sebastian Huber
2012-10-30 14:12 ` Sebastian Huber
2012-10-31 0:36 ` Alan Modra
2012-10-31 14:02 ` Sebastian Huber [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50912DFD.4030503@embedded-brains.de \
--to=sebastian.huber@embedded-brains.de \
--cc=amodra@gmail.com \
--cc=gcc-patches@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).