aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog3
-rw-r--r--gcc/cp/semantics.c2
2 files changed, 3 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 1fdeef4..a54d30a 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,5 +1,8 @@
2010-02-18 Jason Merrill <jason@redhat.com>
+ PR c++/43070
+ * semantics.c (finish_goto_stmt): Don't call decay_conversion.
+
PR c++/26261
PR c++/43101
* pt.c (tsubst_qualified_id): Do normal lookup in non-dependent scope.
diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
index 24390d9..5d8b767 100644
--- a/gcc/cp/semantics.c
+++ b/gcc/cp/semantics.c
@@ -546,10 +546,8 @@ finish_goto_stmt (tree destination)
TREE_USED (destination) = 1;
else
{
- /* The DESTINATION is being used as an rvalue. */
if (!processing_template_decl)
{
- destination = decay_conversion (destination);
destination = cp_convert (ptr_type_node, destination);
if (error_operand_p (destination))
return NULL_TREE;