aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/java-tree.h
diff options
context:
space:
mode:
authorAlexandre Petit-Bianco <apbianco@cygnus.com>2001-01-15 08:01:22 +0000
committerAlexandre Petit-Bianco <apbianco@gcc.gnu.org>2001-01-15 00:01:22 -0800
commitdc08e603899b1ac1ea91a9ee641853b20521d61e (patch)
tree978174af2eae55529af123d6d167212203a572ad /gcc/java/java-tree.h
parentb9333bff58209a5669342bfcbb974cf92081f1e1 (diff)
downloadgcc-dc08e603899b1ac1ea91a9ee641853b20521d61e.zip
gcc-dc08e603899b1ac1ea91a9ee641853b20521d61e.tar.gz
gcc-dc08e603899b1ac1ea91a9ee641853b20521d61e.tar.bz2
All files with updated copyright when applicable.
2001-01-07 Alexandre Petit-Bianco <apbianco@cygnus.com> All files with updated copyright when applicable. * Make-lang.in (JVGENMAIN_OBS): Removed java/mangle.o. * class.c (mangle_class_field): Function removed. (append_gpp_mangled_type, mangle_static_field, mangle_field): Likewise. (utf8_cmp, cxx_keyword_p): Moved to lex.c. (build_class_ref): Call `java_mangle_class_field' instead of `mangle_class_field.' (build_dtable_decl): Rewritten to call `java_mangle_vtable.' (layout_class): Call `java_mangle_decl' instead of `mangle_static_field.' (cxx_keywords): Initialized static array moved to `lex.c.' (layout_class_method): Changed leading comment. Simplified to call `java_mangle_decl.' Local `ptr' moved in for loop body. * decl.c (lang_mark_tree): Mark field `package_list.' * java-tree.h (TYPE_PACKAGE_LIST): New macro. (struct lang_type): New field `package_list.' (unicode_mangling_length): Prototype removed. (append_gpp_mangled_name, append_gpp_mangled_classtype, emit_unicode_mangled_name): Likewise. (cxx_keyword_p): New prototype. (java_mangle_decl, java_mangle_class_field, java_mangle_class_field_from_string, java_mangle_vtable): Likewise. * jcf-parse.c (jcf_parse_source): Constify `file' argument to `build_expr_wfl.' * jvgenmain.c (main_method_prefix): Global variable removed. (main_method_suffix): Likewise. (do_mangle_classname): New function. (main): Call it. Format changed to accomodate new mangling scheme. * lex.c: (utf8_cmp): Conditionally prototyped. (cxx_keywords): Moved from class.c, conditionally defined. (utf8_cmp, cxx_keyword_p): Likewise. * mangle.c (obstack.h, ggc.h): Included. (mangle_field_decl): New function. (mangle_method_decl, mangle_type, mangle_pointer_type, mangle_array_type, mangle_record_type, find_compression_pointer_match, find_compression_array_match, find_compression_record_match, find_compression_array_template_match, set_type_package_list, entry_match_pointer_p, emit_compression_string, init_mangling, finish_mangling, compression_table_add, mangle_member_name): Likewise. (mangle_obstack): New global. (MANGLE_RAW_STRING): New macro. (unicode_mangling_length): Turned static. (append_unicode_mangled_name): Renamed from `emit_unicode_mangled_name.' Turned static. `mangle_obstack' replaces `obstack', removed from the parameter list. (append_gpp_mangled_name): Turned static. `mangle_obstack' replaces parameter `obstack', removed from the parameter list. Call `append_unicode_mangled_name' instead of `emit_unicode_mangled_name. (append_gpp_mangled_classtype): Removed. (compression_table, compression_next): New static variables. * parse.y (temporary_obstack): Extern declaration removed. (This is the new C++ ABI compatibility patch: http://gcc.gnu.org/ml/gcc-patches/2001-01/msg01225.html) From-SVN: r39031
Diffstat (limited to 'gcc/java/java-tree.h')
-rw-r--r--gcc/java/java-tree.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/gcc/java/java-tree.h b/gcc/java/java-tree.h
index 3d0793d4..ed6ee9a 100644
--- a/gcc/java/java-tree.h
+++ b/gcc/java/java-tree.h
@@ -1,6 +1,6 @@
/* Definitions for parsing and type checking for the GNU compiler for
the Java(TM) language.
- Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -892,6 +892,7 @@ struct lang_decl_var
/* The decl of the synthetic method `class$' used to handle `.class'
for non primitive types when compiling to bytecode. */
#define TYPE_DOT_CLASS(T) (TYPE_LANG_SPECIFIC(T)->dot_class)
+#define TYPE_PACKAGE_LIST(T) (TYPE_LANG_SPECIFIC(T)->package_list)
#define TYPE_PRIVATE_INNER_CLASS(T) (TYPE_LANG_SPECIFIC(T)->pic)
#define TYPE_PROTECTED_INNER_CLASS(T) (TYPE_LANG_SPECIFIC(T)->poic)
#define TYPE_HAS_FINAL_VARIABLE(T) (TYPE_LANG_SPECIFIC(T)->afv)
@@ -909,6 +910,7 @@ struct lang_type
needs to be invoked and generated when
compiling to bytecode to implement
<non_primitive_type>.class */
+ tree package_list; /* List of package names, progressive */
unsigned pic:1; /* Private Inner Class. */
unsigned poic:1; /* Protected Inner Class. */
unsigned afv:1; /* Has final variables */
@@ -1042,7 +1044,6 @@ extern void check_for_initialization PARAMS ((tree));
extern tree pushdecl_top_level PARAMS ((tree));
extern int alloc_class_constant PARAMS ((tree));
-extern int unicode_mangling_length PARAMS ((const char *, int));
extern void init_expr_processing PARAMS ((void));
extern void push_super_field PARAMS ((tree, tree));
extern void init_class_processing PARAMS ((void));
@@ -1060,9 +1061,6 @@ extern int push_type_0 PARAMS ((tree));
extern void push_type PARAMS ((tree));
extern void load_type_state PARAMS ((tree));
extern void add_interface PARAMS ((tree, tree));
-extern void append_gpp_mangled_name PARAMS ((struct obstack *, const char *, int));
-extern void append_gpp_mangled_classtype PARAMS ((struct obstack *, const char *));
-extern void emit_unicode_mangled_name PARAMS ((struct obstack *, const char *, int));
extern tree force_evaluation_order PARAMS ((tree));
extern int verify_constant_pool PARAMS ((struct JCF *));
extern void start_java_method PARAMS ((tree));
@@ -1111,6 +1109,12 @@ extern boolean java_hash_compare_tree_node PARAMS ((hash_table_key,
hash_table_key));
extern void java_check_methods PARAMS ((tree));
extern void init_jcf_parse PARAMS((void));
+
+extern int cxx_keyword_p PARAMS ((const char *, int));
+extern tree java_mangle_decl PARAMS ((struct obstack *, tree));
+extern tree java_mangle_class_field PARAMS ((struct obstack *, tree));
+extern tree java_mangle_class_field_from_string PARAMS ((struct obstack *, char *));
+extern tree java_mangle_vtable PARAMS ((struct obstack *, tree));
extern const char *lang_printable_name_wls PARAMS ((tree, int));
/* We use ARGS_SIZE_RTX to indicate that gcc/expr.h has been included