* Ping: RFA: Testsuite fixes (2/3): struct padding / alignment
@ 2011-09-25 17:02 Joern Rennecke
2011-09-25 18:39 ` Richard Guenther
0 siblings, 1 reply; 4+ messages in thread
From: Joern Rennecke @ 2011-09-25 17:02 UTC (permalink / raw)
To: gcc-patches
[-- Attachment #1: Type: text/plain, Size: 867 bytes --]
This patch has not been reviewed for eight weeks.
----- Forwarded message from amylaar@spamcop.net -----
Date: Mon, 01 Aug 2011 01:01:13 -0400
From: Joern Rennecke <amylaar@spamcop.net>
Reply-To: Joern Rennecke <amylaar@spamcop.net>
Subject: RFA: Testsuite fixes (2/3): struct padding / alignment
To: gcc-patches@gcc.gnu.org
I am working with a target port that adds alignment and/or padding to certain
structures. This causes some tests to fail that assume such padding does
not exist.
Fixed by adding a packed attribute to the structures in question.
Regression tested with x86_64-unknown-linux-gnu X sh-elf .
No change there, as there is no such added alignment / padding by default
on that target. (Although there is the -mpadstruct option; but you'd need
to build appropriate mutilibs to test that.)
----- End forwarded message -----
[-- Attachment #2: testsuite-patches-20110731-align --]
[-- Type: text/plain, Size: 2105 bytes --]
2011-07-27 Joern Rennecke <joern.rennecke@embecosm.com>
* g++.dg/ext/strncpy-chk1.C (struct A): Add packed attribute.
2011-07-21 Joern Rennecke <joern.rennecke@embecosm.com>
* gcc.dg/builtin-object-size-10.c (drone_source_packet): Make packed.
* gcc.dg/builtin-stringop-chk-1.c (t): Make packed.
Index: gcc.dg/builtin-object-size-10.c
===================================================================
--- gcc.dg/builtin-object-size-10.c (.../GNU/fsf-gcc/trunk/gcc/testsuite) (revision 2013)
+++ gcc.dg/builtin-object-size-10.c (.../Customer-Projects/X/branches/Y-20110628/toolchain/gcc-4.7.0-20110701/gcc/testsuite) (revision 2013)
@@ -8,7 +8,7 @@
typedef struct {
char type_str[16];
char channel_hop;
-} drone_source_packet;
+} __attribute__((packed)) drone_source_packet;
drone_packet *
foo(char *x)
{
Index: gcc.dg/builtin-stringop-chk-1.c
===================================================================
--- gcc.dg/builtin-stringop-chk-1.c (.../GNU/fsf-gcc/trunk/gcc/testsuite) (revision 2013)
+++ gcc.dg/builtin-stringop-chk-1.c (.../Customer-Projects/X/branches/Y-20110628/toolchain/gcc-4.7.0-20110701/gcc/testsuite) (revision 2013)
@@ -104,7 +104,7 @@ test2 (const H h)
S *s[3];
memset (s, 0, sizeof (S) * 3); /* { dg-warning "will always overflow" "memset" } */
- struct T { char a[8]; char b[4]; char c[10]; } t;
+ struct T { char a[8]; char b[4]; char c[10]; } __attribute__((packed)) t;
stpcpy (t.c,"Testing..."); /* { dg-warning "will always overflow" "stpcpy" } */
char b1[7];
Index: g++.dg/ext/strncpy-chk1.C
===================================================================
--- g++.dg/ext/strncpy-chk1.C (.../GNU/fsf-gcc/trunk/gcc/testsuite) (revision 2013)
+++ g++.dg/ext/strncpy-chk1.C (.../Customer-Projects/X/branches/Y-20110628/toolchain/gcc-4.7.0-20110701/gcc/testsuite) (revision 2013)
@@ -2,7 +2,7 @@
// { dg-do compile }
// { dg-options "-O2" }
-struct A { char x[12], y[35]; };
+struct A { char x[12], y[35]; } __attribute__((packed));
struct B { char z[50]; };
inline void
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Ping: RFA: Testsuite fixes (2/3): struct padding / alignment
2011-09-25 17:02 Ping: RFA: Testsuite fixes (2/3): struct padding / alignment Joern Rennecke
@ 2011-09-25 18:39 ` Richard Guenther
2013-07-26 16:24 ` committed: Skip tests for epiphany that make invalid struct layout assumptions Joern Rennecke
0 siblings, 1 reply; 4+ messages in thread
From: Richard Guenther @ 2011-09-25 18:39 UTC (permalink / raw)
To: Joern Rennecke; +Cc: gcc-patches
On Sun, Sep 25, 2011 at 2:36 PM, Joern Rennecke <amylaar@spamcop.net> wrote:
> This patch has not been reviewed for eight weeks.
>
> ----- Forwarded message from amylaar@spamcop.net -----
> Date: Mon, 01 Aug 2011 01:01:13 -0400
> From: Joern Rennecke <amylaar@spamcop.net>
> Reply-To: Joern Rennecke <amylaar@spamcop.net>
> Subject: RFA: Testsuite fixes (2/3): struct padding / alignment
> To: gcc-patches@gcc.gnu.org
>
> I am working with a target port that adds alignment and/or padding to
> certain
> structures. This causes some tests to fail that assume such padding does
> not exist.
>
> Fixed by adding a packed attribute to the structures in question.
I think you should instead dg-skip the tests on your target. At least ...
> Regression tested with x86_64-unknown-linux-gnu X sh-elf .
> No change there, as there is no such added alignment / padding by default
> on that target. (Although there is the -mpadstruct option; but you'd need
> to build appropriate mutilibs to test that.)
>
>
> ----- End forwarded message -----
>
>
> 2011-07-27 Joern Rennecke <joern.rennecke@embecosm.com>
>
> * g++.dg/ext/strncpy-chk1.C (struct A): Add packed attribute.
>
> 2011-07-21 Joern Rennecke <joern.rennecke@embecosm.com>
>
> * gcc.dg/builtin-object-size-10.c (drone_source_packet): Make packed.
>
> * gcc.dg/builtin-stringop-chk-1.c (t): Make packed.
>
> Index: gcc.dg/builtin-object-size-10.c
> ===================================================================
> --- gcc.dg/builtin-object-size-10.c
> (.../GNU/fsf-gcc/trunk/gcc/testsuite) (revision 2013)
> +++ gcc.dg/builtin-object-size-10.c
> (.../Customer-Projects/X/branches/Y-20110628/toolchain/gcc-4.7.0-20110701/gcc/testsuite)
> (revision 2013)
> @@ -8,7 +8,7 @@
> typedef struct {
> char type_str[16];
> char channel_hop;
> -} drone_source_packet;
> +} __attribute__((packed)) drone_source_packet;
> drone_packet *
> foo(char *x)
> {
> Index: gcc.dg/builtin-stringop-chk-1.c
> ===================================================================
> --- gcc.dg/builtin-stringop-chk-1.c
> (.../GNU/fsf-gcc/trunk/gcc/testsuite) (revision 2013)
> +++ gcc.dg/builtin-stringop-chk-1.c
> (.../Customer-Projects/X/branches/Y-20110628/toolchain/gcc-4.7.0-20110701/gcc/testsuite)
> (revision 2013)
> @@ -104,7 +104,7 @@ test2 (const H h)
> S *s[3];
> memset (s, 0, sizeof (S) * 3); /* { dg-warning "will always overflow"
> "memset" } */
>
> - struct T { char a[8]; char b[4]; char c[10]; } t;
> + struct T { char a[8]; char b[4]; char c[10]; } __attribute__((packed)) t;
> stpcpy (t.c,"Testing..."); /* { dg-warning "will always overflow" "stpcpy"
... for this case I don't see how padding should affect
builtin-object-size. If it does,
it looks like a bug in the object-size pass.
Richard.
> } */
>
> char b1[7];
> Index: g++.dg/ext/strncpy-chk1.C
> ===================================================================
> --- g++.dg/ext/strncpy-chk1.C (.../GNU/fsf-gcc/trunk/gcc/testsuite)
> (revision 2013)
> +++ g++.dg/ext/strncpy-chk1.C
> (.../Customer-Projects/X/branches/Y-20110628/toolchain/gcc-4.7.0-20110701/gcc/testsuite)
> (revision 2013)
> @@ -2,7 +2,7 @@
> // { dg-do compile }
> // { dg-options "-O2" }
>
> -struct A { char x[12], y[35]; };
> +struct A { char x[12], y[35]; } __attribute__((packed));
> struct B { char z[50]; };
>
> inline void
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* committed: Skip tests for epiphany that make invalid struct layout assumptions
2011-09-25 18:39 ` Richard Guenther
@ 2013-07-26 16:24 ` Joern Rennecke
2013-07-26 18:32 ` PS: " Joern Rennecke
0 siblings, 1 reply; 4+ messages in thread
From: Joern Rennecke @ 2013-07-26 16:24 UTC (permalink / raw)
To: gcc-patches
[-- Attachment #1: Type: text/plain, Size: 861 bytes --]
Quoting Richard Guenther <richard.guenther@gmail.com>:
> On Sun, Sep 25, 2011 at 2:36 PM, Joern Rennecke <amylaar@spamcop.net> wrote:
>> This patch has not been reviewed for eight weeks.
>>
>> ----- Forwarded message from amylaar@spamcop.net -----
>> Date: Mon, 01 Aug 2011 01:01:13 -0400
>> From: Joern Rennecke <amylaar@spamcop.net>
>> Reply-To: Joern Rennecke <amylaar@spamcop.net>
>> Subject: RFA: Testsuite fixes (2/3): struct padding / alignment
>> To: gcc-patches@gcc.gnu.org
>>
>> I am working with a target port that adds alignment and/or padding to
>> certain
>> structures. This causes some tests to fail that assume such padding does
>> not exist.
>>
>> Fixed by adding a packed attribute to the structures in question.
>
> I think you should instead dg-skip the tests on your target. At least ...
Done thusly.
[-- Attachment #2: tmp --]
[-- Type: text/plain, Size: 16512 bytes --]
2013-07-26 Joern Rennecke <joern.rennecke@embecosm.com>
Skip tests that make assumptions about struct layout that don't hold
on epiphany:
* g++.dg/cpp0x/cast.C: Skip for epiphany-*-*.
* g++.dg/cpp0x/iop.C: Likewise.
* g++.dg/cpp0x/named_refs.C: Likewise.
* g++.dg/cpp0x/rv1p.C: Likewise.
* g++.dg/cpp0x/rv2p.C: Likewise.
* g++.dg/cpp0x/rv3p.C: Likewise.
* g++.dg/cpp0x/rv4p.C: Likewise.
* g++.dg/cpp0x/rv5p.C: Likewise.
* g++.dg/cpp0x/rv6p.C: Likewise.
* g++.dg/cpp0x/rv7p.C: Likewise.
* g++.dg/cpp0x/rv8p.C: Likewise.
* g++.dg/ext/strncpy-chk1.C: Likewise.
* gcc.dg/builtin-object-size-10.c: Likewise.
* gcc.dg/builtin-object-size-11.c: Likewise.
* gcc.dg/builtin-stringop-chk-1.c: Likewise.
* gcc.dg/pr25805.c: Likewise.
* gcc.c-torture/execute/builtins/memcpy-chk.x: New file.
* gcc.c-torture/execute/builtins/memmove-chk.x: Likewise.
* gcc.c-torture/execute/builtins/mempcpy-chk.x: Likewise.
* gcc.c-torture/execute/builtins/memset-chk.x: Likewise.
* gcc.c-torture/execute/builtins/snprintf-chk.x: Likewise.
* gcc.c-torture/execute/builtins/sprintf-chk.x: Likewise.
* gcc.c-torture/execute/builtins/stpcpy-chk.x: Likewise.
* gcc.c-torture/execute/builtins/strcat-chk.x: Likewise.
* gcc.c-torture/execute/builtins/strcpy-chk.x: Likewise.
* gcc.c-torture/execute/builtins/strncat-chk.x: Likewise.
* gcc.c-torture/execute/builtins/strncpy-chk.x: Likewise.
* gcc.c-torture/execute/builtins/vsnprintf-chk.x: Likewise.
* gcc.c-torture/execute/builtins/vsprintf-chk.x: Likewise.
* gcc.c-torture/execute/zerolen-2.x: Likewise.
Index: testsuite/gcc.c-torture/execute/zerolen-2.x
===================================================================
--- testsuite/gcc.c-torture/execute/zerolen-2.x (revision 0)
+++ testsuite/gcc.c-torture/execute/zerolen-2.x (revision 201268)
@@ -0,0 +1,7 @@
+if [istarget "epiphany-*-*"] {
+ # This test assumes the absence of larger-than-word padding.
+ # to make this true for struct foo on epiphany would require
+ # __attribute__((packed,aligned(__alignof__(word)))) .
+ return 1
+}
+return 0
Index: testsuite/gcc.c-torture/execute/builtins/mempcpy-chk.x
===================================================================
--- testsuite/gcc.c-torture/execute/builtins/mempcpy-chk.x (revision 0)
+++ testsuite/gcc.c-torture/execute/builtins/mempcpy-chk.x (revision 201268)
@@ -0,0 +1,7 @@
+if [istarget "epiphany-*-*"] {
+ # This test assumes the absence of struct padding.
+ # to make this true for test4 struct A on epiphany would require
+ # __attribute__((packed)) .
+ return 1
+}
+return 0
Index: testsuite/gcc.c-torture/execute/builtins/vsprintf-chk.x
===================================================================
--- testsuite/gcc.c-torture/execute/builtins/vsprintf-chk.x (revision 0)
+++ testsuite/gcc.c-torture/execute/builtins/vsprintf-chk.x (revision 201268)
@@ -0,0 +1,7 @@
+if [istarget "epiphany-*-*"] {
+ # This test assumes the absence of struct padding.
+ # to make this true for test3_sub struct A on epiphany would require
+ # __attribute__((packed)) .
+ return 1
+}
+return 0
Index: testsuite/gcc.c-torture/execute/builtins/vsnprintf-chk.x
===================================================================
--- testsuite/gcc.c-torture/execute/builtins/vsnprintf-chk.x (revision 0)
+++ testsuite/gcc.c-torture/execute/builtins/vsnprintf-chk.x (revision 201268)
@@ -0,0 +1,7 @@
+if [istarget "epiphany-*-*"] {
+ # This test assumes the absence of struct padding.
+ # to make this true for test3_sub struct A on epiphany would require
+ # __attribute__((packed)) .
+ return 1
+}
+return 0
Index: testsuite/gcc.c-torture/execute/builtins/snprintf-chk.x
===================================================================
--- testsuite/gcc.c-torture/execute/builtins/snprintf-chk.x (revision 0)
+++ testsuite/gcc.c-torture/execute/builtins/snprintf-chk.x (revision 201268)
@@ -0,0 +1,7 @@
+if [istarget "epiphany-*-*"] {
+ # This test assumes the absence of struct padding.
+ # to make this true for test3 struct A on epiphany would require
+ # __attribute__((packed)) .
+ return 1
+}
+return 0
Index: testsuite/gcc.c-torture/execute/builtins/stpcpy-chk.x
===================================================================
--- testsuite/gcc.c-torture/execute/builtins/stpcpy-chk.x (revision 0)
+++ testsuite/gcc.c-torture/execute/builtins/stpcpy-chk.x (revision 201268)
@@ -0,0 +1,7 @@
+if [istarget "epiphany-*-*"] {
+ # This test assumes the absence of struct padding.
+ # to make this true for test4 struct A on epiphany would require
+ # __attribute__((packed)) .
+ return 1
+}
+return 0
Index: testsuite/gcc.c-torture/execute/builtins/memcpy-chk.x
===================================================================
--- testsuite/gcc.c-torture/execute/builtins/memcpy-chk.x (revision 0)
+++ testsuite/gcc.c-torture/execute/builtins/memcpy-chk.x (revision 201268)
@@ -0,0 +1,7 @@
+if [istarget "epiphany-*-*"] {
+ # This test assumes the absence of struct padding.
+ # to make this true for test4 struct A on epiphany would require
+ # __attribute__((packed)) .
+ return 1
+}
+return 0
Index: testsuite/gcc.c-torture/execute/builtins/strncpy-chk.x
===================================================================
--- testsuite/gcc.c-torture/execute/builtins/strncpy-chk.x (revision 0)
+++ testsuite/gcc.c-torture/execute/builtins/strncpy-chk.x (revision 201268)
@@ -0,0 +1,7 @@
+if [istarget "epiphany-*-*"] {
+ # This test assumes the absence of struct padding.
+ # to make this true for test4 struct A on epiphany would require
+ # __attribute__((packed)) .
+ return 1
+}
+return 0
Index: testsuite/gcc.c-torture/execute/builtins/strncat-chk.x
===================================================================
--- testsuite/gcc.c-torture/execute/builtins/strncat-chk.x (revision 0)
+++ testsuite/gcc.c-torture/execute/builtins/strncat-chk.x (revision 201268)
@@ -0,0 +1,7 @@
+if [istarget "epiphany-*-*"] {
+ # This test assumes the absence of struct padding.
+ # to make this true for test3 struct A on epiphany would require
+ # __attribute__((packed)) .
+ return 1
+}
+return 0
Index: testsuite/gcc.c-torture/execute/builtins/sprintf-chk.x
===================================================================
--- testsuite/gcc.c-torture/execute/builtins/sprintf-chk.x (revision 0)
+++ testsuite/gcc.c-torture/execute/builtins/sprintf-chk.x (revision 201268)
@@ -0,0 +1,7 @@
+if [istarget "epiphany-*-*"] {
+ # This test assumes the absence of struct padding.
+ # to make this true for test3 struct A on epiphany would require
+ # __attribute__((packed)) .
+ return 1
+}
+return 0
Index: testsuite/gcc.c-torture/execute/builtins/memset-chk.x
===================================================================
--- testsuite/gcc.c-torture/execute/builtins/memset-chk.x (revision 0)
+++ testsuite/gcc.c-torture/execute/builtins/memset-chk.x (revision 201268)
@@ -0,0 +1,7 @@
+if [istarget "epiphany-*-*"] {
+ # This test assumes the absence of struct padding.
+ # to make this true for test3 struct A on epiphany would require
+ # __attribute__((packed)) .
+ return 1
+}
+return 0
Index: testsuite/gcc.c-torture/execute/builtins/memmove-chk.x
===================================================================
--- testsuite/gcc.c-torture/execute/builtins/memmove-chk.x (revision 0)
+++ testsuite/gcc.c-torture/execute/builtins/memmove-chk.x (revision 201268)
@@ -0,0 +1,7 @@
+if [istarget "epiphany-*-*"] {
+ # This test assumes the absence of struct padding.
+ # to make this true for test5 struct A on epiphany would require
+ # __attribute__((packed)) .
+ return 1
+}
+return 0
Index: testsuite/gcc.c-torture/execute/builtins/strcpy-chk.x
===================================================================
--- testsuite/gcc.c-torture/execute/builtins/strcpy-chk.x (revision 0)
+++ testsuite/gcc.c-torture/execute/builtins/strcpy-chk.x (revision 201268)
@@ -0,0 +1,7 @@
+if [istarget "epiphany-*-*"] {
+ # This test assumes the absence of struct padding.
+ # to make this true for test4 struct A on epiphany would require
+ # __attribute__((packed)) .
+ return 1
+}
+return 0
Index: testsuite/gcc.c-torture/execute/builtins/strcat-chk.x
===================================================================
--- testsuite/gcc.c-torture/execute/builtins/strcat-chk.x (revision 0)
+++ testsuite/gcc.c-torture/execute/builtins/strcat-chk.x (revision 201268)
@@ -0,0 +1,7 @@
+if [istarget "epiphany-*-*"] {
+ # This test assumes the absence of struct padding.
+ # to make this true for test3 struct A on epiphany would require
+ # __attribute__((packed)) .
+ return 1
+}
+return 0
Index: testsuite/gcc.dg/builtin-object-size-10.c
===================================================================
--- testsuite/gcc.dg/builtin-object-size-10.c (revision 201267)
+++ testsuite/gcc.dg/builtin-object-size-10.c (revision 201268)
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-objsz1-details" } */
+// { dg-skip-if "packed attribute missing for drone_source_packet" { "epiphany-*-*" } { "*" } { "" } }
typedef struct {
char sentinel[4];
Index: testsuite/gcc.dg/builtin-object-size-11.c
===================================================================
--- testsuite/gcc.dg/builtin-object-size-11.c (revision 201267)
+++ testsuite/gcc.dg/builtin-object-size-11.c (revision 201268)
@@ -1,6 +1,7 @@
/* PR48985 */
/* { dg-do run } */
/* { dg-options "-std=gnu89" } */
+/* { dg-skip-if "packed attribute missing for struct s" { "epiphany-*-*" } { "*" } { "" } } */
extern void abort (void);
Index: testsuite/gcc.dg/pr25805.c
===================================================================
--- testsuite/gcc.dg/pr25805.c (revision 201267)
+++ testsuite/gcc.dg/pr25805.c (revision 201268)
@@ -2,6 +2,7 @@
storage for d1.a. */
/* { dg-do run } */
/* { dg-options "" } */
+/* { dg-skip-if "packed attribute missing for d1" { "epiphany-*-*" } { "*" } { "" } } */
extern void abort (void);
extern void exit (int);
Index: testsuite/gcc.dg/builtin-stringop-chk-1.c
===================================================================
--- testsuite/gcc.dg/builtin-stringop-chk-1.c (revision 201267)
+++ testsuite/gcc.dg/builtin-stringop-chk-1.c (revision 201268)
@@ -3,6 +3,7 @@
/* { dg-do compile } */
/* { dg-options "-O2 -std=gnu99 -ftrack-macro-expansion=0" } */
/* { dg-additional-options "-mstructure-size-boundary=8" { target arm*-*-* } } */
+// { dg-skip-if "packed attribute missing for t" { "epiphany-*-*" } { "*" } { "" } }
extern void abort (void);
Index: testsuite/g++.dg/ext/strncpy-chk1.C
===================================================================
--- testsuite/g++.dg/ext/strncpy-chk1.C (revision 201267)
+++ testsuite/g++.dg/ext/strncpy-chk1.C (revision 201268)
@@ -1,6 +1,7 @@
// PR c++/40502
// { dg-do compile }
// { dg-options "-O2" }
+// { dg-skip-if "packed attribute missing for struct A" { "epiphany-*-*" } { "*" } { "" } }
struct A { char x[12], y[35]; };
struct B { char z[50]; };
Index: testsuite/g++.dg/cpp0x/rv2p.C
===================================================================
--- testsuite/g++.dg/cpp0x/rv2p.C (revision 201267)
+++ testsuite/g++.dg/cpp0x/rv2p.C (revision 201268)
@@ -4,6 +4,7 @@
// { dg-do compile }
// { dg-options "-std=c++0x" }
+// { dg-skip-if "packed attribute missing for struct one/three/five/seven" { "epiphany-*-*" } { "*" } { "" } }
template <bool> struct sa;
template <> struct sa<true> {};
Index: testsuite/g++.dg/cpp0x/rv4p.C
===================================================================
--- testsuite/g++.dg/cpp0x/rv4p.C (revision 201267)
+++ testsuite/g++.dg/cpp0x/rv4p.C (revision 201268)
@@ -4,6 +4,7 @@
// { dg-do compile }
// { dg-options "-std=c++0x" }
+// { dg-skip-if "packed attribute missing for struct one/three/five/seven" { "epiphany-*-*" } { "*" } { "" } }
template <bool> struct sa;
template <> struct sa<true> {};
Index: testsuite/g++.dg/cpp0x/named_refs.C
===================================================================
--- testsuite/g++.dg/cpp0x/named_refs.C (revision 201267)
+++ testsuite/g++.dg/cpp0x/named_refs.C (revision 201268)
@@ -4,6 +4,7 @@
// { dg-do compile }
// { dg-options "-std=c++0x" }
+// { dg-skip-if "packed attribute missing for struct one" { "epiphany-*-*" } { "*" } { "" } }
template <bool> struct sa;
template <> struct sa<true> {};
Index: testsuite/g++.dg/cpp0x/rv6p.C
===================================================================
--- testsuite/g++.dg/cpp0x/rv6p.C (revision 201267)
+++ testsuite/g++.dg/cpp0x/rv6p.C (revision 201268)
@@ -4,6 +4,7 @@
// { dg-do compile }
// { dg-options "-std=c++0x" }
+// { dg-skip-if "packed attribute missing for struct one/three/five/seven" { "epiphany-*-*" } { "*" } { "" } }
template <bool> struct sa;
template <> struct sa<true> {};
Index: testsuite/g++.dg/cpp0x/cast.C
===================================================================
--- testsuite/g++.dg/cpp0x/cast.C (revision 201267)
+++ testsuite/g++.dg/cpp0x/cast.C (revision 201268)
@@ -4,6 +4,7 @@
// { dg-do compile }
// { dg-options "-std=c++0x" }
+// { dg-skip-if "packed attribute missing for struct one" { "epiphany-*-*" } { "*" } { "" } }
template <bool> struct sa;
template <> struct sa<true> {};
Index: testsuite/g++.dg/cpp0x/rv8p.C
===================================================================
--- testsuite/g++.dg/cpp0x/rv8p.C (revision 201267)
+++ testsuite/g++.dg/cpp0x/rv8p.C (revision 201268)
@@ -4,6 +4,7 @@
// { dg-do compile }
// { dg-options "-std=c++0x" }
+// { dg-skip-if "packed attribute missing for struct one/three/five/seven" { "epiphany-*-*" } { "*" } { "" } }
template <bool> struct sa;
template <> struct sa<true> {};
Index: testsuite/g++.dg/cpp0x/rv1p.C
===================================================================
--- testsuite/g++.dg/cpp0x/rv1p.C (revision 201267)
+++ testsuite/g++.dg/cpp0x/rv1p.C (revision 201268)
@@ -4,6 +4,7 @@
// { dg-do compile }
// { dg-options "-std=c++0x" }
+// { dg-skip-if "packed attribute missing for struct one/three/five/seven" { "epiphany-*-*" } { "*" } { "" } }
template <bool> struct sa;
template <> struct sa<true> {};
Index: testsuite/g++.dg/cpp0x/rv3p.C
===================================================================
--- testsuite/g++.dg/cpp0x/rv3p.C (revision 201267)
+++ testsuite/g++.dg/cpp0x/rv3p.C (revision 201268)
@@ -4,6 +4,7 @@
// { dg-do compile }
// { dg-options "-std=c++0x" }
+// { dg-skip-if "packed attribute missing for struct one/three/five/seven" { "epiphany-*-*" } { "*" } { "" } }
template <bool> struct sa;
template <> struct sa<true> {};
Index: testsuite/g++.dg/cpp0x/iop.C
===================================================================
--- testsuite/g++.dg/cpp0x/iop.C (revision 201267)
+++ testsuite/g++.dg/cpp0x/iop.C (revision 201268)
@@ -8,6 +8,7 @@
// { dg-do compile }
// { dg-options "-std=c++0x" }
+// { dg-skip-if "packed attribute missing for struct one" { "epiphany-*-*" } { "*" } { "" } }
template <bool> struct sa;
template <> struct sa<true> {};
Index: testsuite/g++.dg/cpp0x/rv5p.C
===================================================================
--- testsuite/g++.dg/cpp0x/rv5p.C (revision 201267)
+++ testsuite/g++.dg/cpp0x/rv5p.C (revision 201268)
@@ -4,6 +4,7 @@
// { dg-do compile }
// { dg-options "-std=c++0x" }
+// { dg-skip-if "packed attribute missing for struct one/three/five/seven" { "epiphany-*-*" } { "*" } { "" } }
template <bool> struct sa;
template <> struct sa<true> {};
Index: testsuite/g++.dg/cpp0x/rv7p.C
===================================================================
--- testsuite/g++.dg/cpp0x/rv7p.C (revision 201267)
+++ testsuite/g++.dg/cpp0x/rv7p.C (revision 201268)
@@ -4,6 +4,7 @@
// { dg-do compile }
// { dg-options "-std=c++0x" }
+// { dg-skip-if "packed attribute missing for struct one/three/five/seven" { "epiphany-*-*" } { "*" } { "" } }
template <bool> struct sa;
template <> struct sa<true> {};
^ permalink raw reply [flat|nested] 4+ messages in thread
* PS: committed: Skip tests for epiphany that make invalid struct layout assumptions
2013-07-26 16:24 ` committed: Skip tests for epiphany that make invalid struct layout assumptions Joern Rennecke
@ 2013-07-26 18:32 ` Joern Rennecke
0 siblings, 0 replies; 4+ messages in thread
From: Joern Rennecke @ 2013-07-26 18:32 UTC (permalink / raw)
To: Joern Rennecke; +Cc: gcc-patches
[-- Attachment #1: Type: text/plain, Size: 1 bytes --]
[-- Attachment #2: tmp0 --]
[-- Type: text/plain, Size: 597 bytes --]
2013-07-26 Joern Rennecke <joern.rennecke@embecosm.com>
* gcc.c-torture/execute/builtins/stpcpy-chk.x: New file.
Index: gcc.c-torture/execute/builtins/stpncpy-chk.x
===================================================================
--- gcc.c-torture/execute/builtins/stpncpy-chk.x (revision 0)
+++ gcc.c-torture/execute/builtins/stpncpy-chk.x (working copy)
@@ -0,0 +1,7 @@
+if [istarget "epiphany-*-*"] {
+ # This test assumes the absence of struct padding.
+ # to make this true for test4 struct A on epiphany would require
+ # __attribute__((packed)) .
+ return 1
+}
+return 0
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-07-26 18:20 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-25 17:02 Ping: RFA: Testsuite fixes (2/3): struct padding / alignment Joern Rennecke
2011-09-25 18:39 ` Richard Guenther
2013-07-26 16:24 ` committed: Skip tests for epiphany that make invalid struct layout assumptions Joern Rennecke
2013-07-26 18:32 ` PS: " Joern Rennecke
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).