8sa1-gcc/gcc/java
Mark Mitchell 92643fea93 Compute DECL_ASSEMBLER_NAME lazily.
* tree.h (DECL_ASSEMBLER_NAME): Compute it lazily.
	(DECL_ASSEMBLER_NAME_SET_P): New macro.
	(SET_DECL_ASSEMBLER_NAME): Likewise.
	(COPY_DECL_ASSEMBLER_NAME): Likewise.
	(set_decl_assembler_name): Declare.
	(lang_set_decl_assembler_name): Likewise.
	* tree.c (lang_set_decl_assembler_name): New variab.e
	(set_decl_assembler_name): New function.
	(init_obstacks): Set lang_set_decl_assembler_name.
	(build_decl): Don't set DECL_ASSEMBLER_NAME.
	* c-decl.c (duplicate_decls): Use SET_DECL_ASSEMBLER_NAME,
	COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
	where it's not necessary.
	(builtin_function): Likewise.
	(finish_decl): Likewise.
	* dbxout.c (dbxout_type_methods): Likewise.
	* ggc-common.c (ggc_mark_trees): Likewise.
	* profile.c (output_func_start_profiler): Likewise.
	* varasm.c (make_decl_rtl): Likewise.

	* class.c (get_vtable_decl): Use SET_DECL_ASSEMBLER_NAME,
	COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
	where it's not necessary.
	(add_method): Remove optimization involving comparison of
	DECL_ASSEMBLER_NAME.
	(build_vtbl_or_vbase_field): Use SET_DECL_ASSEMBLER_NAME,
	COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
	where it's not necessary.
	(check_methods): Likewise.
	(build_clone): Likewise.
	(built_vtt): Likewise.
	* cp-tree.h (DECL_NEEDED_P): Likewise.
	* decl.c (pushtag): Likewise.
	(duplicate_decls): Likewise.
	(pushdecl): Likewise.
	(builtin_function): Likewise.
	(build_library_fn_1): Set DECL_LANGUAGE for library functions.
	(build_cp_library_fn): Likewise.
	(maybe_commonize_var): Use SET_DECL_ASSEMBLER_NAME,
	COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
	where it's not necessary.
	(make_rtl_for_nonlocal_decl): Likewise.
	(cp_finish_decl): Likewise.
	(grokfndecl): Likewise.
	(grokvardecl): Likewise.
	(grokdeclarator): Likewise.
	(start_function): Likewise.
	(cp_missing_return_ok_p): Likewise.
	* decl2.c (grokclassfn): Likewise.
	(check_classfn): Likewise.
	(finish_static_data_member_decl): Likewise.
	(grokfield): Likewise.
	* error.c (GLOBAL_IORD_P): Remove.
	(dump_global_iord): Improve output.
	(dump_decl): Avoid using DECL_ASSEMBLER_NAME.
	* except.c (nothrow_libfn_p): Summarily reject any function not in
	namespace-scope.
	* init.c (build_java_class_ref): Don't explicitly set
	DECL_ASSEMBLER_NAME after calling mangle_decl.
	* mangle.c (mangle_decl_string): Handle extern "C" functions.
	(mangle_decl): Set the DECL_ASSEMBLER_NAME for the decl.
	* method.c (set_mangled_name_for_decl): Don't explicitly set
	DECL_ASSEMBLER_NAME after calling mangle_decl.
	(make_thunk): Explicitly set the DECL_ASSEMBLER_NAME and
	IDENTIFIER_GLOBAL_VALUE for the thunk.
	* pt.c (set_mangled_name_for_template_decl): Remove.
	(check_explicit_specialization): Don't use it.
	(looup_template_class): Don't set DECL_ASSEMBLER_NAME.
	(tsubst_friend_function): Likewise.
	(tsubst_decl): Likewise.
	(regenerate_decl_from_template): Use COPY_DECL_ASSEMBLER_NAME.
	* rtti.c (get_tinfo_decl): Use SET_DECL_ASSEMBLER_NAME,
	COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
	where it's not necessary.
	(tinfo_base_init): Likewise.
	(create_real_tinfo_var): Likewise.
	* search.c (looup_field_1): Likewise.
	* semantics.c (finish_named_return_value): Likewise.
	* tree.c (init_tree): Set lang_set_decl_assembler_name.

	* com.c (builtin_function): Use SET_DECL_ASSEMBLER_NAME.

	* class.c (build_class_ref): Use SET_DECL_ASSEMBLER_NAME.
	(layout_class): Likewise.
	(layout_class_method): Likewise.
	(emit_register_classes): Likewise.
	* decl.c (builtin_function): Likewise.
	(give_name_to_locals): Likewise.

From-SVN: r40642
2001-03-19 23:50:04 +00:00
..
.cvsignore gcj.texi: New file. 2001-01-17 23:14:11 +00:00
boehm.c boehm.c (mark_reference_fields): Change test to correctly detect bitmap overflow. 2000-12-15 17:35:03 +00:00
buffer.c
buffer.h
ChangeLog Compute DECL_ASSEMBLER_NAME lazily. 2001-03-19 23:50:04 +00:00
chartables.h Make-lang.in (JAVA_LEX_C): Added chartables.h. 2000-12-13 22:47:13 +00:00
check-init.c check-init.c (check_init): Fix TRY_FINALLY_EXPR logic. 2001-02-07 19:45:14 -08:00
class.c Compute DECL_ASSEMBLER_NAME lazily. 2001-03-19 23:50:04 +00:00
config-lang.in * config-lang.in (lang_requires): Define. 2001-03-07 22:43:25 +00:00
constants.c diagnostic.h (set_internal_error_function): Renamed. 2001-02-04 17:44:12 -05:00
convert.h
decl.c Compute DECL_ASSEMBLER_NAME lazily. 2001-03-19 23:50:04 +00:00
except.c
expr.c expr.c (build_instanceof): Check for arrays when trying fold to false. 2001-02-16 14:31:52 -08:00
gcj.texi Handle compiling multiple input files at once, and @FILE syntax. 2001-02-23 19:36:22 -08:00
gen-table.pl Make-lang.in (JAVA_LEX_C): Added chartables.h. 2000-12-13 22:47:13 +00:00
gjavah.c g77spec.c (lang_specific_driver): Update copyright year to 2001. 2001-01-12 17:28:23 +00:00
java-except.h
java-opcodes.h
java-tree.def
java-tree.h Fixes to process to command-line .class files in two passes. See ChangeLog. 2001-03-19 13:57:37 -08:00
javaop.def
javaop.h
jcf-depend.c cpp.texi: Update for -MP. 2001-01-05 07:50:24 +00:00
jcf-dump.c g77spec.c (lang_specific_driver): Update copyright year to 2001. 2001-01-12 17:28:23 +00:00
jcf-io.c Various fixes to allow compiling a compressed .jar/.zip archive. 2001-01-21 13:50:37 -08:00
jcf-parse.c jcf-parse.c (load_inner_classes): Check CLASS_LOADED_P before trying to load an inner class. 2001-03-19 14:00:29 -08:00
jcf-path.c Top level ChangeLog: 2000-12-09 21:32:49 -08:00
jcf-reader.c class.c (layout_class): Don't lay the superclass out if it's already being laid out. 2001-01-24 00:08:36 -08:00
jcf-write.c jcf-write.c (generate_bytecode_insns): Handle emitting iinc when result is is needed (target is STACK_TARGET). 2001-03-17 12:44:24 -08:00
jcf.h Fixes to process to command-line .class files in two passes. See ChangeLog. 2001-03-19 13:57:37 -08:00
jv-scan.c diagnostic.h (set_internal_error_function): Renamed. 2001-02-04 17:44:12 -05:00
jvgenmain.c [multiple changes] 2001-02-09 13:34:57 -08:00
jvspec.c jvspec.c (lang_specific_driver): Check for .zip and .jar files. 2001-03-19 08:41:59 -08:00
keyword.gperf lex.c (yylex): Added STRICT_TK case. 2000-11-20 22:37:22 +00:00
keyword.h lex.c (yylex): Added STRICT_TK case. 2000-11-20 22:37:22 +00:00
lang-options.h Handle compiling multiple input files at once, and @FILE syntax. See ChangeLog. 2001-02-23 19:28:39 -08:00
lang-specs.h gcc.c, [...]: Add zero initializer for cpp_spec field to all array elements. 2001-03-02 01:03:47 +00:00
lang.c Handle compiling multiple input files at once, and @FILE syntax. See ChangeLog. 2001-02-23 19:28:39 -08:00
lex.c Handle compiling multiple input files at once, and @FILE syntax. See ChangeLog. 2001-02-23 19:28:39 -08:00
lex.h Make-lang.in (JAVA_LEX_C): Added chartables.h. 2000-12-13 22:47:13 +00:00
Make-lang.in Makefile.in (install-common): Don't depend on installdirs here. 2001-02-15 22:54:02 -05:00
mangle_name.c mangle_name.c (append_unicode_mangled_name): Emit _' or U' outside of the `__U' sequence too. 2001-02-09 12:29:08 -08:00
mangle.c mangle.c (mangle_record_type): Rename 'from_pointer' argument to 'for_pointer'. 2001-03-15 22:06:12 +00:00
parse-scan.y jv-scan.c (help): Document --complexity. 2000-11-20 22:56:14 +00:00
parse.h parse.h (JDEP_SOLV): Removed. 2001-03-17 12:25:10 -08:00
parse.y Fixes to process to command-line .class files in two passes. See ChangeLog. 2001-03-19 13:57:37 -08:00
typeck.c Brad's -ffast-math breakup. 2001-03-07 11:29:41 -08:00
verify.c verify.c (verify_jvm_instructions): Better error msgs for dup. 2001-03-15 20:16:54 -08:00
xref.c
xref.h
zextract.c zextract.c (read_zip_archive): Read file_offset before writing zipd and consequently clobbering the header... 2001-01-29 00:43:46 -08:00
zipfile.h Fixes to process to command-line .class files in two passes. See ChangeLog. 2001-03-19 13:57:37 -08:00