tree.c (strip_typedefs_expr): Fix typo.
authorJason Merrill <jason@redhat.com>
Mon, 18 May 2015 17:14:04 +0000 (13:14 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Mon, 18 May 2015 17:14:04 +0000 (13:14 -0400)
* tree.c (strip_typedefs_expr) [TRAIT_EXPR]: Fix typo.
(strip_typedefs) [DECLTYPE_TYPE]: Fix typedef of decltype.
[TREE_LIST]: Fix no-change case.

From-SVN: r223300

gcc/cp/ChangeLog
gcc/cp/tree.c

index d4f739c5521fddc7852271fb97d4ae5ba7d97bed..f5a31fde12e3177cbffc0e1b6d3ea5fea5d9c913 100644 (file)
@@ -1,5 +1,9 @@
 2015-05-18  Jason Merrill  <jason@redhat.com>
 
+       * tree.c (strip_typedefs_expr) [TRAIT_EXPR]: Fix typo.
+       (strip_typedefs) [DECLTYPE_TYPE]: Fix typedef of decltype.
+       [TREE_LIST]: Fix no-change case.
+
        * ptree.c (cxx_print_xnode): Handle TRAIT_EXPR.
 
 2015-05-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
index ec9be8c2bc49d8d00fd7f467b01eceede708fda3..eebb41544fb1e5108b8691df8aa47a0fb646385c 100644 (file)
@@ -1265,6 +1265,7 @@ strip_typedefs (tree t, bool *remove_attributes)
     {
       bool changed = false;
       vec<tree,va_gc> *vec = make_tree_vector ();
+      tree r = t;
       for (; t; t = TREE_CHAIN (t))
        {
          gcc_assert (!TREE_PURPOSE (t));
@@ -1273,7 +1274,6 @@ strip_typedefs (tree t, bool *remove_attributes)
            changed = true;
          vec_safe_push (vec, elt);
        }
-      tree r = t;
       if (changed)
        r = build_tree_list_vec (vec);
       release_tree_vector (vec);
@@ -1411,7 +1411,7 @@ strip_typedefs (tree t, bool *remove_attributes)
       result = strip_typedefs_expr (DECLTYPE_TYPE_EXPR (t),
                                    remove_attributes);
       if (result == DECLTYPE_TYPE_EXPR (t))
-       return t;
+       result = NULL_TREE;
       else
        result = (finish_decltype_type
                  (result,
@@ -1496,8 +1496,8 @@ strip_typedefs_expr (tree t, bool *remove_attributes)
            && type2 == TRAIT_EXPR_TYPE2 (t))
          return t;
        r = copy_node (t);
-       TRAIT_EXPR_TYPE1 (t) = type1;
-       TRAIT_EXPR_TYPE2 (t) = type2;
+       TRAIT_EXPR_TYPE1 (r) = type1;
+       TRAIT_EXPR_TYPE2 (r) = type2;
        return r;
       }