[Bug c++/91006] New: [10 Regression] Several test suite fails on *darwin* after r272618
iains at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Jun 26 18:47:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91006
Bug ID: 91006
Summary: [10 Regression] Several test suite fails on *darwin*
after r272618
Product: gcc
Version: 10.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: iains at gcc dot gnu.org
Target Milestone: ---
After r272618, the following tests fail for i686,x86-64-*darwin*.
flifetime-dse2.C (m32, m64)
Warray-bounds-4.C (m32, m64)
ivopts-3.C (m64).
The problem is occurring it seems quite early in the middle end (already
complete before we get to RTL expansion)
Th problem also manifests on a stage1 FE, so it ought to be possible to
investigate on a cross.
=====
I did some comparisions of the IL for flifetime-dse2.C between before/after and
against a linux version.
Up to flifetime-dse2.C.021t.nothrow the IL looks similar for all three cases
...
At flifetime-dse2.C.023t.fixup_cfg2 there is a divergence:
(OK):
main ()
{
struct A * ap;
int ar[1];
int _1;
int _2;
void * _6;
int _12;
<bb 2> :
ar[0] = 42;
_6 = _ZnwmPv.isra.0 (&ar);
A::A (_6);
ap_8 = _6;
_1 = ap_8->i;
if (_1 == 42)
goto <bb 3>; [INV]
else
goto <bb 4>; [INV]
<bb 3> :
__builtin_abort ();
<bb 4> :
ap_8->i = 42;
A::~A (ap_8);
_2 = ar[0];
if (_2 == 42)
goto <bb 5>; [INV]
else
goto <bb 6>; [INV]
<bb 5> :
__builtin_abort ();
<bb 6> :
ar ={v} {CLOBBER};
_12 = 0;
return _12;
}
(Bad):
;; Function main (main, funcdef_no=7, decl_uid=2353, cgraph_uid=8,
symbol_order=7)
main ()
{
struct A * ap;
int ar[1];
int _1;
int _2;
void * _6;
int _12;
<bb 2> :
ar[0] = 42;
_6 = _ZnwmPv.isra.0 (&ar);
A::_ZN1AC1Ev.isra.0 ();
ap_8 = _6;
_1 = ap_8->i;
if (_1 == 42)
goto <bb 3>; [INV]
else
goto <bb 4>; [INV]
<bb 3> :
__builtin_abort ();
<bb 4> :
ap_8->i = 42;
A::_ZN1AD1Ev.isra.0 ();
_2 = ar[0];
if (_2 == 42)
goto <bb 5>; [INV]
else
goto <bb 6>; [INV]
<bb 5> :
__builtin_abort ();
<bb 6> :
ar ={v} {CLOBBER};
_12 = 0;
return _12;
}
I can attach the tree dumps / or more comparisons etc. as needed.
More information about the Gcc-bugs
mailing list