mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-12-13 13:54:05 +08:00
tree.h (STRIP_NOPS): Check for error_mark_node.
* tree.h (STRIP_NOPS): Check for error_mark_node. (STRIP_SIGN_NOPS, STRIP_TYPE_NOPS): Likewise. (dwarf2out_*): Remove duplicate declarations. * c-decl.c (duplicate_decls): Copy DECL_ABSTRACT_ORIGIN from DECL_ABSTRACT_ORIGIN, not DECL_ORIGIN. From-SVN: r34939
This commit is contained in:
parent
2bb5d995f2
commit
9a6bb3f78c
@ -1,3 +1,12 @@
|
||||
2000-07-09 Jason Merrill <jason@redhat.com>
|
||||
|
||||
* tree.h (STRIP_NOPS): Check for error_mark_node.
|
||||
(STRIP_SIGN_NOPS, STRIP_TYPE_NOPS): Likewise.
|
||||
(dwarf2out_*): Remove duplicate declarations.
|
||||
|
||||
* c-decl.c (duplicate_decls): Copy DECL_ABSTRACT_ORIGIN from
|
||||
DECL_ABSTRACT_ORIGIN, not DECL_ORIGIN.
|
||||
|
||||
2000-07-10 Gabriel Dos Reis <gdr@codesourcery.com>
|
||||
|
||||
* diagnostic.c (wrap_text): New function.
|
||||
|
@ -1965,7 +1965,7 @@ duplicate_decls (newdecl, olddecl, different_binding_level)
|
||||
DECL_SAVED_INSNS (newdecl) = DECL_SAVED_INSNS (olddecl);
|
||||
DECL_ARGUMENTS (newdecl) = DECL_ARGUMENTS (olddecl);
|
||||
if (DECL_INLINE (newdecl))
|
||||
DECL_ABSTRACT_ORIGIN (newdecl) = DECL_ORIGIN (olddecl);
|
||||
DECL_ABSTRACT_ORIGIN (newdecl) = DECL_ABSTRACT_ORIGIN (olddecl);
|
||||
}
|
||||
}
|
||||
if (different_binding_level)
|
||||
|
53
gcc/tree.h
53
gcc/tree.h
@ -350,10 +350,11 @@ extern void tree_class_check_failed PARAMS ((const tree, int,
|
||||
/* Given an expression as a tree, strip any NON_LVALUE_EXPRs and NOP_EXPRs
|
||||
that don't change the machine mode. */
|
||||
|
||||
#define STRIP_NOPS(EXP) \
|
||||
#define STRIP_NOPS(EXP) \
|
||||
while ((TREE_CODE (EXP) == NOP_EXPR \
|
||||
|| TREE_CODE (EXP) == CONVERT_EXPR \
|
||||
|| TREE_CODE (EXP) == NON_LVALUE_EXPR) \
|
||||
&& TREE_OPERAND (EXP, 0) != error_mark_node \
|
||||
&& (TYPE_MODE (TREE_TYPE (EXP)) \
|
||||
== TYPE_MODE (TREE_TYPE (TREE_OPERAND (EXP, 0))))) \
|
||||
(EXP) = TREE_OPERAND (EXP, 0);
|
||||
@ -364,6 +365,7 @@ extern void tree_class_check_failed PARAMS ((const tree, int,
|
||||
while ((TREE_CODE (EXP) == NOP_EXPR \
|
||||
|| TREE_CODE (EXP) == CONVERT_EXPR \
|
||||
|| TREE_CODE (EXP) == NON_LVALUE_EXPR) \
|
||||
&& TREE_OPERAND (EXP, 0) != error_mark_node \
|
||||
&& (TYPE_MODE (TREE_TYPE (EXP)) \
|
||||
== TYPE_MODE (TREE_TYPE (TREE_OPERAND (EXP, 0)))) \
|
||||
&& (TREE_UNSIGNED (TREE_TYPE (EXP)) \
|
||||
@ -376,6 +378,7 @@ extern void tree_class_check_failed PARAMS ((const tree, int,
|
||||
while ((TREE_CODE (EXP) == NOP_EXPR \
|
||||
|| TREE_CODE (EXP) == CONVERT_EXPR \
|
||||
|| TREE_CODE (EXP) == NON_LVALUE_EXPR) \
|
||||
&& TREE_OPERAND (EXP, 0) != error_mark_node \
|
||||
&& (TREE_TYPE (EXP) \
|
||||
== TREE_TYPE (TREE_OPERAND (EXP, 0)))) \
|
||||
(EXP) = TREE_OPERAND (EXP, 0);
|
||||
@ -2532,52 +2535,6 @@ extern tree invert_truthvalue PARAMS ((tree));
|
||||
|
||||
extern tree (*lang_type_promotes_to) PARAMS ((tree));
|
||||
|
||||
/* Interface of the DWARF2 unwind info support. */
|
||||
|
||||
/* Decide whether we want to emit frame unwind information for the current
|
||||
translation unit. */
|
||||
|
||||
extern int dwarf2out_do_frame PARAMS ((void));
|
||||
|
||||
/* Generate a new label for the CFI info to refer to. */
|
||||
|
||||
extern char *dwarf2out_cfi_label PARAMS ((void));
|
||||
|
||||
/* Entry point to update the canonical frame address (CFA). */
|
||||
|
||||
extern void dwarf2out_def_cfa PARAMS ((const char *, unsigned, long));
|
||||
|
||||
/* Add the CFI for saving a register window. */
|
||||
|
||||
extern void dwarf2out_window_save PARAMS ((const char *));
|
||||
|
||||
/* Add a CFI to update the running total of the size of arguments pushed
|
||||
onto the stack. */
|
||||
|
||||
extern void dwarf2out_args_size PARAMS ((const char *, long));
|
||||
|
||||
/* Entry point for saving a register to the stack. */
|
||||
|
||||
extern void dwarf2out_reg_save PARAMS ((const char *, unsigned, long));
|
||||
|
||||
/* Entry point for saving the return address in the stack. */
|
||||
|
||||
extern void dwarf2out_return_save PARAMS ((const char *, long));
|
||||
|
||||
/* Entry point for saving the return address in a register. */
|
||||
|
||||
extern void dwarf2out_return_reg PARAMS ((const char *, unsigned));
|
||||
|
||||
/* Output a marker (i.e. a label) for the beginning of a function, before
|
||||
the prologue. */
|
||||
|
||||
extern void dwarf2out_begin_prologue PARAMS ((void));
|
||||
|
||||
/* Output a marker (i.e. a label) for the absolute end of the generated
|
||||
code for a function definition. */
|
||||
|
||||
extern void dwarf2out_end_epilogue PARAMS ((void));
|
||||
|
||||
/* The language front-end must define these functions. */
|
||||
|
||||
/* Function of no arguments for initializing options. */
|
||||
@ -2910,7 +2867,7 @@ extern void dwarf2out_begin_prologue PARAMS ((void));
|
||||
code for a function definition. */
|
||||
|
||||
extern void dwarf2out_end_epilogue PARAMS ((void));
|
||||
|
||||
|
||||
/* Redefine abort to report an internal error w/o coredump, and
|
||||
reporting the location of the error in the source file. This logic
|
||||
is duplicated in rtl.h and tree.h because every file that needs the
|
||||
|
Loading…
Reference in New Issue
Block a user