aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2019-08-05 13:38:18 -0400
committerJason Merrill <jason@gcc.gnu.org>2019-08-05 13:38:18 -0400
commitea55c91543bd9d78aa006bc9661422ddf4c4a3f1 (patch)
tree7de5c0a08e33580e9ce04e76bb1672d4f561a061
parent55f863c4d694deafb968dbf44d08ba49bb7c0766 (diff)
downloadgcc-ea55c91543bd9d78aa006bc9661422ddf4c4a3f1.zip
gcc-ea55c91543bd9d78aa006bc9661422ddf4c4a3f1.tar.gz
gcc-ea55c91543bd9d78aa006bc9661422ddf4c4a3f1.tar.bz2
* semantics.c (force_paren_expr): Preserve location.
From-SVN: r274120
-rw-r--r--gcc/cp/ChangeLog4
-rw-r--r--gcc/cp/semantics.c6
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 2715966..2b281c1 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,7 @@
+2019-08-05 Jason Merrill <jason@redhat.com>
+
+ * semantics.c (force_paren_expr): Preserve location.
+
2019-08-02 Marek Polacek <polacek@redhat.com>
PR c++/91230 - wrong error with __PRETTY_FUNCTION__ and generic lambda.
diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
index 269092d..fc90c8d 100644
--- a/gcc/cp/semantics.c
+++ b/gcc/cp/semantics.c
@@ -1745,14 +1745,16 @@ force_paren_expr (tree expr)
&& TREE_CODE (expr) != SCOPE_REF)
return expr;
+ location_t loc = cp_expr_location (expr);
+
if (TREE_CODE (expr) == COMPONENT_REF
|| TREE_CODE (expr) == SCOPE_REF)
REF_PARENTHESIZED_P (expr) = true;
else if (processing_template_decl)
- expr = build1 (PAREN_EXPR, TREE_TYPE (expr), expr);
+ expr = build1_loc (loc, PAREN_EXPR, TREE_TYPE (expr), expr);
else
{
- expr = build1 (VIEW_CONVERT_EXPR, TREE_TYPE (expr), expr);
+ expr = build1_loc (loc, VIEW_CONVERT_EXPR, TREE_TYPE (expr), expr);
REF_PARENTHESIZED_P (expr) = true;
}