aboutsummaryrefslogtreecommitdiff
path: root/gcc/lto
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2014-07-15 12:17:32 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2014-07-15 10:17:32 +0000
commitad115a3c32ab0af89b575221f3a8212652a7f948 (patch)
treec2916073d31a98f423ae5a332f347790559245bb /gcc/lto
parent80def9087092a60b4f5f2ca952b3d0eb8e73cc8d (diff)
downloadgcc-ad115a3c32ab0af89b575221f3a8212652a7f948.zip
gcc-ad115a3c32ab0af89b575221f3a8212652a7f948.tar.gz
gcc-ad115a3c32ab0af89b575221f3a8212652a7f948.tar.bz2
tree.c (tree_code_size): Add TRANSLATION_UNIT_DECL, NAMESPACE_DECL, IMPORTED_DECL and NAMELIST_DECL...
* tree.c (tree_code_size): Add TRANSLATION_UNIT_DECL, NAMESPACE_DECL, IMPORTED_DECL and NAMELIST_DECL; call langhook for unknown declaration. (find_decls_types_r): Do not walk DECL_ARGUMENT_FLD. * tree.h (DECL_ARGUMENTS): Update. * print-tree.c (print_node): Update. * tree-core.h (tree_decl_non_common): Remove arguments. (tree_function_decl): Add arguments. * class.c (build_clone): Do not clear assembler names of templates. * decl.c (cp_tree_node_structure): Add TEMPLATE_DECL. * cp-objcp-common.c (cp_tree_size): Add TEMPLATE_DECL as a special case return sizeof (struct tree_decl_non_common) for other decls. (cp_common_init_ts): Do not initialize NAMESPACE_DECL; initialize TEMPLATE_DECL as MARK_TS_DECL_COMMON. * cp/cp-tree.h (tree_template_decl): New structure. (cp_tree_node_structure_enum): Add TS_CP_TEMPLATE_DECL. (union cp_lang_tree_node): Add template_decl. (DECL_TEMPLATE_PARMS, DECL_TEMPLATE_RESULT): Update. * lto/lto.c (mentions_vars_p_decl_non_common): Skip DECL_ARGUMENT_FLD. mentions_vars_p_function): Do DECL_ARGUMENTS. (lto_fixup_prevailing_decls): Update. * objc-act.c (objc_common_tree_size): New function. * objc-act.h (KEYWORD_KEY_NAME, KEYWORD_ARG_NAME): Add type checking. (INSTANCE_METHOD_OR_CLASS_METHOD_DECL_CHECK): New macro. (METHOD_SEL_NAME, METHOD_SEL_ARGS, METHOD_ADD_ARGS, METHOD_ADD_ARGS_ELLIPSIS_P, METHOD_DEFINITION, METHOD_ENCODING, METHOD_TYPE_ATTRIBUTES, METHOD_PROPERTY_CONTEXT): Add type checking. (METHOD_SEL_ARGS): Use decl_common.size instead of decl_non_common.result. (PROPERTY_NAME, PROPERTY_GETTER_NAME, PROPERTY_SETTER_NAME, PROPERTY_READONLY, PROPERTY_NONATOMIC, PROPERTY_ASSIGN_SEMANTICS, PROPERTY_IVAR_NAME, PROPERTY_DYNAMIC, PROPERTY_HAS_NO_GETTER, PROPERTY_HAS_NO_SETTER, PROPERTY_OPTIONAL): Add type checking. (objc_common_tree_size): Declare. * objc/objc-lang.c (LANG_HOOKS_TREE_SIZE): New macro. From-SVN: r212549
Diffstat (limited to 'gcc/lto')
-rw-r--r--gcc/lto/ChangeLog7
-rw-r--r--gcc/lto/lto.c4
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog
index 194acba..8fd21ea 100644
--- a/gcc/lto/ChangeLog
+++ b/gcc/lto/ChangeLog
@@ -1,3 +1,10 @@
+2014-07-14 Jan Hubicka <hubicka@ucw.cz>
+
+ * lto.c (mentions_vars_p_decl_non_common): Skip
+ DECL_ARGUMENT_FLD.
+ mentions_vars_p_function): Do DECL_ARGUMENTS.
+ (lto_fixup_prevailing_decls): Update.
+
2014-07-12 Jan Hubicka <hubicka@ucw.cz>
* lto.c (read_cgraph_and_symbols): Do not push DECL_INIT_IO
diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c
index dc30884..5056915 100644
--- a/gcc/lto/lto.c
+++ b/gcc/lto/lto.c
@@ -775,7 +775,6 @@ mentions_vars_p_decl_non_common (tree t)
{
if (mentions_vars_p_decl_with_vis (t))
return true;
- CHECK_NO_VAR (DECL_ARGUMENT_FLD (t));
CHECK_NO_VAR (DECL_RESULT_FLD (t));
return false;
}
@@ -787,6 +786,7 @@ mentions_vars_p_function (tree t)
{
if (mentions_vars_p_decl_non_common (t))
return true;
+ CHECK_NO_VAR (DECL_ARGUMENTS (t));
CHECK_NO_VAR (DECL_VINDEX (t));
CHECK_VAR (DECL_FUNCTION_PERSONALITY (t));
return false;
@@ -2711,11 +2711,11 @@ lto_fixup_prevailing_decls (tree t)
}
if (CODE_CONTAINS_STRUCT (code, TS_DECL_NON_COMMON))
{
- LTO_NO_PREVAIL (DECL_ARGUMENT_FLD (t));
LTO_NO_PREVAIL (DECL_RESULT_FLD (t));
}
if (CODE_CONTAINS_STRUCT (code, TS_FUNCTION_DECL))
{
+ LTO_NO_PREVAIL (DECL_ARGUMENTS (t));
LTO_SET_PREVAIL (DECL_FUNCTION_PERSONALITY (t));
LTO_NO_PREVAIL (DECL_VINDEX (t));
}