From 6a00590f762be4267f5d8febb375c3192371de2f Mon Sep 17 00:00:00 2001
From: Jozef Lawrynowicz <jozef.l@mittosystems.com>
Date: Sat, 17 Nov 2018 00:36:18 +0000
Subject: [PATCH] [TESTSUITE] Fix test failures when compiling large string
literals on 16-bit targets
2018-11-17 Jozef Lawrynowicz <jozef.l@mittosystems.com>
PR middle-end/87854
gcc/testsuite/ChangeLog:
* g++.dg/parse/concat1.C: Add dg-error for targets with size_t < 32
bits. Update comment.
* gcc.dg/concat2.c: Likewise.
* gcc.c-torture/compile/pr46534.c: Likewise.
---
gcc/testsuite/g++.dg/parse/concat1.C | 6 ++----
gcc/testsuite/gcc.c-torture/compile/pr46534.c | 4 ++--
gcc/testsuite/gcc.dg/concat2.c | 6 ++----
3 files changed, 6 insertions(+), 10 deletions(-)
@@ -1,11 +1,9 @@
/* PR c/3581 */
/* { dg-do compile } */
-/* Intended as a compile-time test for string literal concatenation.
- The fact that the string isn't actually used in the resulting program
- should allow this to compile for any target. */
+/* Intended as a compile-time test for string literal concatenation. */
-#define e0 "a"
+#define e0 "a" /* { dg-error "size of string literal is too large" "" { target { ! size32plus } } } */
#define e1 e0 e0 e0 e0 e0 e0 e0 e0 e0 e0
#define e2 e1 e1 e1 e1 e1 e1 e1 e1 e1 e1
#define e3 e2 e2 e2 e2 e2 e2 e2 e2 e2 e2
@@ -1,4 +1,4 @@
-/* { dg-skip-if "too big" { avr-*-* nvptx-*-* pdp11-*-* } } */
+/* { dg-skip-if "too big" { nvptx-*-* } } */
/* PR middle-end/46534 */
extern int printf (const char *, ...);
@@ -14,5 +14,5 @@ extern int printf (const char *, ...);
void
foo (void)
{
- printf (S7 "\n");
+ printf (S7 "\n"); /* { dg-error "size of string literal is too large" "" { target { ! size32plus } } } */
}
@@ -2,9 +2,7 @@
/* { dg-do compile } */
/* { dg-options "" } */
-/* Intended as a compile-time test for string literal concatenation.
- The fact that the string isn't actually used in the resulting program
- should allow this to compile for any target. */
+/* Intended as a compile-time test for string literal concatenation. */
#define e0 "a"
#define e1 e0 e0 e0 e0 e0 e0 e0 e0 e0 e0
@@ -13,4 +11,4 @@
#define e4 e3 e3 e3 e3 e3 e3 e3 e3 e3 e3
#define e5 e4 e4 e4 e4 e4 e4 e4 e4 e4 e4
-void foo() { (void)(e5); }
+void foo() { (void)(e5); } /* { dg-error "size of string literal is too large" "" { target { ! size32plus } } } */
--
2.7.4