[TESTSUITE,committed] Amend tests for PR87854 fixes

Message ID 20181117005128.758ed20c@jozef-Aspire-VN7-793G
State New
Headers show
Series
  • [TESTSUITE,committed] Amend tests for PR87854 fixes
Related show

Commit Message

Jozef Lawrynowicz Nov. 17, 2018, 12:51 a.m.
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.

Patch

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(-)

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