[Bug tree-optimization/81884] [6 Regression] Invalid code generation with zero size arrays or flexible array members

2018-06-21 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81884

--- Comment #13 from Richard Biener  ---
Author: rguenth
Date: Thu Jun 21 07:24:06 2018
New Revision: 261833

URL: https://gcc.gnu.org/viewcvs?rev=261833=gcc=rev
Log:
2018-06-21  Richard Biener  

Backport from mainline
2017-08-21  Richard Biener  

PR middle-end/81884
* tree-ssa-alias.c (stmt_kills_ref_p): Handle array accesses
at struct end conservatively when comparing common bases.

* g++.dg/torture/pr81884.C: New testcase.

2017-05-04  Richard Biener  

* tree.c (array_at_struct_end_p): Handle arrays at struct
end with flexarrays more conservatively.  Refactor and treat
arrays of arrays or aggregates more strict.  Fix
VIEW_CONVERT_EXPR handling.

2018-04-06  Richard Biener  

PR middle-end/85244
* tree-dfa.c (get_ref_base_and_extent): Reset seen_variable_array_ref
after seeing a component reference with an adjacent field.  Treat
refs to arrays at struct end of external decls similar to
refs to unconstrained commons.

* gcc.dg/torture/pr85244-1.c: New testcase.
* gcc.dg/torture/pr85244-2.c: Likewise.

* gcc.dg/tree-prof/pr66295.c: Remove unsupported dg-error scanning.

Added:
branches/gcc-6-branch/gcc/testsuite/g++.dg/torture/pr81884.C
branches/gcc-6-branch/gcc/testsuite/gcc.dg/torture/pr85244-1.c
branches/gcc-6-branch/gcc/testsuite/gcc.dg/torture/pr85244-2.c
Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/testsuite/ChangeLog
branches/gcc-6-branch/gcc/testsuite/gcc.dg/tree-prof/pr66295.c
branches/gcc-6-branch/gcc/tree-dfa.c
branches/gcc-6-branch/gcc/tree-ssa-alias.c
branches/gcc-6-branch/gcc/tree.c

[Bug tree-optimization/81884] [6 Regression] Invalid code generation with zero size arrays or flexible array members

2018-06-21 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81884

Richard Biener  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
  Known to work||6.4.1
 Resolution|--- |FIXED

--- Comment #12 from Richard Biener  ---
Fixed.

[Bug tree-optimization/81884] [6 Regression] Invalid code generation with zero size arrays or flexible array members

2017-11-07 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81884

Richard Biener  changed:

   What|Removed |Added

 CC||webstrand at gmail dot com

--- Comment #11 from Richard Biener  ---
*** Bug 82870 has been marked as a duplicate of this bug. ***

[Bug tree-optimization/81884] [6 Regression] Invalid code generation with zero size arrays or flexible array members

2017-09-13 Thread aldyh at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81884

--- Comment #10 from Aldy Hernandez  ---
Author: aldyh
Date: Wed Sep 13 17:12:38 2017
New Revision: 252498

URL: https://gcc.gnu.org/viewcvs?rev=252498=gcc=rev
Log:
2017-08-21  Richard Biener  

PR middle-end/81884
* tree-ssa-alias.c (stmt_kills_ref_p): Handle array accesses
at struct end conservatively when comparing common bases.

* g++.dg/torture/pr81884.C: New testcase.

Added:
branches/range-gen2/gcc/testsuite/g++.dg/torture/pr81884.C
Modified:
branches/range-gen2/gcc/ChangeLog
branches/range-gen2/gcc/testsuite/ChangeLog
branches/range-gen2/gcc/tree-ssa-alias.c

[Bug tree-optimization/81884] [6 Regression] Invalid code generation with zero size arrays or flexible array members

2017-08-28 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81884

--- Comment #9 from Richard Biener  ---
Author: rguenth
Date: Mon Aug 28 12:16:06 2017
New Revision: 251379

URL: https://gcc.gnu.org/viewcvs?rev=251379=gcc=rev
Log:
2017-08-28  Richard Biener  

Backport from mainline
2017-08-21  Richard Biener  

PR middle-end/81884
* tree-ssa-alias.c (stmt_kills_ref_p): Handle array accesses
at struct end conservatively when comparing common bases.

* g++.dg/torture/pr81884.C: New testcase.

2017-05-04  Richard Biener  

* tree.c (array_at_struct_end_p): Handle arrays at struct
end with flexarrays more conservatively.  Refactor and treat
arrays of arrays or aggregates more strict.  Fix
VIEW_CONVERT_EXPR handling.  Remove allow_compref argument.
* tree.h (array_at_struct_end_p): Adjust prototype.
* gimple-fold.c (get_range_strlen): Likewise.
* tree-chkp.c (chkp_may_narrow_to_field): Likewise.

Added:
branches/gcc-7-branch/gcc/testsuite/g++.dg/torture/pr81884.C
Modified:
branches/gcc-7-branch/gcc/ChangeLog
branches/gcc-7-branch/gcc/gimple-fold.c
branches/gcc-7-branch/gcc/testsuite/ChangeLog
branches/gcc-7-branch/gcc/tree-chkp.c
branches/gcc-7-branch/gcc/tree-ssa-alias.c
branches/gcc-7-branch/gcc/tree.c
branches/gcc-7-branch/gcc/tree.h