From a25bbd5413e2a4bfd7a47dcd7501c8c7f86ee7c7 Mon Sep 17 00:00:00 2001 From: Martin Sebor Date: Tue, 10 Jul 2018 20:21:38 +0000 Subject: [PATCH] PR testsuite/86461 - test case gcc.c-torture/execute/builtins/strlen-3.c fails gcc/testsuite/ChangeLog: * gcc.c-torture/execute/builtins/strlen-3.c: Adjust. From-SVN: r262543 --- gcc/testsuite/ChangeLog | 5 +++++ .../gcc.c-torture/execute/builtins/strlen-3.c | 18 ++++++++++++------ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 3cf763e976e..8d27cdb3206 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2018-07-10 Martin Sebor + + PR testsuite/86461 + * gcc.c-torture/execute/builtins/strlen-3.c: Adjust. + 2018-07-10 Martin Liska PR testsuite/86445 diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/strlen-3.c b/gcc/testsuite/gcc.c-torture/execute/builtins/strlen-3.c index 8d36fa72cd4..56b6babae41 100644 --- a/gcc/testsuite/gcc.c-torture/execute/builtins/strlen-3.c +++ b/gcc/testsuite/gcc.c-torture/execute/builtins/strlen-3.c @@ -2,10 +2,7 @@ Test strlen on const variables initialized to string literals. - Written by Jakub Jelinek, 9/14/2004. - - { dg-do compile } - { dg-options "-O2 -Wall -fdump-tree-optimized" } */ + Written by Jakub Jelinek, 9/14/2004. */ extern void abort (void); extern __SIZE_TYPE__ strlen (const char *); @@ -13,6 +10,7 @@ extern char *strcpy (char *, const char *); static const char bar[] = "Hello, World!"; static const char baz[] = "hello, world?"; static const char larger[20] = "short string"; +extern int inside_main; int l1 = 1; int x = 6; @@ -20,6 +18,8 @@ int x = 6; void main_test(void) { + inside_main = 1; + #ifdef __OPTIMIZE__ const char *foo; int i; @@ -61,10 +61,16 @@ main_test(void) if (strlen (&larger[10]) != 2) abort (); + inside_main = 0; + /* The following call may or may not be folded depending on + the optimization level, and when it isn't folded (such + as may be the case with -Og) it may or may not result in + a library call, depending on whether or not it's expanded + inline (e.g., powerpc64 makes a call while x86_64 expands + it inline). */ if (strlen (larger + (x++ & 7)) != 5) abort (); if (x != 8) abort (); + inside_main = 1; } - -/* { dg-final { scan-tree-dump-not "strlen" "optimized" } } */ -- 2.30.2