[Bug tree-optimization/86914] [8 Regression] -O2 generates wrong code with strlen() of pointers within one-element arrays of structures

2018-08-31 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86914

Martin Sebor  changed:

   What|Removed |Added

 CC||matti.niemenmaa+gccbugs@iki
   ||.fi

--- Comment #9 from Martin Sebor  ---
*** Bug 87167 has been marked as a duplicate of this bug. ***

[Bug tree-optimization/86914] [8 Regression] -O2 generates wrong code with strlen() of pointers within one-element arrays of structures

2018-08-28 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86914

Martin Sebor  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #8 from Martin Sebor  ---
Backported to GCC 8 in r263925.

[Bug tree-optimization/86914] [8 Regression] -O2 generates wrong code with strlen() of pointers within one-element arrays of structures

2018-08-28 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86914

--- Comment #7 from Martin Sebor  ---
Author: msebor
Date: Tue Aug 28 16:43:58 2018
New Revision: 263925

URL: https://gcc.gnu.org/viewcvs?rev=263925&root=gcc&view=rev
Log:
PR tree-optimization/86914 - wrong code with strlen() of poor-man's flexible
array member plus offset

gcc/ChangeLog:

PR tree-optimization/86914
* tree-ssa-strlen.c (maybe_set_strlen_range): Avoid MEM_REF.

gcc/testsuite/ChangeLog:

PR tree-optimization/86914
* gcc.dg/strlenopt-57.c: New test.


Added:
branches/gcc-8-branch/gcc/testsuite/gcc.dg/strlenopt-57.c
Modified:
branches/gcc-8-branch/gcc/ChangeLog
branches/gcc-8-branch/gcc/testsuite/ChangeLog
branches/gcc-8-branch/gcc/tree-ssa-strlen.c

[Bug tree-optimization/86914] [8 Regression] -O2 generates wrong code with strlen() of pointers within one-element arrays of structures

2018-08-27 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86914

Martin Sebor  changed:

   What|Removed |Added

Summary|[8/9 Regression] -O2|[8 Regression] -O2
   |generates wrong code with   |generates wrong code with
   |strlen() of pointers within |strlen() of pointers within
   |one-element arrays of   |one-element arrays of
   |structures  |structures
  Known to fail|9.0 |

--- Comment #6 from Martin Sebor  ---
Patch committed to trunk in r263905.