* decl.c (finish_decl): Remove.
(declare_global_var): Replace finish_decl with cp_finish_decl.
(start_method): Same.
* rtti.c (emit_tinfo_decl): Same.
* pt.c (tsubst_expr): Same.
(instantiate_decl): Same.
* decl2.c (grokbitfield): Same.
* name-lookup.c (pushdecl_top_level_1): Same.
* cp-tree.h: Remove finish_decl.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148666
138bc75d-0d04-0410-961f-
82ee72b054a4
+2009-06-18 Aldy Hernandez <aldyh@redhat.com>
+
+ * class.c (get_vtable_decl): Replace finish_decl with cp_finish_decl.
+ * decl.c (finish_decl): Remove.
+ (declare_global_var): Replace finish_decl with cp_finish_decl.
+ (start_method): Same.
+ * rtti.c (emit_tinfo_decl): Same.
+ * pt.c (tsubst_expr): Same.
+ (instantiate_decl): Same.
+ * decl2.c (grokbitfield): Same.
+ * name-lookup.c (pushdecl_top_level_1): Same.
+ * cp-tree.h: Remove finish_decl.
+
2009-06-16 David Edelsohn <edelsohn@gnu.org>
* g++-spec.c (LIBSTDCXX_STATIC): Default to NULL.
if (complete)
{
DECL_EXTERNAL (decl) = 1;
- finish_decl (decl, NULL_TREE, NULL_TREE, NULL_TREE);
+ cp_finish_decl (decl, NULL_TREE, false, NULL_TREE, 0);
}
return decl;
extern void start_decl_1 (tree, bool);
extern bool check_array_initializer (tree, tree, tree);
extern void cp_finish_decl (tree, tree, bool, tree, int);
-extern void finish_decl (tree, tree, tree, tree);
extern int cp_complete_array_type (tree *, tree, bool);
extern tree build_ptrmemfunc_type (tree);
extern tree build_ptrmem_type (tree, tree);
mark_decl_referenced (decl);
}
-/* This is here for a midend callback from c-common.c. */
-
-void
-finish_decl (tree decl, tree init, tree origtype ATTRIBUTE_UNUSED,
- tree asmspec_tree)
-{
- cp_finish_decl (decl, init, /*init_const_expr_p=*/false, asmspec_tree, 0);
-}
-
/* Returns a declaration for a VAR_DECL as if:
extern "C" TYPE NAME;
library), then it is possible that our declaration will be merged
with theirs by pushdecl. */
decl = pushdecl (decl);
- finish_decl (decl, NULL_TREE, NULL_TREE, NULL_TREE);
+ cp_finish_decl (decl, NULL_TREE, false, NULL_TREE, 0);
pop_from_top_level ();
return decl;
}
}
- finish_decl (fndecl, NULL_TREE, NULL_TREE, NULL_TREE);
+ cp_finish_decl (fndecl, NULL_TREE, false, NULL_TREE, 0);
/* Make a place for the parms. */
begin_scope (sk_function_parms, fndecl);
error ("static member %qD cannot be a bit-field", value);
return NULL_TREE;
}
- finish_decl (value, NULL_TREE, NULL_TREE, NULL_TREE);
+ cp_finish_decl (value, NULL_TREE, false, NULL_TREE, 0);
if (width != error_mark_node)
{
push_to_top_level ();
x = pushdecl_namespace_level (x, is_friend);
if (init)
- finish_decl (x, *init, NULL_TREE, NULL_TREE);
+ cp_finish_decl (x, *init, false, NULL_TREE, 0);
pop_from_top_level ();
POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, x);
}
init = t;
}
- finish_decl (decl, init, NULL_TREE, NULL_TREE);
+ cp_finish_decl (decl, init, false, NULL_TREE, 0);
}
}
}
/* The initializer is placed in DECL_INITIAL by
regenerate_decl_from_template. Pull it out so that
- finish_decl can process it. */
+ cp_finish_decl can process it. */
init = DECL_INITIAL (d);
DECL_INITIAL (d) = NULL_TREE;
DECL_INITIALIZED_P (d) = 0;
/* Enter the scope of D so that access-checking works correctly. */
push_nested_class (DECL_CONTEXT (d));
- finish_decl (d, init, NULL_TREE, NULL_TREE);
+ cp_finish_decl (d, init, false, NULL_TREE, 0);
pop_nested_class ();
}
else if (TREE_CODE (d) == FUNCTION_DECL)
init = get_pseudo_ti_init (type, get_pseudo_ti_index (type));
DECL_INITIAL (decl) = init;
mark_used (decl);
- finish_decl (decl, init, NULL_TREE, NULL_TREE);
+ cp_finish_decl (decl, init, false, NULL_TREE, 0);
return true;
}
else