c++: Revert EXPR_LOCATION change to build_aggr_init_expr [PR96997]

My change in r10-7718 to make build_aggr_init_expr set EXPR_LOCATION
(mimicking build_target_expr) causes the debuginfo regression PR96997.
Given that this change is mostly independent of the rest of the commit,
and that the only fallout of reverting it is a less accurate error
message location in a testcase introduced in the same commit, it seems
the best way forward is to just revert this part of the commit.

gcc/cp/ChangeLog:

	PR debug/96997
	PR c++/94034
	* tree.c (build_aggr_init_expr): Revert r10-7718 change.

gcc/testsuite/ChangeLog:

	PR debug/96997
	PR c++/94034
	* g++.dg/cpp1y/constexpr-nsdmi7b.C:  Adjust expected location of
	"call to non-'constexpr' function" error message.
This commit is contained in:
Patrick Palka 2021-02-16 20:49:12 -05:00
parent 0e804ce39a
commit 78a6d0e30d
2 changed files with 2 additions and 5 deletions

View File

@ -674,9 +674,6 @@ build_aggr_init_expr (tree type, tree init)
else
rval = init;
if (location_t loc = EXPR_LOCATION (init))
SET_EXPR_LOCATION (rval, loc);
return rval;
}

View File

@ -20,8 +20,8 @@ bar()
{
A a = foo();
a.p->n = 5;
return a; // { dg-error "non-.constexpr." }
}
return a;
} // { dg-error "non-.constexpr." }
constexpr int
baz()