+2004-07-25 Richard Henderson <rth@redhat.com>
+
+ * c-decl.c (start_function): Set DECL_ARTIFICIAL and DECL_IGNORED_P
+ on the RESULT_DECL.
+ * cgraphunit.c (cgraph_build_static_cdtor): Likewise.
+ * integrate.c (copy_decl_for_inlining): Copy DECL_ARTIFICIAL and
+ DECL_IGNORED_P to new decl.
+
2004-07-24 Zack Weinberg <zack@codesourcery.com>
* config/ia64/ia64.c (general_xfmode_operand)
+2004-07-25 Richard Henderson <rth@redhat.com>
+
+ * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
+ DECL_IGNORED_P on RESULT_DECL.
+
2004-07-20 Olivier Hainque <hainque@act-europe.fr>
* a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
TREE_SIDE_EFFECTS (subprog_decl) = TYPE_VOLATILE (subprog_type);
DECL_ARGUMENTS (subprog_decl) = param_decl_list;
DECL_RESULT (subprog_decl) = build_decl (RESULT_DECL, 0, return_type);
+ DECL_ARTIFICIAL (DECL_RESULT (subprog_decl)) = 1;
+ DECL_IGNORED_P (DECL_RESULT (subprog_decl)) = 1;
if (inline_flag)
DECL_DECLARED_INLINE_P (subprog_decl) = 1;
start_function (tree declspecs, tree declarator, tree attributes)
{
tree decl1, old_decl;
- tree restype;
+ tree restype, resdecl;
current_function_returns_value = 0; /* Assume, until we see it does. */
current_function_returns_null = 0;
else
restype = integer_type_node;
}
- DECL_RESULT (current_function_decl)
- = build_decl (RESULT_DECL, NULL_TREE, restype);
+
+ resdecl = build_decl (RESULT_DECL, NULL_TREE, restype);
+ DECL_ARTIFICIAL (resdecl) = 1;
+ DECL_IGNORED_P (resdecl) = 1;
+ DECL_RESULT (current_function_decl) = resdecl;
start_fname_decls ();
{
static int counter = 0;
char which_buf[16];
- tree decl, name;
+ tree decl, name, resdecl;
sprintf (which_buf, "%c_%d", which, counter++);
name = get_file_function_name_long (which_buf);
build_function_type (void_type_node, void_list_node));
current_function_decl = decl;
- DECL_RESULT (decl) = build_decl (RESULT_DECL, NULL_TREE, void_type_node);
+ resdecl = build_decl (RESULT_DECL, NULL_TREE, void_type_node);
+ DECL_ARTIFICIAL (resdecl) = 1;
+ DECL_IGNORED_P (resdecl) = 1;
+ DECL_RESULT (decl) = resdecl;
+
allocate_struct_function (decl);
TREE_STATIC (decl) = 1;
+2004-07-25 Richard Henderson <rth@redhat.com>
+
+ * decl.c (start_preparsed_function): Set DECL_ARTIFICIAL and
+ DECL_IGNORED_P on RESULT_DECL.
+ * semantics.c (finalize_nrv): Copy them too.
+
2004-07-23 Nathan Sidwell <nathan@codesourcery.com>
* search.c (lookup_conversion_operator): Avoid two loops.
restype = type_promotes_to (restype);
if (DECL_RESULT (decl1) == NULL_TREE)
{
- DECL_RESULT (decl1)
- = build_decl (RESULT_DECL, 0, TYPE_MAIN_VARIANT (restype));
- c_apply_type_quals_to_decl (cp_type_quals (restype),
- DECL_RESULT (decl1));
+ tree resdecl;
+
+ resdecl = build_decl (RESULT_DECL, 0, TYPE_MAIN_VARIANT (restype));
+ DECL_ARTIFICIAL (resdecl) = 1;
+ DECL_IGNORED_P (resdecl) = 1;
+ DECL_RESULT (decl1) = resdecl;
+
+ c_apply_type_quals_to_decl (cp_type_quals (restype), resdecl);
}
/* Initialize RTL machinery. We cannot do this until
/* Copy debugging information from VAR to RESULT. */
DECL_NAME (result) = DECL_NAME (var);
+ DECL_ARTIFICIAL (result) = DECL_ARTIFICIAL (var);
+ DECL_IGNORED_P (result) = DECL_IGNORED_P (var);
DECL_SOURCE_LOCATION (result) = DECL_SOURCE_LOCATION (var);
DECL_ABSTRACT_ORIGIN (result) = DECL_ABSTRACT_ORIGIN (var);
/* Don't forget that we take its address. */
+2004-07-25 Richard Henderson <rth@redhat.com>
+
+ * trans-decl.c (gfc_build_function_decl): Set DECL_ARTIFICIAL
+ and DECL_IGNORED_P on RESULT_DECL.
+ (gfc_generate_constructors): Likewise.
+
2004-07-18 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
PR fortran/16465
}
result_decl = build_decl (RESULT_DECL, result_decl, type);
+ DECL_ARTIFICIAL (result_decl) = 1;
+ DECL_IGNORED_P (result_decl) = 1;
DECL_CONTEXT (result_decl) = fndecl;
DECL_RESULT (fndecl) = result_decl;
TREE_PUBLIC (fndecl) = 1;
decl = build_decl (RESULT_DECL, NULL_TREE, void_type_node);
+ DECL_ARTIFICIAL (decl) = 1;
+ DECL_IGNORED_P (decl) = 1;
DECL_CONTEXT (decl) = fndecl;
DECL_RESULT (fndecl) = decl;
}
}
+ /* Don't generate debug information for the copy if we wouldn't have
+ generated it for the copy either. */
+ DECL_ARTIFICIAL (copy) = DECL_ARTIFICIAL (decl);
+ DECL_IGNORED_P (copy) = DECL_IGNORED_P (decl);
+
/* Set the DECL_ABSTRACT_ORIGIN so the debugging routines know what
declaration inspired this copy. */
DECL_ABSTRACT_ORIGIN (copy) = DECL_ORIGIN (decl);
+2004-07-25 Richard Henderson <rth@redhat.com>
+
+ * decl.c (build_result_decl): Set DECL_ARTIFICIAL and DECL_IGNORED_P.
+
2004-07-23 Mike Stump <mrs@apple.com>
* boehm.c (set_bit): Improve type safety wrt unsignedness.
&& TYPE_PRECISION (restype) < TYPE_PRECISION (integer_type_node))
restype = integer_type_node;
result = build_decl (RESULT_DECL, NULL_TREE, restype);
+ DECL_ARTIFICIAL (result) = 1;
+ DECL_IGNORED_P (result) = 1;
DECL_CONTEXT (result) = fndecl;
DECL_RESULT (fndecl) = result;
}