summaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog9
-rw-r--r--gcc/cp/class.c2
-rw-r--r--gcc/cp/cp-lang.c2
-rw-r--r--gcc/cp/cp-tree.h1
-rw-r--r--gcc/cp/lex.c4
-rw-r--r--gcc/cp/method.c2
6 files changed, 16 insertions, 4 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index d2c80e0302f..410479c0d22 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,12 @@
+2002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * class.c (build_clone): Update.
+ * cp-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
+ * cp-tree.h (cxx_dup_lang_specific_decl): New.
+ * lex.c (copy_lang_decl): Rename cxx_dup_lang_specific_decl.
+ (copy_decl): Update.
+ * method.c (make_thunk): Update.
+
2002-02-27 Zack Weinberg <zack@codesourcery.com>
* decl2.c: Delete traditional-mode-related code copied from
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index 40702867405..9e3c110a2e5 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -4038,7 +4038,7 @@ build_clone (fn, name)
for (parms = DECL_ARGUMENTS (clone); parms; parms = TREE_CHAIN (parms))
{
DECL_CONTEXT (parms) = clone;
- copy_lang_decl (parms);
+ cxx_dup_lang_specific_decl (parms);
}
}
diff --git a/gcc/cp/cp-lang.c b/gcc/cp/cp-lang.c
index c40330bc319..800a8701de2 100644
--- a/gcc/cp/cp-lang.c
+++ b/gcc/cp/cp-lang.c
@@ -50,6 +50,8 @@ static HOST_WIDE_INT cxx_get_alias_set PARAMS ((tree));
#define LANG_HOOKS_EXPAND_CONSTANT cplus_expand_constant
#undef LANG_HOOKS_SAFE_FROM_P
#define LANG_HOOKS_SAFE_FROM_P c_safe_from_p
+#undef LANG_HOOKS_DUP_LANG_SPECIFIC_DECL
+#define LANG_HOOKS_DUP_LANG_SPECIFIC_DECL cxx_dup_lang_specific_decl
#undef LANG_HOOKS_PRINT_STATISTICS
#define LANG_HOOKS_PRINT_STATISTICS cxx_print_statistics
#undef LANG_HOOKS_PRINT_XNODE
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index 65811323751..73aed25d5bf 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -3922,6 +3922,7 @@ extern tree build_java_class_ref PARAMS ((tree));
/* in input.c */
/* in lex.c */
+extern void cxx_dup_lang_specific_decl PARAMS ((tree));
extern tree make_pointer_declarator PARAMS ((tree, tree));
extern tree make_reference_declarator PARAMS ((tree, tree));
extern tree make_call_declarator PARAMS ((tree, tree, tree, tree));
diff --git a/gcc/cp/lex.c b/gcc/cp/lex.c
index 885002a9793..d338632bc32 100644
--- a/gcc/cp/lex.c
+++ b/gcc/cp/lex.c
@@ -1516,7 +1516,7 @@ retrofit_lang_decl (t)
}
void
-copy_lang_decl (node)
+cxx_dup_lang_specific_decl (node)
tree node;
{
int size;
@@ -1548,7 +1548,7 @@ copy_decl (decl)
tree copy;
copy = copy_node (decl);
- copy_lang_decl (copy);
+ cxx_dup_lang_specific_decl (copy);
return copy;
}
diff --git a/gcc/cp/method.c b/gcc/cp/method.c
index 52a6a8cf59d..35e40ebbac6 100644
--- a/gcc/cp/method.c
+++ b/gcc/cp/method.c
@@ -302,7 +302,7 @@ make_thunk (function, delta, vcall_index)
{
thunk = build_decl (FUNCTION_DECL, thunk_id, TREE_TYPE (func_decl));
DECL_LANG_SPECIFIC (thunk) = DECL_LANG_SPECIFIC (func_decl);
- copy_lang_decl (func_decl);
+ cxx_dup_lang_specific_decl (func_decl);
SET_DECL_ASSEMBLER_NAME (thunk, thunk_id);
DECL_CONTEXT (thunk) = DECL_CONTEXT (func_decl);
TREE_READONLY (thunk) = TREE_READONLY (func_decl);