aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2000-07-10 03:18:06 -0400
committerJason Merrill <jason@gcc.gnu.org>2000-07-10 03:18:06 -0400
commit9a6bb3f78c96de6dd512c1a8cd543384be304832 (patch)
treecc6a81da130c19fb3639d7984a1e0d0c001b990d /gcc
parent2bb5d995f27dcd3db33ecd983795ffd0654a2e5d (diff)
downloadgcc-9a6bb3f78c96de6dd512c1a8cd543384be304832.zip
gcc-9a6bb3f78c96de6dd512c1a8cd543384be304832.tar.gz
gcc-9a6bb3f78c96de6dd512c1a8cd543384be304832.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/c-decl.c2
-rw-r--r--gcc/tree.h53
3 files changed, 15 insertions, 49 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a9874be..df05c77 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/c-decl.c b/gcc/c-decl.c
index 8319f45..b2beebf 100644
--- a/gcc/c-decl.c
+++ b/gcc/c-decl.c
@@ -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)
diff --git a/gcc/tree.h b/gcc/tree.h
index bb6602c..39a94c7 100644
--- a/gcc/tree.h
+++ b/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