PR testsuite/86461 - test case gcc.c-torture/execute/builtins/strlen-3.c fails
authorMartin Sebor <msebor@redhat.com>
Tue, 10 Jul 2018 20:21:38 +0000 (20:21 +0000)
committerMartin Sebor <msebor@gcc.gnu.org>
Tue, 10 Jul 2018 20:21:38 +0000 (14:21 -0600)
gcc/testsuite/ChangeLog:
* gcc.c-torture/execute/builtins/strlen-3.c: Adjust.

From-SVN: r262543

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/builtins/strlen-3.c

index 3cf763e976e6d65ddd040d05293f633edddee95b..8d27cdb32067a6d5f33523a3cf8a518f3b6d38cc 100644 (file)
@@ -1,3 +1,8 @@
+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>
 
         PR testsuite/86445
index 8d36fa72cd4159abe530b7236717e76fa57933dc..56b6babae41e717bbeaaafdb7a1dff838881fd59 100644 (file)
@@ -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" } } */