diff options
author | Patrick Palka <ppalka@redhat.com> | 2021-02-16 20:49:12 -0500 |
---|---|---|
committer | Patrick Palka <ppalka@redhat.com> | 2021-02-16 20:49:12 -0500 |
commit | 78a6d0e30d7950216dc0c5be5d65d0cbed13924c (patch) | |
tree | 0593d5591041d2a22a516d0ffc97593241e80c45 | |
parent | 0e804ce39a22ca660f48893f9541f6a4d8a17e56 (diff) | |
download | gcc-78a6d0e30d7950216dc0c5be5d65d0cbed13924c.zip gcc-78a6d0e30d7950216dc0c5be5d65d0cbed13924c.tar.gz gcc-78a6d0e30d7950216dc0c5be5d65d0cbed13924c.tar.bz2 |
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.
-rw-r--r-- | gcc/cp/tree.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp1y/constexpr-nsdmi7b.C | 4 |
2 files changed, 2 insertions, 5 deletions
diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index e6ced27..3c46975 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -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; } diff --git a/gcc/testsuite/g++.dg/cpp1y/constexpr-nsdmi7b.C b/gcc/testsuite/g++.dg/cpp1y/constexpr-nsdmi7b.C index 86d8ab4..ec10ddd 100644 --- a/gcc/testsuite/g++.dg/cpp1y/constexpr-nsdmi7b.C +++ b/gcc/testsuite/g++.dg/cpp1y/constexpr-nsdmi7b.C @@ -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() |