+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.
+
2013-07-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/arm/minmax_minus.c: Scan for absence of mov.
// { 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> {};
// { 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> {};
// { 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> {};
// { 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> {};
// { 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> {};
// { 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> {};
// { 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> {};
// { 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> {};
// { 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> {};
// { 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> {};
// { 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> {};
// 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]; };
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
/* { 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];
/* PR48985 */
/* { dg-do run } */
/* { dg-options "-std=gnu89" } */
+/* { dg-skip-if "packed attribute missing for struct s" { "epiphany-*-*" } { "*" } { "" } } */
extern void abort (void);
/* { 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);
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);