On Thu, Mar 28, 2019 at 01:30:46PM -0400, Jason Merrill wrote: > On 3/26/19 11:06 AM, Marek Polacek wrote: > > On Tue, Mar 26, 2019 at 12:34:03PM +0100, Andreas Schwab wrote: > > > I don't see any of the warnings in the tests on ia64. > > > > > > FAIL: g++.dg/cpp1z/aggr-base8.C -std=c++17 (test for warnings, line 33) > > > FAIL: g++.dg/cpp1z/aggr-base8.C -std=c++17 (test for warnings, line 34) > > > FAIL: g++.dg/cpp1z/aggr-base8.C -std=c++17 (test for warnings, line 35) > > > FAIL: g++.dg/cpp1z/aggr-base8.C -std=c++17 (test for warnings, line 45) > > > FAIL: g++.dg/cpp1z/aggr-base8.C -std=c++17 (test for warnings, line 46) > > > FAIL: g++.dg/cpp1z/aggr-base8.C -std=c++17 (test for warnings, line 47) > > > PASS: g++.dg/cpp1z/aggr-base8.C -std=c++17 (test for excess errors) > > > > > > FAIL: g++.dg/cpp1z/aggr-base9.C -std=c++17 (test for warnings, line 22) > > > FAIL: g++.dg/cpp1z/aggr-base9.C -std=c++17 (test for warnings, line 23) > > > FAIL: g++.dg/cpp1z/aggr-base9.C -std=c++17 (test for warnings, line 31) > > > FAIL: g++.dg/cpp1z/aggr-base9.C -std=c++17 (test for warnings, line 32) > > > PASS: g++.dg/cpp1z/aggr-base9.C -std=c++17 (test for excess errors) > > > > I don't have access to an ia64 box -- I see none on Compile Farm. But if > > it doesn't ICE, can we just add ! { target ia64-*-* } to the dg-warnings? > > Hmm, this behavior shouldn't be dependent on the target.
True. But I can't reproduce the missing warning on e.g. ppc64. Andreas, could you please find out why we're not hitting this code in digest_init_r: 1210 tree elt = CONSTRUCTOR_ELT (stripped_init, 0)->value; 1211 if (reference_related_p (type, TREE_TYPE (elt))) or if we are, is the reference_related_p condition not true? Marek