Commit b1e47084 by Jason Merrill Committed by Jason Merrill

Tiny C++ cleanups.

	* pt.c (tsubst_expr): Remove shadowing declaration.
	(tsubst_pack_expansion): Add assert.
	* semantics.c (add_decl_expr): Use DECL_SOURCE_LOCATION.

From-SVN: r235213
parent 831698b8
2016-04-19 Jason Merrill <jason@redhat.com> 2016-04-19 Jason Merrill <jason@redhat.com>
* pt.c (tsubst_expr): Remove shadowing declaration.
(tsubst_pack_expansion): Add assert.
* semantics.c (add_decl_expr): Use DECL_SOURCE_LOCATION.
PR c++/70522 PR c++/70522
* name-lookup.c (qualified_lookup_using_namespace): Look through * name-lookup.c (qualified_lookup_using_namespace): Look through
hidden names. hidden names.
......
...@@ -10961,6 +10961,7 @@ tsubst_pack_expansion (tree t, tree args, tsubst_flags_t complain, ...@@ -10961,6 +10961,7 @@ tsubst_pack_expansion (tree t, tree args, tsubst_flags_t complain,
/* We can't substitute for this parameter pack. We use a flag as /* We can't substitute for this parameter pack. We use a flag as
well as the missing_level counter because function parameter well as the missing_level counter because function parameter
packs don't have a level. */ packs don't have a level. */
gcc_assert (processing_template_decl);
unsubstituted_packs = true; unsubstituted_packs = true;
} }
} }
...@@ -15135,7 +15136,6 @@ tsubst_expr (tree t, tree args, tsubst_flags_t complain, tree in_decl, ...@@ -15135,7 +15136,6 @@ tsubst_expr (tree t, tree args, tsubst_flags_t complain, tree in_decl,
{ {
tree scope = USING_DECL_SCOPE (decl); tree scope = USING_DECL_SCOPE (decl);
tree name = DECL_NAME (decl); tree name = DECL_NAME (decl);
tree decl;
scope = tsubst (scope, args, complain, in_decl); scope = tsubst (scope, args, complain, in_decl);
decl = lookup_qualified_name (scope, name, decl = lookup_qualified_name (scope, name,
......
...@@ -428,7 +428,7 @@ maybe_cleanup_point_expr_void (tree expr) ...@@ -428,7 +428,7 @@ maybe_cleanup_point_expr_void (tree expr)
void void
add_decl_expr (tree decl) add_decl_expr (tree decl)
{ {
tree r = build_stmt (input_location, DECL_EXPR, decl); tree r = build_stmt (DECL_SOURCE_LOCATION (decl), DECL_EXPR, decl);
if (DECL_INITIAL (decl) if (DECL_INITIAL (decl)
|| (DECL_SIZE (decl) && TREE_SIDE_EFFECTS (DECL_SIZE (decl)))) || (DECL_SIZE (decl) && TREE_SIDE_EFFECTS (DECL_SIZE (decl))))
r = maybe_cleanup_point_expr_void (r); r = maybe_cleanup_point_expr_void (r);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment