summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2003-02-06 19:01:24 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2003-02-06 19:01:24 +0000
commit355b1afdd36cfc1da89d01fa9b36daa6ea43641b (patch)
tree74518b1eef03e5da93d316d0a16a9fa1a4a156c7
parentf30208dc296fff25eaca7377749c55c5ddfba6e4 (diff)
downloadppe42-gcc-355b1afdd36cfc1da89d01fa9b36daa6ea43641b.tar.gz
ppe42-gcc-355b1afdd36cfc1da89d01fa9b36daa6ea43641b.zip
Reverted erroneously applied patch
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@62493 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/java/except.c33
1 files changed, 4 insertions, 29 deletions
diff --git a/gcc/java/except.c b/gcc/java/except.c
index dcfefb7df23..9ad41a658ba 100644
--- a/gcc/java/except.c
+++ b/gcc/java/except.c
@@ -324,35 +324,10 @@ prepare_eh_table_type (tree type)
else if (is_compiled_class (type))
exp = build_class_ref (type);
else
- {
- tree ctype = make_node (RECORD_TYPE);
- tree field = NULL_TREE;
- tree cinit, decl;
- tree utf8_ref = build_utf8_ref (DECL_NAME (TYPE_NAME (type)));
- char buf[64];
- sprintf (buf, "%s_ref",
- IDENTIFIER_POINTER (DECL_NAME (TREE_OPERAND (utf8_ref, 0))));
- PUSH_FIELD (ctype, field, "dummy", ptr_type_node);
- PUSH_FIELD (ctype, field, "utf8", utf8const_ptr_type);
- FINISH_RECORD (ctype);
- START_RECORD_CONSTRUCTOR (cinit, ctype);
- PUSH_FIELD_VALUE (cinit, "dummy", integer_minus_one_node);
- PUSH_FIELD_VALUE (cinit, "utf8", utf8_ref);
- FINISH_RECORD_CONSTRUCTOR (cinit);
- TREE_CONSTANT (cinit) = 1;
- decl = build_decl (VAR_DECL, get_identifier (buf), utf8const_type);
- TREE_STATIC (decl) = 1;
- DECL_ARTIFICIAL (decl) = 1;
- DECL_IGNORED_P (decl) = 1;
- TREE_READONLY (decl) = 1;
- TREE_THIS_VOLATILE (decl) = 0;
- DECL_INITIAL (decl) = cinit;
- layout_decl (decl, 0);
- pushdecl (decl);
- rest_of_decl_compilation (decl, (char*) 0, global_bindings_p (), 0);
- make_decl_rtl (decl, (char*) 0);
- exp = build1 (ADDR_EXPR, utf8const_ptr_type, decl);
- }
+ exp = fold (build
+ (PLUS_EXPR, ptr_type_node,
+ build_utf8_ref (DECL_NAME (TYPE_NAME (type))),
+ size_one_node));
return exp;
}
OpenPOWER on IntegriCloud