re PR tree-optimization/79715 (hand-rolled strdup with unused result not eliminated)

gcc/testsuite/ChangeLog:
	PR tree-optimization/79715
	* gcc.dg/pr79715.c: New test.

From-SVN: r247440
This commit is contained in:
Martin Sebor 2017-05-01 16:46:49 +00:00 committed by Martin Sebor
parent a6c78ea303
commit 706eb1a70d
2 changed files with 31 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2017-05-01 Martin Sebor <msebor@redhat.com>
PR tree-optimization/79715
* gcc.dg/pr79715.c: New test.
2017-05-01 Tom de Vries <tom@codesourcery.com>
PR testsuite/65941

View File

@ -0,0 +1,26 @@
/* PR tree-optimization/79715 - hand-rolled strdup with unused result
not eliminated
{ dg-do compile }
{ dg-options "-O2 -Wall -fdump-tree-optimized" } */
void f (const char *s)
{
unsigned n = __builtin_strlen (s) + 1;
char *p = __builtin_malloc (n);
__builtin_memcpy (p, s, n);
__builtin_free (p);
}
void g (const char *s)
{
unsigned n = __builtin_strlen (s) + 1;
char *p = __builtin_malloc (n);
__builtin_strcpy (p, s);
__builtin_free (p);
}
/* { dg-final { scan-tree-dump-not "free" "optimized" } }
{ dg-final { scan-tree-dump-not "malloc" "optimized" } }
{ dg-final { scan-tree-dump-not "memcpy" "optimized" } }
{ dg-final { scan-tree-dump-not "strcpy" "optimized" } }
{ dg-final { scan-tree-dump-not "strlen" "optimized" } } */