Commit a25bbd54 by Martin Sebor Committed by Martin Sebor

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
parent 8a9f5d14
2018-07-10 Martin Sebor <msebor@redhat.com>
PR testsuite/86461
* gcc.c-torture/execute/builtins/strlen-3.c: Adjust.
2018-07-10 Martin Liska <mliska@suse.cz> 2018-07-10 Martin Liska <mliska@suse.cz>
PR testsuite/86445 PR testsuite/86445
......
...@@ -2,10 +2,7 @@ ...@@ -2,10 +2,7 @@
Test strlen on const variables initialized to string literals. Test strlen on const variables initialized to string literals.
Written by Jakub Jelinek, 9/14/2004. Written by Jakub Jelinek, 9/14/2004. */
{ dg-do compile }
{ dg-options "-O2 -Wall -fdump-tree-optimized" } */
extern void abort (void); extern void abort (void);
extern __SIZE_TYPE__ strlen (const char *); extern __SIZE_TYPE__ strlen (const char *);
...@@ -13,6 +10,7 @@ extern char *strcpy (char *, const char *); ...@@ -13,6 +10,7 @@ extern char *strcpy (char *, const char *);
static const char bar[] = "Hello, World!"; static const char bar[] = "Hello, World!";
static const char baz[] = "hello, world?"; static const char baz[] = "hello, world?";
static const char larger[20] = "short string"; static const char larger[20] = "short string";
extern int inside_main;
int l1 = 1; int l1 = 1;
int x = 6; int x = 6;
...@@ -20,6 +18,8 @@ int x = 6; ...@@ -20,6 +18,8 @@ int x = 6;
void void
main_test(void) main_test(void)
{ {
inside_main = 1;
#ifdef __OPTIMIZE__ #ifdef __OPTIMIZE__
const char *foo; const char *foo;
int i; int i;
...@@ -61,10 +61,16 @@ main_test(void) ...@@ -61,10 +61,16 @@ main_test(void)
if (strlen (&larger[10]) != 2) if (strlen (&larger[10]) != 2)
abort (); 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) if (strlen (larger + (x++ & 7)) != 5)
abort (); abort ();
if (x != 8) if (x != 8)
abort (); abort ();
inside_main = 1;
} }
/* { dg-final { scan-tree-dump-not "strlen" "optimized" } } */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment