diff mbox series

[testsuite] test case fixes for pdp11

Message ID 2E165C05-2231-4D24-8E17-D51A58075B3B@comcast.net
State New
Headers show
Series [testsuite] test case fixes for pdp11 | expand

Commit Message

Paul Koning Nov. 1, 2018, 7:02 p.m. UTC
This patch fixes a number of test case failures on pdp11.  Some are too large for the address space, some have dependencies on the float format that don't match the DEC format, some add pdp11 to the targets that expect particular compiler messages.

Committed.

	paul

ChangeLog:

2018-11-01  Paul Koning  <ni1d@arrl.net>

	* gcc.c-torture/execute/20010904-1.c: Align 2 if pdp11.
	* gcc.c-torture/execute/20010904-2.c: Ditto.
	* c-c++-common/builtin-arith-overflow-2.c: Skip if pdp11.
	* gcc.dg/Walloc-size-larger-than-4.c: Ditto.
	* gcc.dg/Walloc-size-larger-than-5.c: Ditto.
	* gcc.dg/Walloc-size-larger-than-6.c: Ditto.
	* gcc.dg/Walloc-size-larger-than-7.c: Ditto.
	* gcc.dg/Walloca-14.c: Ditto.
	* gcc.dg/Wlarger-than3.c: Ditto.
	* gcc.dg/compat/pr83487-1_y.c: Ditto.
	* gcc.dg/compat/struct-by-value-2_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-3_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-4_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-5b_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-6b_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-7b_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-8_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-9_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-10_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-11_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-12_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-13_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-14_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-15_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-16_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-17_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-18_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-22_x.c: Ditto.
	* gcc.dg/compat/struct-return-2_x.c: Ditto.
	* gcc.dg/falign-labels-1.c: Ditto.
	* gcc.dg/long_branch.c: Ditto.
	* gcc.dg/nextafter-1.c: Ditto.
	* gcc.dg/pr35045.c: Ditto.
	* gcc.dg/pr48616.c: Ditto.
	* gcc.dg/pr84100.c: Ditto.
	* gcc.dg/tree-ssa/builtin-sprintf-9.c: Ditto.
	* gcc.dg/tree-ssa/builtin-sprintf-warn-10.c: Ditto.
	* gcc.dg/tree-ssa/builtin-sprintf.c: Ditto.
	* gcc.dg/Wattributes-10.c: Expect error if pdp11.
	* gcc.dg/attr-alloc_size-11.c: Don't XFAIL if pdp11.
	* gcc.dg/builtin-inf-1.c: Add pdp11 to warnings about INF.
	* gcc.dg/builtins-1.c: Ditto.

Comments

Andreas Schwab Nov. 2, 2018, 8:23 a.m. UTC | #1
* gcc.c-torture/execute/20010904-2.c: Fix last change.
	* gcc.dg/Wattributes-10.c: Likewise.

diff --git a/gcc/testsuite/gcc.c-torture/execute/20010904-2.c b/gcc/testsuite/gcc.c-torture/execute/20010904-2.c
index 7f3affe10f..a0f2626e76 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20010904-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20010904-2.c
@@ -6,7 +6,7 @@
 #define alignment 32
 #endif
 
-typedef struct x { int a; int b; } __attribute__((aligned(aligned))) X;
+typedef struct x { int a; int b; } __attribute__((aligned(alignment))) X;
 typedef struct y { X x; X y[31]; int c; } Y;
 
 Y y[2];
diff --git a/gcc/testsuite/gcc.dg/Wattributes-10.c b/gcc/testsuite/gcc.dg/Wattributes-10.c
index 37fd2c1b75..4dccaf3075 100644
--- a/gcc/testsuite/gcc.dg/Wattributes-10.c
+++ b/gcc/testsuite/gcc.dg/Wattributes-10.c
@@ -12,7 +12,7 @@ struct S
 
   int* __attribute__ ((aligned (16), packed)) qaligned;   /* { dg-warning "ignoring attribute .packed. because it conflicts with attribute .aligned." } */
   int* __attribute__ ((packed, aligned (16))) qpacked;    /* { dg-warning ".packed. attribute ignored for type .int \\\*." } */
-} s;    /* { dg-error "alignment of 's' is greater" { target pdp11*-*-* } } */
+} s;    /* { dg-error "alignment of 's' is greater" "" { target pdp11*-*-* } } */
 
 
 void test (void)
Rainer Orth Nov. 2, 2018, 7:19 p.m. UTC | #2
Hi Paul,

> This patch fixes a number of test case failures on pdp11.  Some are too large for the address space, some have dependencies on the float format that don't match the DEC format, some add pdp11 to the targets that expect particular compiler messages.

unfortunately, even apart from the two bugs in your patch Andreas
already fixed, there are more problems: with the patch one gets 20
warnings

WARNING: compat.exp does not support dg-skip-if

in mail-report.log for gcc.dg/compat.  While the message is misleading
and it took me a moment to understand what's wrong, you should have
found this in your testing.  A good way something like this doesn't go
unnoticed in a regtest is to run make mail-report.log in a vanilla and
patched tree and compare the output.  Those WARNING and ERROR lines are
prominent there for a reason ;-)

While we give target maintainers quite a bit of leeway to apply
testsuite patches affecting only their targets, this needs to be
exercised with caution.  Best test the modified testsuite on a different
target, too, to check that it doesn't break there.

Besides, a bit more detail on the failures you observe without your
patch would have been helpful.  I noticed that some of the tests you
change already have dg-skip-if directives for avr with a comment of
"Program too big".  It's hard to tell if this is the same issue as your
"limited code space".  If so, it would be advisable and much more
expressive to introduce (yet another) effective-target keyword for this.

The problem is that in the g??.dg/compat testsuites, dg keywords except
for dg-options are only supposed to go into the *_main.c file.  The
following patch fixes this.  Tested on i386-pc-solaris2.11 and
sparc-sun-solaris2.11, installed on mainline.
         
	Rainer
Paul Koning Nov. 2, 2018, 7:35 p.m. UTC | #3
> On Nov 2, 2018, at 3:19 PM, Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> wrote:
> 
> Hi Paul,
> 
>> This patch fixes a number of test case failures on pdp11.  Some are too large for the address space, some have dependencies on the float format that don't match the DEC format, some add pdp11 to the targets that expect particular compiler messages.
> 
> unfortunately, even apart from the two bugs in your patch Andreas
> already fixed, there are more problems: with the patch one gets 20
> warnings
> 
> WARNING: compat.exp does not support dg-skip-if
> 
> in mail-report.log for gcc.dg/compat.  While the message is misleading
> and it took me a moment to understand what's wrong, you should have
> found this in your testing.  A good way something like this doesn't go
> unnoticed in a regtest is to run make mail-report.log in a vanilla and
> patched tree and compare the output.  Those WARNING and ERROR lines are
> prominent there for a reason ;-)

My apologies for these errors.  I will strive to learn from the feedback you and Andreas have given and do it better next time.

I wasn't ware of mail-report -- I have used contrib/test_summary in the past.  What makes it more difficult in this case is that most of these test cases have not run in a long time (if ever) so the volume is quite large.  I'm getting it down to a more manageable number, though 1000 out of 60k is still much higher than it should be.

> While we give target maintainers quite a bit of leeway to apply
> testsuite patches affecting only their targets, this needs to be
> exercised with caution.  Best test the modified testsuite on a different
> target, too, to check that it doesn't break there.

I understand, I will do so in the future.

> Besides, a bit more detail on the failures you observe without your
> patch would have been helpful.  I noticed that some of the tests you
> change already have dg-skip-if directives for avr with a comment of
> "Program too big".  It's hard to tell if this is the same issue as your
> "limited code space".  If so, it would be advisable and much more
> expressive to introduce (yet another) effective-target keyword for this.

I could use "! ptr32plus".  I'm a bit hesitant to do so because I don't know what othe targets might match that.  msp430, based on the comment, and possibly others.  For tests that allocate megabyte buffers that's an obvious fit.  For tests that generate large blocks of code it isn't quite so obvious; the gcc.gd/long_branch.c test is too big for pdp11 but it might be ok for other "small" targets.

> The problem is that in the g??.dg/compat testsuites, dg keywords except
> for dg-options are only supposed to go into the *_main.c file.  The
> following patch fixes this.  Tested on i386-pc-solaris2.11 and
> sparc-sun-solaris2.11, installed on mainline.

Thank you.  How can I tell for a particular test case or test directory what the rules are for where "dg" directives go, or which ones are supported?  I know there is a fair amount of variability in this, but I don't yet understand what they all are.

	paul
diff mbox series

Patch

Index: gcc.c-torture/execute/20010904-1.c
===================================================================
--- gcc.c-torture/execute/20010904-1.c	(revision 265727)
+++ gcc.c-torture/execute/20010904-1.c	(working copy)
@@ -1,4 +1,12 @@ 
-typedef struct x { int a; int b; } __attribute__((aligned(32))) X;
+/* If some target has a Max alignment less than 32, please create
+   a #ifdef around the alignment and add your alignment.  */
+#ifdef __pdp11__
+#define alignment 2
+#else
+#define alignment 32
+#endif
+
+typedef struct x { int a; int b; } __attribute__((aligned(alignment))) X;
 typedef struct y { X x[32]; int c; } Y;
 
 Y y[2];
Index: gcc.c-torture/execute/20010904-2.c
===================================================================
--- gcc.c-torture/execute/20010904-2.c	(revision 265727)
+++ gcc.c-torture/execute/20010904-2.c	(working copy)
@@ -1,4 +1,12 @@ 
-typedef struct x { int a; int b; } __attribute__((aligned(32))) X;
+/* If some target has a Max alignment less than 32, please create
+   a #ifdef around the alignment and add your alignment.  */
+#ifdef __pdp11__
+#define alignment 2
+#else
+#define alignment 32
+#endif
+
+typedef struct x { int a; int b; } __attribute__((aligned(aligned))) X;
 typedef struct y { X x; X y[31]; int c; } Y;
 
 Y y[2];
Index: c-c++-common/builtin-arith-overflow-2.c
===================================================================
--- c-c++-common/builtin-arith-overflow-2.c	(revision 265727)
+++ c-c++-common/builtin-arith-overflow-2.c	(working copy)
@@ -1,7 +1,7 @@ 
 /* PR c/68120 - can't easily deal with integer overflow at compile time */
 /* { dg-do run } */
 /* { dg-additional-options "-Wno-long-long" } */
-/* { dg-skip-if "Program too big" { "avr-*-*" } } */
+/* { dg-skip-if "Program too big" { "avr-*-* pdp11*-*-*" } } */
 
 #define SCHAR_MAX    __SCHAR_MAX__
 #define SHRT_MAX     __SHRT_MAX__
Index: gcc.dg/Walloc-size-larger-than-4.c
===================================================================
--- gcc.dg/Walloc-size-larger-than-4.c	(revision 265727)
+++ gcc.dg/Walloc-size-larger-than-4.c	(working copy)
@@ -1,5 +1,6 @@ 
 /* PR middle-end/82063 - issues with arguments enabled by -Wall
    { dg-do compile }
+   { dg-skip-if "small address space" { "pdp11-*-*" } }
    { dg-options "-O -Walloc-size-larger-than=1MiB -ftrack-macro-expansion=0" } */
 
 void sink (void*);
Index: gcc.dg/Walloc-size-larger-than-5.c
===================================================================
--- gcc.dg/Walloc-size-larger-than-5.c	(revision 265727)
+++ gcc.dg/Walloc-size-larger-than-5.c	(working copy)
@@ -1,5 +1,6 @@ 
 /* PR middle-end/82063 - issues with arguments enabled by -Wall
    { dg-do compile }
+   { dg-skip-if "small address space" { "pdp11-*-*" } }
    { dg-options "-O -Walloc-size-larger-than=1MB -ftrack-macro-expansion=0" } */
 
 void sink (void*);
Index: gcc.dg/Walloc-size-larger-than-6.c
===================================================================
--- gcc.dg/Walloc-size-larger-than-6.c	(revision 265727)
+++ gcc.dg/Walloc-size-larger-than-6.c	(working copy)
@@ -1,5 +1,6 @@ 
 /* PR middle-end/82063 - issues with arguments enabled by -Wall
    { dg-do compile }
+   { dg-skip-if "small address space" { "pdp11-*-*" } }
    { dg-options "-O -Walloc-size-larger-than=1GiB -ftrack-macro-expansion=0" } */
 
 void sink (void*);
Index: gcc.dg/Walloc-size-larger-than-7.c
===================================================================
--- gcc.dg/Walloc-size-larger-than-7.c	(revision 265727)
+++ gcc.dg/Walloc-size-larger-than-7.c	(working copy)
@@ -1,5 +1,6 @@ 
 /* PR middle-end/82063 - issues with arguments enabled by -Wall
    { dg-do compile }
+   { dg-skip-if "small address space" { "pdp11-*-*" } }
    { dg-options "-O -Walloc-size-larger-than=1GB -ftrack-macro-expansion=0" } */
 
 void sink (void*);
Index: gcc.dg/Walloca-14.c
===================================================================
--- gcc.dg/Walloca-14.c	(revision 265727)
+++ gcc.dg/Walloca-14.c	(working copy)
@@ -1,6 +1,7 @@ 
 /* PR tree-optimization/80109 */
 /* { dg-do compile } */
 /* { dg-require-effective-target alloca } */
+/* { dg-skip-if "small address space" { "pdp11-*-*" } } */
 /* { dg-options "-O2 -Walloca-larger-than=126812070" } */
 
 void
Index: gcc.dg/Wlarger-than3.c
===================================================================
--- gcc.dg/Wlarger-than3.c	(revision 265727)
+++ gcc.dg/Wlarger-than3.c	(working copy)
@@ -1,5 +1,6 @@ 
 /* Exercise -Wlarger-than= with a byte-size suffix.
    { dg-do compile }
+   { dg-skip-if "small address space" { "pdp11-*-*" } }
    { dg-options "-Wlarger-than=1MiB" } */
 
 #define MB (1000 * 1000)    /* MegaByte */
Index: gcc.dg/compat/pr83487-1_y.c
===================================================================
--- gcc.dg/compat/pr83487-1_y.c	(revision 265727)
+++ gcc.dg/compat/pr83487-1_y.c	(working copy)
@@ -1,3 +1,5 @@ 
+/* { dg-skip-if "no large alignment" { pdp11-*-* } } */
+
 #include "pr83487-1.h"
 
 struct A a;
Index: gcc.dg/compat/struct-by-value-2_x.c
===================================================================
--- gcc.dg/compat/struct-by-value-2_x.c	(revision 265727)
+++ gcc.dg/compat/struct-by-value-2_x.c	(working copy)
@@ -1,3 +1,5 @@ 
+/* { dg-skip-if "limited code space" { pdp11-*-* } } */
+
 #include "compat-common.h"
 
 #define T(N, NAME, TYPE)					\
Index: gcc.dg/compat/struct-by-value-3_x.c
===================================================================
--- gcc.dg/compat/struct-by-value-3_x.c	(revision 265727)
+++ gcc.dg/compat/struct-by-value-3_x.c	(working copy)
@@ -1,3 +1,5 @@ 
+/* { dg-skip-if "limited code space" { pdp11-*-* } } */
+
 #include "compat-common.h"
 
 #define T(TYPE)							\
Index: gcc.dg/compat/struct-by-value-4_x.c
===================================================================
--- gcc.dg/compat/struct-by-value-4_x.c	(revision 265727)
+++ gcc.dg/compat/struct-by-value-4_x.c	(working copy)
@@ -1,3 +1,5 @@ 
+/* { dg-skip-if "limited code space" { pdp11-*-* } } */
+
 #include "compat-common.h"
 
 #define T(N, TYPE)						\
Index: gcc.dg/compat/struct-by-value-5b_x.c
===================================================================
--- gcc.dg/compat/struct-by-value-5b_x.c	(revision 265727)
+++ gcc.dg/compat/struct-by-value-5b_x.c	(working copy)
@@ -1,3 +1,5 @@ 
+/* { dg-skip-if "limited code space" { pdp11-*-* } } */
+
 #include "compat-common.h"
 
 #include "fp-struct-defs.h"
Index: gcc.dg/compat/struct-by-value-6b_x.c
===================================================================
--- gcc.dg/compat/struct-by-value-6b_x.c	(revision 265727)
+++ gcc.dg/compat/struct-by-value-6b_x.c	(working copy)
@@ -1,3 +1,5 @@ 
+/* { dg-skip-if "limited code space" { pdp11-*-* } } */
+
 #include "compat-common.h"
 
 #include "fp-struct-defs.h"
Index: gcc.dg/compat/struct-by-value-7b_x.c
===================================================================
--- gcc.dg/compat/struct-by-value-7b_x.c	(revision 265727)
+++ gcc.dg/compat/struct-by-value-7b_x.c	(working copy)
@@ -1,3 +1,5 @@ 
+/* { dg-skip-if "limited code space" { pdp11-*-* } } */
+
 #include "compat-common.h"
 
 #include "fp-struct-defs.h"
Index: gcc.dg/compat/struct-by-value-8_x.c
===================================================================
--- gcc.dg/compat/struct-by-value-8_x.c	(revision 265727)
+++ gcc.dg/compat/struct-by-value-8_x.c	(working copy)
@@ -1,3 +1,5 @@ 
+/* { dg-skip-if "limited code space" { pdp11-*-* } } */
+
 #include "compat-common.h"
 
 #define T(N, TYPE)						\
Index: gcc.dg/compat/struct-by-value-9_x.c
===================================================================
--- gcc.dg/compat/struct-by-value-9_x.c	(revision 265727)
+++ gcc.dg/compat/struct-by-value-9_x.c	(working copy)
@@ -1,3 +1,5 @@ 
+/* { dg-skip-if "limited code space" { pdp11-*-* } } */
+
 #include "compat-common.h"
 
 #define T(N, TYPE)						\
Index: gcc.dg/compat/struct-by-value-10_x.c
===================================================================
--- gcc.dg/compat/struct-by-value-10_x.c	(revision 265727)
+++ gcc.dg/compat/struct-by-value-10_x.c	(working copy)
@@ -1,3 +1,5 @@ 
+/* { dg-skip-if "limited code space" { pdp11-*-* } } */
+
 #include "compat-common.h"
 
 #include "fp2-struct-defs.h"
Index: gcc.dg/compat/struct-by-value-11_x.c
===================================================================
--- gcc.dg/compat/struct-by-value-11_x.c	(revision 265727)
+++ gcc.dg/compat/struct-by-value-11_x.c	(working copy)
@@ -1,3 +1,5 @@ 
+/* { dg-skip-if "limited code space" { pdp11-*-* } } */
+
 #include "compat-common.h"
 
 #include "fp-struct-defs.h"
Index: gcc.dg/compat/struct-by-value-12_x.c
===================================================================
--- gcc.dg/compat/struct-by-value-12_x.c	(revision 265727)
+++ gcc.dg/compat/struct-by-value-12_x.c	(working copy)
@@ -1,3 +1,5 @@ 
+/* { dg-skip-if "limited code space" { pdp11-*-* } } */
+
 #include "compat-common.h"
 
 #include "fp-struct-defs.h"
Index: gcc.dg/compat/struct-by-value-13_x.c
===================================================================
--- gcc.dg/compat/struct-by-value-13_x.c	(revision 265727)
+++ gcc.dg/compat/struct-by-value-13_x.c	(working copy)
@@ -1,3 +1,5 @@ 
+/* { dg-skip-if "limited code space" { pdp11-*-* } } */
+
 #include "compat-common.h"
 
 #include "fp-struct-defs.h"
Index: gcc.dg/compat/struct-by-value-14_x.c
===================================================================
--- gcc.dg/compat/struct-by-value-14_x.c	(revision 265727)
+++ gcc.dg/compat/struct-by-value-14_x.c	(working copy)
@@ -1,3 +1,5 @@ 
+/* { dg-skip-if "limited code space" { pdp11-*-* } } */
+
 #include "compat-common.h"
 
 #include "fp-struct-defs.h"
Index: gcc.dg/compat/struct-by-value-15_x.c
===================================================================
--- gcc.dg/compat/struct-by-value-15_x.c	(revision 265727)
+++ gcc.dg/compat/struct-by-value-15_x.c	(working copy)
@@ -1,3 +1,5 @@ 
+/* { dg-skip-if "limited code space" { pdp11-*-* } } */
+
 #include "compat-common.h"
 
 #include "fp-struct-defs.h"
Index: gcc.dg/compat/struct-by-value-16_x.c
===================================================================
--- gcc.dg/compat/struct-by-value-16_x.c	(revision 265727)
+++ gcc.dg/compat/struct-by-value-16_x.c	(working copy)
@@ -1,3 +1,5 @@ 
+/* { dg-skip-if "limited code space" { pdp11-*-* } } */
+
 #include "compat-common.h"
 
 #include "fp-struct-defs.h"
Index: gcc.dg/compat/struct-by-value-17_x.c
===================================================================
--- gcc.dg/compat/struct-by-value-17_x.c	(revision 265727)
+++ gcc.dg/compat/struct-by-value-17_x.c	(working copy)
@@ -1,3 +1,5 @@ 
+/* { dg-skip-if "limited code space" { pdp11-*-* } } */
+
 #include "compat-common.h"
 
 #include "fp-struct-defs.h"
Index: gcc.dg/compat/struct-by-value-18_x.c
===================================================================
--- gcc.dg/compat/struct-by-value-18_x.c	(revision 265727)
+++ gcc.dg/compat/struct-by-value-18_x.c	(working copy)
@@ -1,3 +1,5 @@ 
+/* { dg-skip-if "limited code space" { pdp11-*-* } } */
+
 #include "compat-common.h"
 
 #include "fp-struct-defs.h"
Index: gcc.dg/compat/struct-by-value-22_x.c
===================================================================
--- gcc.dg/compat/struct-by-value-22_x.c	(revision 265727)
+++ gcc.dg/compat/struct-by-value-22_x.c	(working copy)
@@ -1,3 +1,5 @@ 
+/* { dg-skip-if "limited code space" { pdp11-*-* } } */
+
 #ifndef SKIP_VLA_IN_STRUCT
 
 #ifndef T
Index: gcc.dg/compat/struct-return-2_x.c
===================================================================
--- gcc.dg/compat/struct-return-2_x.c	(revision 265727)
+++ gcc.dg/compat/struct-return-2_x.c	(working copy)
@@ -1,3 +1,5 @@ 
+/* { dg-skip-if "limited code space" { pdp11-*-* } } */
+
 #include "compat-common.h"
 
 #ifdef SKIP_VA
Index: gcc.dg/falign-labels-1.c
===================================================================
--- gcc.dg/falign-labels-1.c	(revision 265727)
+++ gcc.dg/falign-labels-1.c	(working copy)
@@ -1,5 +1,6 @@ 
 /* { dg-do run } */
 /* { dg-options "-falign-labels=8" } */
+/* { dg-skip-if "no label alignment > 2" { "pdp11-*-*" } } */
 
 /* On ARMv7-A CPUs, this test resulted in incorrect code generation.
    The code generated for the switch statement expected the jump table
Index: gcc.dg/long_branch.c
===================================================================
--- gcc.dg/long_branch.c	(revision 265727)
+++ gcc.dg/long_branch.c	(working copy)
@@ -1,5 +1,6 @@ 
 /* { dg-do run } */
 /* { dg-options "-O2 -fno-reorder-blocks" } */
+/* { dg-skip-if "limited code space" { pdp11-*-* } } */
 
 void abort ();
 
Index: gcc.dg/nextafter-1.c
===================================================================
--- gcc.dg/nextafter-1.c	(revision 265727)
+++ gcc.dg/nextafter-1.c	(working copy)
@@ -2,6 +2,7 @@ 
 /* { dg-do run } */
 /* { dg-options "-O2 -fno-math-errno -fno-trapping-math -fdump-tree-optimized" } */
 /* { dg-add-options ieee } */
+/* { dg-skip-if "not IEEE float" { "pdp11-*-*" } } */
 /* { dg-final { scan-tree-dump-not "nextafter" "optimized" } } */
 /* { dg-final { scan-tree-dump-not "nexttoward" "optimized" } } */
 
Index: gcc.dg/pr35045.c
===================================================================
--- gcc.dg/pr35045.c	(revision 265727)
+++ gcc.dg/pr35045.c	(working copy)
@@ -1,5 +1,6 @@ 
 /* { dg-do run } */
 /* { dg-skip-if "" { { i?86-*-* x86_64-*-* } && { ia32 && { ! nonpic } } } } */
+/* { dg-skip-if "Not enough registers" { "pdp11-*-*" } } */
 /* { dg-options "-O2 -fgcse-after-reload" } */
 
 extern void abort (void);
Index: gcc.dg/pr48616.c
===================================================================
--- gcc.dg/pr48616.c	(revision 265727)
+++ gcc.dg/pr48616.c	(working copy)
@@ -2,6 +2,7 @@ 
 /* { dg-do run } */
 /* { dg-options "-O2 -ftree-vectorize" } */
 /* { dg-additional-options "-fno-common" { target hppa*-*-hpux* } } */
+/* { dg-skip-if "no alignment > 2" { "pdp11-*-*" } } */
 
 extern void abort (void);
 int a[4] __attribute__((aligned (32)));
Index: gcc.dg/pr84100.c
===================================================================
--- gcc.dg/pr84100.c	(revision 265727)
+++ gcc.dg/pr84100.c	(working copy)
@@ -1,6 +1,7 @@ 
 /* PR c/84100 */
 /* { dg-do compile } */
 /* { dg-options "-O2" } */
+/* { dg-skip-if "no code alignment > 2" { "pdp11-*-*" } } */
 
 void bar (void);
 
Index: gcc.dg/tree-ssa/builtin-sprintf-9.c
===================================================================
--- gcc.dg/tree-ssa/builtin-sprintf-9.c	(revision 265727)
+++ gcc.dg/tree-ssa/builtin-sprintf-9.c	(working copy)
@@ -1,5 +1,6 @@ 
 /* PR tree-optimization/86274 - SEGFAULT when logging std::to_string(NAN)
    { dg-do compile }
+   { dg-skip-if "not IEEE float layout" { "pdp11-*-*" } }
    { dg-options "-O2 -Wall -fdump-tree-optimized" }  */
 
 typedef __SIZE_TYPE__ size_t;
Index: gcc.dg/tree-ssa/builtin-sprintf-warn-10.c
===================================================================
--- gcc.dg/tree-ssa/builtin-sprintf-warn-10.c	(revision 265727)
+++ gcc.dg/tree-ssa/builtin-sprintf-warn-10.c	(working copy)
@@ -3,6 +3,7 @@ 
    point directives.
    { dg-do compile }
    { dg-require-effective-target double64plus }
+   { dg-skip-if "not IEEE float layout" { "pdp11-*-*" } }
    { dg-options "-O2 -Wformat -Wformat-overflow -ftrack-macro-expansion=0" } */
 
 typedef __builtin_va_list va_list;
Index: gcc.dg/tree-ssa/builtin-sprintf.c
===================================================================
--- gcc.dg/tree-ssa/builtin-sprintf.c	(revision 265727)
+++ gcc.dg/tree-ssa/builtin-sprintf.c	(working copy)
@@ -4,6 +4,7 @@ 
    link if any of the assertions fails.  Without optimization the test
    aborts at runtime if any of the assertions fails.  */
 /* { dg-do run } */
+/* { dg-skip-if "not IEEE float layout" { "pdp11-*-*" } } */
 /* { dg-additional-options "-O2 -Wall -Wno-pedantic -fprintf-return-value" } */
 
 #ifndef LINE
Index: gcc.dg/Wattributes-10.c
===================================================================
--- gcc.dg/Wattributes-10.c	(revision 265727)
+++ gcc.dg/Wattributes-10.c	(working copy)
@@ -12,8 +12,9 @@  struct S
 
   int* __attribute__ ((aligned (16), packed)) qaligned;   /* { dg-warning "ignoring attribute .packed. because it conflicts with attribute .aligned." } */
   int* __attribute__ ((packed, aligned (16))) qpacked;    /* { dg-warning ".packed. attribute ignored for type .int \\\*." } */
-} s;
+} s;    /* { dg-error "alignment of 's' is greater" { target pdp11*-*-* } } */
 
+
 void test (void)
 {
   /* Verify that attributes reported ignored really are ignored
Index: gcc.dg/attr-alloc_size-11.c
===================================================================
--- gcc.dg/attr-alloc_size-11.c	(revision 265727)
+++ gcc.dg/attr-alloc_size-11.c	(working copy)
@@ -47,8 +47,8 @@  typedef __SIZE_TYPE__    size_t;
 
 /* The following tests fail because of missing range information.  The xfail
    exclusions are PR79356.  */
-TEST (signed char, SCHAR_MIN + 2, ALLOC_MAX);   /* { dg-warning "argument 1 range \\\[13, \[0-9\]+\\\] exceeds maximum object size 12" "missing range info for signed char" { xfail { ! { aarch64*-*-* arm*-*-* avr-*-* alpha*-*-* ia64-*-* mips*-*-* powerpc*-*-* sparc*-*-* s390*-*-* visium-*-* } } } } */
-TEST (short, SHRT_MIN + 2, ALLOC_MAX); /* { dg-warning "argument 1 range \\\[13, \[0-9\]+\\\] exceeds maximum object size 12" "missing range info for short" { xfail { ! { aarch64*-*-* arm*-*-* alpha*-*-* avr-*-* ia64-*-* mips*-*-* powerpc*-*-* sparc*-*-* s390x-*-* visium-*-* } } } } */
+TEST (signed char, SCHAR_MIN + 2, ALLOC_MAX);   /* { dg-warning "argument 1 range \\\[13, \[0-9\]+\\\] exceeds maximum object size 12" "missing range info for signed char" { xfail { ! { aarch64*-*-* arm*-*-* avr-*-* alpha*-*-* ia64-*-* mips*-*-* pdp11*-*-* powerpc*-*-* sparc*-*-* s390*-*-* visium-*-* } } } } */
+TEST (short, SHRT_MIN + 2, ALLOC_MAX); /* { dg-warning "argument 1 range \\\[13, \[0-9\]+\\\] exceeds maximum object size 12" "missing range info for short" { xfail { ! { aarch64*-*-* arm*-*-* alpha*-*-* avr-*-* ia64-*-* mips*-*-* pdp11*-*-* powerpc*-*-* sparc*-*-* s390x-*-* visium-*-* } } } } */
 TEST (int, INT_MIN + 2, ALLOC_MAX);    /* { dg-warning "argument 1 range \\\[13, \[0-9\]+\\\] exceeds maximum object size 12" } */
 TEST (int, -3, ALLOC_MAX);             /* { dg-warning "argument 1 range \\\[13, \[0-9\]+\\\] exceeds maximum object size 12" } */
 TEST (int, -2, ALLOC_MAX);             /* { dg-warning "argument 1 range \\\[13, \[0-9\]+\\\] exceeds maximum object size 12" } */
Index: gcc.dg/builtin-inf-1.c
===================================================================
--- gcc.dg/builtin-inf-1.c	(revision 265727)
+++ gcc.dg/builtin-inf-1.c	(working copy)
@@ -1,11 +1,11 @@ 
 /* { dg-do compile } */
 
 float fi = __builtin_inff();
-/* { dg-error "does not support infinity" "INF unsupported" { target vax-*-* spu-*-* } .-1 } */
+/* { dg-error "does not support infinity" "INF unsupported" { target pdp11*-*-* vax-*-* spu-*-* } .-1 } */
 double di = __builtin_inf();
-/* { dg-error "does not support infinity" "INF unsupported" { target vax-*-* } .-1 } */
+/* { dg-error "does not support infinity" "INF unsupported" { target pdp11*-*-* vax-*-* } .-1 } */
 long double li = __builtin_infl();
-/* { dg-error "does not support infinity" "INF unsupported" { target vax-*-* } .-1 } */
+/* { dg-error "does not support infinity" "INF unsupported" { target pdp11*-*-* vax-*-* } .-1 } */
 
 float fh = __builtin_huge_valf();
 double dh = __builtin_huge_val();
Index: gcc.dg/builtins-1.c
===================================================================
--- gcc.dg/builtins-1.c	(revision 265727)
+++ gcc.dg/builtins-1.c	(working copy)
@@ -144,7 +144,7 @@  FPTEST2ARG2_REENT (gamma, int *) /* gamma_r */
 FPTEST0     (huge_val)
 FPTEST2     (hypot)
 FPTEST1     (ilogb)
-FPTEST0     (inf)  /* { dg-warning "target format does not support infinity" "inf" {target spu-*-*} } */
+FPTEST0     (inf)  /* { dg-warning "target format does not support infinity" "inf" {target pdp11*-*-* spu-*-*} } */
 FPTEST1     (j0)
 FPTEST1     (j1)
 FPTEST2ARG1 (jn, int)