The fix for PR87854 outputs an error when a string literal is too large to compile.
This patch adds dg-error directives to tests affected by the new error message. Committed to trunk.
>From 6a00590f762be4267f5d8febb375c3192371de2f Mon Sep 17 00:00:00 2001 From: Jozef Lawrynowicz <joze...@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 <joze...@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(-) diff --git a/gcc/testsuite/g++.dg/parse/concat1.C b/gcc/testsuite/g++.dg/parse/concat1.C index 7bf97a6..7d19a7d 100644 --- a/gcc/testsuite/g++.dg/parse/concat1.C +++ b/gcc/testsuite/g++.dg/parse/concat1.C @@ -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 diff --git a/gcc/testsuite/gcc.c-torture/compile/pr46534.c b/gcc/testsuite/gcc.c-torture/compile/pr46534.c index 885aa6d..1894636 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr46534.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr46534.c @@ -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 } } } */ } diff --git a/gcc/testsuite/gcc.dg/concat2.c b/gcc/testsuite/gcc.dg/concat2.c index 1e92400..e9fa216 100644 --- a/gcc/testsuite/gcc.dg/concat2.c +++ b/gcc/testsuite/gcc.dg/concat2.c @@ -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