aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Palka <ppalka@redhat.com>2021-02-16 20:49:12 -0500
committerPatrick Palka <ppalka@redhat.com>2021-02-16 20:49:12 -0500
commit78a6d0e30d7950216dc0c5be5d65d0cbed13924c (patch)
tree0593d5591041d2a22a516d0ffc97593241e80c45
parent0e804ce39a22ca660f48893f9541f6a4d8a17e56 (diff)
downloadgcc-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.c3
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/constexpr-nsdmi7b.C4
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()