[Bug middle-end/87099] [8/9 Regression] internal compiler error: segmentation fault

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

--- Comment #5 from Jakub Jelinek  ---
Author: jakub
Date: Tue Aug 28 11:43:22 2018
New Revision: 263917

URL: https://gcc.gnu.org/viewcvs?rev=263917=gcc=rev
Log:
PR middle-end/87099
* calls.c (maybe_warn_nonstring_arg): Punt early if
warn_stringop_overflow is zero.  Don't call get_range_strlen
on 3rd argument, keep iterating until lenrng[1] is INTEGER_CST.
Only use lenrng[1] if non-NULL and INTEGER_CST.  Don't uselessly
increment lenrng[0].

* gcc.dg/pr87099.c: New test.

Added:
branches/gcc-8-branch/gcc/testsuite/gcc.dg/pr87099.c
Modified:
branches/gcc-8-branch/gcc/ChangeLog
branches/gcc-8-branch/gcc/calls.c
branches/gcc-8-branch/gcc/testsuite/ChangeLog

[Bug middle-end/87099] [8/9 Regression] internal compiler error: segmentation fault

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

--- Comment #4 from Jakub Jelinek  ---
Author: jakub
Date: Tue Aug 28 11:13:04 2018
New Revision: 263915

URL: https://gcc.gnu.org/viewcvs?rev=263915=gcc=rev
Log:
PR middle-end/87099
* calls.c (maybe_warn_nonstring_arg): Punt early if
warn_stringop_overflow is zero.  Don't call get_range_strlen
on 3rd argument, keep iterating until lenrng[1] is INTEGER_CST.
Swap comparison operands to have constants on rhs.  Only use
lenrng[1] if non-NULL and INTEGER_CST.  Don't uselessly
increment lenrng[0].

* gcc.dg/pr87099.c: New test.

Added:
trunk/gcc/testsuite/gcc.dg/pr87099.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/calls.c
trunk/gcc/testsuite/ChangeLog

[Bug middle-end/87099] [8/9 Regression] internal compiler error: segmentation fault

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

Jakub Jelinek  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |jakub at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek  ---
Created attachment 44610
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44610=edit
gcc9-pr87099.patch

Untested fix.

[Bug middle-end/87099] [8/9 Regression] internal compiler error: segmentation fault

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

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek  ---
Started with r260541.
Simpler testcase:
void bar (char *);

int
foo (int n)
{
  char v[n];
  bar (v);
  return __builtin_strncmp ([1], "aaa", 3);
}

[Bug middle-end/87099] [8/9 Regression] internal compiler error: segmentation fault

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

Richard Biener  changed:

   What|Removed |Added

 Target||x86_64-*-* i?86-*-*
   Priority|P3  |P2
 Status|UNCONFIRMED |NEW
  Known to work||8.1.0
   Keywords||ice-on-valid-code
   Last reconfirmed||2018-08-27
  Component|rtl-optimization|middle-end
 CC||msebor at gcc dot gnu.org
 Ever confirmed|0   |1
Summary|internal compiler error:|[8/9 Regression] internal
   |segmentation fault  |compiler error:
   ||segmentation fault
   Target Milestone|--- |8.3
  Known to fail||8.2.0

--- Comment #1 from Richard Biener  ---
Confirmed.  Backtrace from trunk:

during RTL pass: expand
t.c: In function ‘main’:
t.c:5:13: internal compiler error: Segmentation fault
5 | int a = strncmp(&(myArray[1]),"",3);
  | ^~~
0x10491a9 crash_signal
/space/rguenther/src/gcc-sccvn/gcc/toplev.c:325
0x7fe0cd2b2fdf ???
   
/usr/src/debug/glibc-2.22/signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0
0x842f44 contains_struct_check(tree_node const*, tree_node_structure_enum, char
const*, int, char const*)
/space/rguenther/src/gcc-sccvn/gcc/tree.h:3489
0x8766df wi::extended_tree<192>::extended_tree(tree_node const*)
/space/rguenther/src/gcc-sccvn/gcc/tree.h:5541
0x875525 generic_wide_int >::generic_wide_int(tree_node const* const&)
/space/rguenther/src/gcc-sccvn/gcc/wide-int.h:780
0x8750e5 wi::to_widest(tree_node const*)
/space/rguenther/src/gcc-sccvn/gcc/tree.h:5468
0x875117 tree_int_cst_lt(tree_node const*, tree_node const*)
/space/rguenther/src/gcc-sccvn/gcc/tree.h:5721
0x9ede7a maybe_warn_nonstring_arg(tree_node*, tree_node*)
/space/rguenther/src/gcc-sccvn/gcc/calls.c:1663
0x9f02cb initialize_argument_information
/space/rguenther/src/gcc-sccvn/gcc/calls.c:2197
0x9f4fd7 expand_call(tree_node*, rtx_def*, int)
/space/rguenther/src/gcc-sccvn/gcc/calls.c:3583