Commit Graph

1288 Commits

Author SHA1 Message Date
Per Bothner
5295f849ca re PR java/5812 (GCJ 3.0.2 segfaults on class file from Sun JDK 1.3 compiler)
Fix for PR java/5812.
	* expr.c (build_java_jsr):  Take pc arguments, and do lookup_label
	gere instead of in JSR macro.  Likewise with load_type_state call.
	Do the latter on if the return_pc has been verified (the jsr returns).
	(JSR):  No just call build_java_jsr.

From-SVN: r50455
2002-03-08 12:59:52 -08:00
Jeff Sturm
d3e1c36d08 Make-lang.in (JAVA_TARGET_INSTALL_NAME): Define.
* java/Make-lang.in (JAVA_TARGET_INSTALL_NAME): Define.
	(java.install-common): Link native driver to
	JAVA_TARGET_INSTALL_NAME.

From-SVN: r50411
2002-03-07 20:28:49 +00:00
David Billinghurst
6d6b5cd7b0 builtins.c (cos_builtin): method_return_type ATTRIBUTE_UNUSED
2002-03-05  David Billinghurst <David.Billinghurst@riotinto.com>

	* builtins.c(cos_builtin): method_return_type ATTRIBUTE_UNUSED
	* builtins.c(sin_builtin): Likewise
	* builtins.c(sqrt_builtin): Likewise

From-SVN: r50304
2002-03-05 05:16:15 +00:00
Zack Weinberg
ba31d94ee6 emit-rtl.c, [...]: Remove all #ifndef REAL_ARITHMETIC blocks...
* emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
	print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
	tree.c, config/m68k/m68k.c, f/com.c, f/target.h, java/expr.c,
	java/jcf-parse.c, java/lex.c:
	Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
	REAL_ARITHMETIC blocks unconditional.  Delete some further
	#ifdef blocks predicated on REAL_ARITHMETIC.
	* flags.h, toplev.c: Delete remaining references to
	flag_pretend_float.

	* doc/invoke.texi: Remove documentation of -fpretend-float.
	* doc/tm.texi: Describe the various REAL_* macros as provided by
	real.h, not by the target configuration files.

	* config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
	config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
	config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
	config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
	config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
	config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
	config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
	config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
	config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
	config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
	config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
	config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
	config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
	config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
	config/xtensa/xtensa.h:
	Do not define, undefine, or mention in comments any of
	REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
	REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
	REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
	REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
	REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
	REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
	REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
	REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
	REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.

From-SVN: r50263
2002-03-03 21:10:09 +00:00
Kaveh R. Ghazi
ca7558fcc6 attribs.c (init_attributes, [...]): Use ARRAY_SIZE in lieu of explicit sizeof/sizeof.
* attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
	lieu of explicit sizeof/sizeof.
	* i386.c (override_options, ix86_init_mmx_sse_builtins,
	ix86_expand_builtin): Likewise.
	* mips.c (mips_add_gc_roots): Likewise.
	* mmix.c (mmix_output_condition): Likewise.
	* rs6000.c (rs6000_override_options, altivec_expand_builtin,
	altivec_init_builtins): Likewise.
	* sparc.c (mark_ultrasparc_pipeline_state): Likewise.
	* cppexp.c (Nsuff, parse_number): Likewise.
	* cppinit.c (builtin_array_end): Likewise.
	* gcc.c (n_default_compilers, process_command): Likewise.
	* genpreds.c (output_predicate_decls): Likewise.
	* ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
	* lcm.c (N_ENTITIES): Likewise.
	* stor-layout.c (set_sizetype): Likewise.

ada:
	* utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
	lieu of explicit sizeof/sizeof.

cp:
	* decl.c (cxx_init_decl_processing): Use ARRAY_SIZE in lieu of
	explicit sizeof/sizeof.
	* decl2.c (cxx_decode_option): Likewise.
	* lex.c (init_reswords, REDUCE_LENGTH, TOKEN_LENGTH): Likewise.

java:
	* class.c (init_class_processing): Use ARRAY_SIZE in lieu of
	explicit sizeof/sizeof.
	* decl.c (java_init_decl_processing): Likewise.
	* jcf-parse.c (init_jcf_parse): Likewise.
	* parse.y (init_src_parse): Likewise.

From-SVN: r50255
2002-03-03 14:07:39 +00:00
Per Bothner
2a85660dc2 Make --CLASSPATH by a synonym for --classpath and -classpath.
Implement --bootclasspath.

From-SVN: r50247
2002-03-03 00:35:11 -08:00
Alexandre Petit-Bianco
4f647d52ec Fix for PR java/5758, java/5632:
2002-02-28  Alexandre Petit-Bianco  <apbianco@redhat.com>

	Fix for PR java/5758, java/5632:
	* jcf-parse.c (load_class): Renamed local variable, consider `.' an
	inner-class separator too.
	* parse.y (do_resolve_class): New local `decl_result.'
	Progressively build a name for what can have been loaded.

From-SVN: r50228
2002-03-02 09:58:05 -08:00
Bryce McKinlay
2060fd4ca6 * expr.c (build_java_arraystore_check): Fix formatting.
From-SVN: r50167
2002-02-28 23:27:09 +00:00
Bryce McKinlay
022dcc4605 expr.c (java_array_data_offset): Removed function.
* expr.c (java_array_data_offset): Removed function.
	(JAVA_ARRAY_LENGTH_OFFSET): Removed macro.
	(build_java_array_length_access): Obtain "length" value using a
	COMPONENT_REF, instead of INDIRECT_REF and arithmetic.
	(build_java_arrayaccess): Correct comment. Access "data" using a
	COMPONENT_REF, and return an ARRAY_REF instead of an INDIRECT_REF.
	(build_java_arraystore_check): New function.
	(expand_java_arraystore): Use build_java_arraystore_check.
	* parse.y (patch_assignment): Simplify code to insert a store check
	when lvalue is an ARRAY_REF. Use build_java_arraystore_check.
	* check-init.c (check_init): Update to reflect that an array length
	access is now a COMPONENT_REF.
	* gcj.texi (Code Generation): Improve documentation of
	-fno-bounds-check. Add documentation for -fno-store-check.
	* java-tree.h (flag_store_check): Declare.
	(build_java_arraystore_check): Declare.
	* lang.c (flag_store_check): Initialize to 1.
	(lang_f_options): Add store-check option.
	* jvspec.c: Don't pass store-check option to jvgenmain.
	* lang-options.h: Add help string for -fno-store-check.

From-SVN: r50129
2002-02-28 11:40:29 +00:00
Neil Booth
63e1b1c4b0 Makefile.in (integrate.o): Update.
* Makefile.in (integrate.o): Update.
	* c-decl.c (copy_lang_decl): Rename.
	* c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
	* integrate.c: Include langhooks.h.
	(copy_decl_for_inlining): Update to use langhook.
	* langhooks-def.h (lhd_do_nothing_t,
	LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
	(LANG_HOOKS_INITIALIZER): Update.
	* langhooks.c (lhd_do_nothing_t): New.
	* langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
	* tree.h (copy_lang_decl): Remove.
ada:
	* misc.c (copy_lang_decl): Remove.
cp:
	* 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.
f:
	* com.c (copy_lang_decl): Delete.
java:
	* decl.c (copy_lang_decl): Rename java_dup_lang_specific_decl.
	* java-tree.h (java_dup_lang_specific_decl): New.
	* lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
objc:
	* objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.

From-SVN: r50122
2002-02-28 07:39:44 +00:00
Zack Weinberg
f458d1d5d7 c-common.c, [...]: Delete code implementing -traditional mode.
* c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
	c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
	cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
	builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
	gcc.c, toplev.c: Delete code implementing -traditional mode.

	* ada/misc.c, ch/ch-tree.h, ch/decl.c, cp/decl2.c, f/com.c,
	f/lex.c, f/top.c, java/builtins.c, java/decl.c: Delete
	traditional-mode-related code copied from the C front end
	but not used, or used only to permit the compiler to link.

	* doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
	doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
	Document removal of -traditional mode for compilation, and
	remove documentation only relevant to that mode.

	* config/nextstep.h, config/ptx4.h, config/svr4.h,
	config/convex/convex.h, config/d30v/d30v.h,
	config/i386/dgux.h, config/i386/osf1elf.h,
	config/i386/osfelf.h, config/i386/osfrose.h,
	config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
	config/m68k/hp310.h, config/m88k/dgux.h,
	config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
	config/m88k/m88k.h, config/m88k/openbsd.h,
	config/mips/abi64.h, config/mips/osfrose.h,
	config/mips/svr4-5.h, config/mips/svr4-t.h,
	config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
	config/stormy16/stormy16.h: Remove all references to
	-traditional from target specs.  Delete all mention of the
	no-longer-necessary TRADITIONAL_RETURN_FLOAT macro.  Also
	delete a couple of commented-out definitions of
	DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
	to -traditional.

	* system.h: Poison TRADITIONAL_RETURN_FLOAT.
	* doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.

	* testsuite/gcc.c-torture/execute/920730-1t.c,
	testsuite/gcc.c-torture/execute/920730-1t.x,
	testsuite/gcc.dg/ext-glob.c: Delete test cases, only relevant
	to -traditional.

From-SVN: r50110
2002-02-27 18:48:07 +00:00
Tom Tromey
d2fb532900 re PR java/2369 (--main should check the following symbol)
Fix for PR java/2369:
	* jvspec.c (verify_class_name): New function.
	(lang_specific_driver): Call it.
	(JAVA_START_CHAR_P): New macro.
	(JAVA_PART_CHAR_P): Likewise.

From-SVN: r49981
2002-02-23 00:42:13 +00:00
Per Bothner
dcb3680413 class.c: Change vtable to be more compatible with g++ v3 abi.
*  class.c:  Change vtable to be more compatible with g++ v3 abi.
	(get_dispatch_table):  Prepend offset-to-top (always 0) and
	type_info pointer (currently unimplemented hence NULL) to vtable.
	Specifically, prepend offset-to-top and typeinfo ptr (currently null).
	(make_class_data):  Variable dtable_start_offset is sizeof 2 pointers.
	Adjust vtable pointers by dtable_start_offse - i.e. skip new words.
	(build_dtable_decl):  Add declarations for new fields.

From-SVN: r49978
2002-02-22 15:59:39 -08:00
Per Bothner
453c182f82 parse.y (patch_method_invocation): Set CAN_COMPLETE_NORMALLY on call to finit$ (otherwise generate_bytecode_insns...
* parse.y (patch_method_invocation): Set CAN_COMPLETE_NORMALLY on call
	to finit$ (otherwise generate_bytecode_insns drops it). However, we
	don't need to set it on the COMPOUND_EXPR - the caller does that.

From-SVN: r49966
2002-02-22 05:57:43 -08:00
Nic Ferrier
3babb2e39c gcj.texi: Option --classpath' becomes --CLASSPATH.'Option `--CLASSPATH' becomes...
* gcj.texi: Option `--classpath' becomes `--CLASSPATH.'Option
 	`--CLASSPATH' becomes `--classpath.'
	* gjavah.c: Likewise.
	* jcf-dump.c: Likewise.
	* lang-options.h: Likewise.
	* lang.c: Likewise.
	* jcf-path.c: Updated comment.
	(jcf_path_classpath_arg): Renamed `jcf_path_CLASSPATH_arg.'
	(jcf_path_CLASSPATH_arg): Renamed `jcf_path_classpath_arg.'
	* jcf.h (jcf_path_CLASSPATH_arg): Ditto.
	(jcf_path_CLASSPATH_arg): Ditto.
	(classpath_u): Updated leading comment.

From-SVN: r49922
2002-02-20 23:22:32 +00:00
Nic Ferrier
db444fbe8e gcj.texi: Option --classpath' becomes --CLASSPATH.'Option `--CLASSPATH' becomes...
* gcj.texi: Option `--classpath' becomes `--CLASSPATH.'Option
 	`--CLASSPATH' becomes `--classpath.'
        * gjavah.c: Likewise.
        * jcf-dump.c: Likewise.
        * lang-options.h: Likewise.
        * lang.c: Likewise.
        * jcf-path.c: Updated comment.
        (jcf_path_classpath_arg): Renamed `jcf_path_CLASSPATH_arg.'
        (jcf_path_CLASSPATH_arg): Renamed `jcf_path_classpath_arg.'
        * jcf.h (jcf_path_CLASSPATH_arg): Ditto.
        (jcf_path_CLASSPATH_arg): Ditto.
        (classpath_u): Updated leading comment.

From-SVN: r49918
2002-02-20 23:12:25 +00:00
Per Bothner
9fe2cc0556 builtins.c (check_for_builtin): New function.
* builtins.c (check_for_builtin):  New function.
	(build_call_or_builtin):  Remove.
	* java-tree.h:  Update accordingly.
	* expr.c (expand_invoke):  Use build + check_for_builtin instead
	of build_call_or_builtin.
	* parse.y (patch_invoke):  Likewise.  This avoids needlessly creating
	a new CALL_EXPR node, which means we don't lose the CALL_USING_SUPER
	flag (which had caused jcf-write to incorrectly emit invokevirtual).

From-SVN: r49909
2002-02-20 11:53:49 -08:00
Tom Tromey
6b6294f118 java-tree.h (TYPE_STRICTFP): New macro.
* java-tree.h (TYPE_STRICTFP): New macro.
	(struct lang_type) [strictfp]: New field.
	(CLASS_STRICTFP): New macro.
	(METHOD_STRICTFP): New macro.
	(struct lang_decl) [strictfp]: New field.
	* parse.y (method_header): Disallow strictfp constructor or
	abstract method.
	(STRICT_TK): Move before MODIFIER_TK.
	* parse.h (CLASS_MODIFIERS): Added ACC_STRICT.
	(METHOD_MODIFIERS): Likewise.
	(INTERFACE_MODIFIERS): Likewise.
	* jcf-write.c (get_access_flags): Likewise.
	* class.c (set_class_decl_access_flags): Recognize ACC_STRICT.
	(add_method_1): Likewise.
	(get_access_flags_from_decl): Likewise.
	* jcf-dump.c (print_access_flags): Print in standard order.  Also,
	recognize strictfp flag.
	* jcf.h (ACC_STRICT): New define.

From-SVN: r49834
2002-02-18 04:55:07 +00:00
David Billinghurst
5667c33d01 class.c (build_utf8_ref): Move declaration of decl_size
2002-02-12  David Billinghurst <Davod.Billinghurst@riotinto.com>

	* class.c(build_utf8_ref): Move declaration of decl_size

From-SVN: r49688
2002-02-11 22:53:09 +00:00
Tom Tromey
5d65aeb7e4 gcj.texi (Input Options): --CLASSPATH does not suppress system path.
* gcj.texi (Input Options): --CLASSPATH does not suppress system
	path.

From-SVN: r49588
2002-02-07 19:39:27 +00:00
Anthony Green
10c459437e output.h (SECTION_OVERRIDE): Define.
2002-02-04  Anthony Green  <green@redhat.com>

	* output.h (SECTION_OVERRIDE): Define.
	* varasm.c (named_section): Obey SECTION_OVERRIDE.

java:
2002-02-04  Anthony Green  <green@redhat.com>

	* class.c (build_utf8_ref): Put UTF-8 constants into merged
	sections if available.

From-SVN: r49469
2002-02-04 03:03:44 +00:00
Bryce McKinlay
14b7105512 * parse.y (java_expand_classes): Fix typo in static field loop.
From-SVN: r49468
2002-02-04 02:38:16 +00:00
Richard Henderson
f0c75752a1 class.c (add_field): Mark static fields external.
* class.c (add_field): Mark static fields external.
        (build_class_ref): Remove redundant set.
        * parse.y (java_expand_classes): Mark static fields of classes
        to be compiled as local.
        * jcf-parse.c (parse_class_file): Likewise.

From-SVN: r49458
2002-02-02 22:23:37 -08:00
Nic Ferrier
d4ad1c907b added change for gcj manual.
From-SVN: r49418
2002-02-01 23:46:11 +00:00
Nic Ferrier
ca6b827f15 * gcj.texi (About CNI): New node.
From-SVN: r49417
2002-02-01 23:43:35 +00:00
Craig Rodrigues
58fae3f7ae re PR java/5080 (gcc/java/jcf-parse.c:908: `LC_CTYPE' undeclared (first use in this function))
2002-02-01  Craig Rodrigues  <rodrigc@gcc.gnu.org>

        PR java/5080
        * jcf-parse.c : Check for HAVE_LOCALE_H before using
        setlocale() with LC_CTYPE as a parameter.
        * jv-scan.c: Same.

From-SVN: r49410
2002-02-01 21:07:31 +00:00
Joseph Myers
8512bbd752 gccbug.in: Follow GNU Coding Standards for --version.
gcc:
	* gccbug.in: Follow GNU Coding Standards for --version.  Use GCC
	version rather than GNATS version in --version output.

gcc/f:
	* g77spec.c (lang_specific_driver): Follow GNU Coding Standards
	for --version.

gcc/java:
	* gjavah.c (version), jcf-dump.c (version), jv-scan.c (version):
	Follow GNU Coding Standards for --version.

libjava:
	* gnu/gcj/convert/Convert.java: Only include one copyright year in
	--version output.

From-SVN: r49372
2002-01-31 19:36:28 +00:00
Tom Tromey
adc8cb5dea expr.c (build_jni_stub): Ensure storage for `meth' is generated.
* expr.c (build_jni_stub): Ensure storage for `meth' is
	generated.
	* parse.y (java_complete_expand_methods): Set
	current_function_decl before building JNI stub.

From-SVN: r49286
2002-01-28 16:52:27 +00:00
Tom Tromey
45a2b4f74e reverted accidental checkin
From-SVN: r49272
2002-01-27 22:30:30 +00:00
Andreas Tobler
1d8478d79a builtins.c (sqrt_builtin): Use BUILT_IN_SQRT, not BUILT_IN_SQRTF.
2002-01-26 Andreas Tobler <a.tobler@schweiz.ch>

	* gcc/java/builtins.c (sqrt_builtin): Use BUILT_IN_SQRT, not
	BUILT_IN_SQRTF.

From-SVN: r49271
2002-01-27 22:28:42 +00:00
Tom Tromey
fec763fcfd decl.c (java_init_decl_processing): Use add_predefined_file.
* decl.c (java_init_decl_processing): Use add_predefined_file.
	Predefine RawData.java.
	(predef_filenames): Removed.
	(java_init_decl_processing): Don't register predef_filenames.
	* jcf-parse.c (add_predefined_file): New function.
	(predefined_filename_p): Rewrote.
	(predefined_filename_p): No longer static.
	* decl.c (java_init_decl_processing): Call initialize_builtins.
	* Make-lang.in (JAVA_OBJS): Added builtins.o.
	(java/builtins.o): New target.
	* builtins.c: New file.
	* parse.y (patch_invoke): Use build_call_or_builtin.
	* java-tree.h (build_call_or_builtin): Declare.
	(initialize_builtins): Declare.
	(java_set_exception_lang_code): Removed unused declaration.
	(PREDEF_FILENAMES_SIZE): Removed.
	(java_tree_index): Added JTI_PREDEF_FILENAMES.
	(predef_filenames): New define.
	(add_predefined_file): Declare.
	(predefined_filename_p): Declare.
	* expr.c (expand_invoke): Use build_call_or_builtin.

From-SVN: r49091
2002-01-22 20:23:46 +00:00
Kaveh R. Ghazi
cc586d706a * parse.y (patch_switch_statement): Fix format specifier.
From-SVN: r49084
2002-01-22 19:04:09 +00:00
Tom Tromey
0df2959645 More for PR java/5365:
* gjavah.c (print_stub_or_jni): Cause exception to be thrown by
	default.
	(process_file): Generate include for
	java.lang.UnsupportedOperationExceptions.

From-SVN: r48928
2002-01-16 21:18:36 +00:00
Andreas Jaeger
e1886ae0ba * .cvsignore: Add man pages.
From-SVN: r48911
2002-01-16 17:08:54 +01:00
Tom Tromey
9c874875a1 re PR java/5365 (gcjh -stubs does not include correct files)
Fix for PR java/5365:
	* gjavah.c (process_file): Turn class name into a file name.

From-SVN: r48891
2002-01-16 00:27:05 +00:00
Tom Tromey
33b16473de For PR libgcj/5303:
* Make-lang.in (java.install-man): Handle jv-convert man page.
	(java.generated-manpages): Added jv-convert.1.
	(java.uninstall): Remove jv-convert.1.
	(java.maintainer-clean): Likewise.
	($(srcdir)/java/jv-convert.1): New target.
	* gcj.texi (Top): Link to jv-convert node.
	(Individual utilities): Likewise.
	(Invoking jv-convert): New node.

From-SVN: r48889
2002-01-16 00:19:57 +00:00
Matthias Klose
707635f9e6 gcj.texi: Fix whitespace and formatting errors in the synopsis of the man pages.
* gcj.texi: Fix whitespace and formatting errors in the
	synopsis of the man pages. Update copyright.

From-SVN: r48850
2002-01-14 22:05:44 +00:00
Tom Tromey
e6a5e46287 For PR libgcj/5303:
* Make-lang.in (java.install-man): Handle jv-convert man page.
	(java.generated-manpages): Added jv-convert.1.
	(java.uninstall): Remove jv-convert.1.
	(java.maintainer-clean): Likewise.
	($(srcdir)/java/jv-convert.1): New target.
	* gcj.texi (Top): Link to jv-convert node.
	(Individual utilities): Likewise.
	(Invoking jv-convert): New node.

From-SVN: r48844
2002-01-14 20:40:08 +00:00
Jeff Sturm
0b0d4c5b3a jcf-parse.c (get_constant): Don't swap lo/hi for big endian targets when HOST_BITS_PER_WIDE_INT >= 64.
* jcf-parse.c (get_constant): Don't swap lo/hi for big
	endian targets when HOST_BITS_PER_WIDE_INT >= 64.

Co-Authored-By: Martin Kahlert <martin.kahlert@infineon.com>

From-SVN: r48786
2002-01-12 00:01:41 +00:00
Graham Stott
c0b65ff15c Fix date in last entry.
From-SVN: r48578
2002-01-06 08:40:36 +00:00
Graham Stott
79ab76fdf0 class.c (compile_resource_file): Update copyright date.
* class.c (compile_resource_file): Update copyright date.
	Constify filename parameter.
	(java-tree.h): Update copyright date.
	(compile_resource_file): Constify filename parameter.

From-SVN: r48577
2002-01-06 08:38:55 +00:00
Graham Stott
37b310124a class.c (compile_resource_file): Update copyright date.
* class.c (compile_resource_file): Update copyright date.
        Constify filename parameter.
        java-tree.h: Update copyright date.
        (compile_resource_file): Constify filename parameter.

From-SVN: r48503
2002-01-03 07:50:49 +00:00
Graham Stott
22e85ed463 jcf-parse.c: Update copyright date.
* gcc/jcf-parse.c: Update copyright date.
        (yyparse): Constify resource_filename.

From-SVN: r48500
2002-01-03 05:47:27 +00:00
Graham Stott
b9daac3192 tree.h: Update copyright date.
* tree.h: Update copyright date.
        (IS_EXPR_CODE_CLASS): Add parenthesis.
        (TREE_SET_CODE): Add whitespace.
        (TREE_CHECK): Add parenthesis.
        (TREE_CLASS_CODE): Add parenthesis and wrap long line.
        (CST_OR_CONSTRUCTOR_CHECK):
        (EXPR_CHECK): Add parenthis, whitespace and wrap line.
        (TREE_SYMBOL_REFERENCED): Whitespace.
        (INT_CST_LT): Likewise.
        (INT_CST_LT_UNSIGNED): Likewise.
        (tree_real_cst): Unwrap comment.
        (tree_string): Likewise.
        (tree_complex): Likewise.
        (IDENTIFIER_POINTER): correct cast.
        (SAVE_EXPR_CONTEXT): Whitespace.
        (EXPR_WFL_FILENAME_NODE): Likewise.
        (EXPR_WFL_FILENAME): Remove parenthesis.
        (DECL_ORIGIN): Add parenthesis.
        (DECL_FROM_INLINE): Use NULL_TREE.
        (build_int_2): Whitespace.
        (build_type_variant): Add parenthesis.

        * gcc/jcf-parse.c: Update copyright date.
        (yyparse): Constify resource_filename.

From-SVN: r48498
2002-01-03 05:18:25 +00:00
Kaveh R. Ghazi
5e65297bbb gcc.c (default_compilers): Const-ify.
* gcc.c (default_compilers): Const-ify.
	* mips-tdump.c (stab_names): Likewise.
	* mips-tfile.c (map_coff_types, map_coff_storage,
	map_coff_sym_type, map_coff_derived_type, stabs_symbol,
	pseudo_ops_t, pseudo_ops): Likewise.
	* protoize.c (default_include): Likewise

f:
	* com.c (clear_binding_level): Const-ify.
	(ffecom_arglist_expr_): Likewise.
	* info.c (ffeinfo_types_): Don't needlessly zero init.
	* lex.c (ffelex_hash_kludge): Const-ify.

java:
	* parse.y (src_parse_roots): Don't needlessly zero init.

libiberty:
	* cp-demangle.c (long_options): Const-ify.
	* cplus-dem.c (long_options): Likewise.

From-SVN: r48485
2002-01-02 23:18:59 +00:00
Tom Tromey
12cfb4fc72 parse.y (dump_java_tree): New function.
* parse.y (dump_java_tree): New function.
	(source_end_java_method): Call it.
	(end_class_declaration): Likewise.
	* lang.c (java_decode_option): Call dump_switch_p.

From-SVN: r48439
2002-01-01 01:42:15 +00:00
Tom Tromey
dab722ee86 gen-table.pl: Don't process characters after \uffff.
* gen-table.pl: Don't process characters after \uffff.  Added
	comment pointing to input file.

From-SVN: r48359
2001-12-29 04:31:10 +00:00
Kaveh R. Ghazi
7b0295ab20 gen-table.pl: Const-ify output.
* gen-table.pl: Const-ify output.  Document the location of a
	suitable unicode input file.

	* chartables.h: Regenerate.

From-SVN: r48354
2001-12-28 22:27:29 +00:00
Kaveh R. Ghazi
c083a819b2 collect2.c (is_ctor_dtor): Const-ify.
* collect2.c (is_ctor_dtor): Const-ify.
	* m88k-protos.c (output_file_start): Likewise.
	* m88k.c (m88k_lang_independent_options, output_options,
	output_file_start): Likewise.
	* fix-header.c (files_to_ignore, std_include_entry, include_entry,
	std_include_table, main): Likewise.
	* protoize.c (longopts): Likewise.
	* regclass.c (int_reg_class_contents): Likewise.
	* toplev.c (dump_file, f_options, W_options): Make static.
	(lang_independent_options, f_options, W_options): Const-ify.
	* tree-dump.c (dump_file_info): Likewise.
	* unroll.c (_factor): Make static.

java:
	* chartables.h: Const-ify.
	* gjavah.c (options): Likewise.
	* jcf-dump.c (options): Likewise.
	* jv-scan.c (options): Likewise.
	* lex.c (java_start_char_p, java_part_char_p): Likewise.
	* parse.y (binop_lookup): Likewise.

From-SVN: r48322
2001-12-27 03:35:21 +00:00
Kaveh R. Ghazi
0b5826acc8 arc.c (arc_hard_regno_mode_ok): Const-ify.
* arc.c (arc_hard_regno_mode_ok): Const-ify.
	* arc.h (arc_hard_regno_mode_ok): Likewise.
	* i386.c (x86_64_reg_class_name): Make static.
	* m68k.c (regno_reg_class): Const-ify.
	* m68k.h (regno_reg_class): Likewise.
	* mcore.c (reg_class_from_letter): Likewise.
	* mcore.h (reg_class_from_letter): Likewise.
	* sh.c (reg_class_from_letter, ashiftrt_insns, shift_insns,
	ext_shift_insns, ext_shift_amounts): Likewise.
	* sh.h (reg_class_from_letter): Likewise.
	* sparc.c (hard_regno_mode_classes, hard_32bit_mode_classes,
	hard_64bit_mode_classes): Likewise.
	* sparc.h (hard_regno_mode_classes): Likewise.

	* gcc.c (modify_target): Make static.
	* gengenrtl.c (defs, formats): Likewise.
	* reload1.c (elim_table_1, init_elim_table): Const-ify.
	* tradcpp.c (directive, directive_table, handle_directive,
	skip_if_group, run_directive): Likewise.

cp:
	* decl2.c (lang_f_options): Const-ify.

f:
	* com.c (ffecom_gfrt_volatile_, ffecom_gfrt_complex_,
	ffecom_gfrt_const_, ffecom_gfrt_type_): Const-ify.

java:
	* Make-lang.in (keyword.h): Pass -C to gperf to const-ify
	the static arrays that are output.
	* jvspec.c (jvgenmain_spec): Make static.
	* keyword.gperf (struct java_keyword, java_keyword): Const-ify.
	* keyword.h: Regenerate.
	* lang.c (string_option, process_option_with_no, lang_f_options,
	lang_W_options): Const-ify.
	* lex.c (java_lex): Likewise.

From-SVN: r48290
2001-12-23 16:07:16 +00:00
Richard Henderson
9a07cfaf9f boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): Merge into ..
* boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): Merge into ..
        (get_boehm_type_descriptor): ... here.  Arrange for the
        TREE_TYPE to get set properly.

From-SVN: r48261
2001-12-21 16:52:30 -08:00
Richard Henderson
ef96952567 class.c (compile_resource_file): Set TREE_PUBLIC on the constructor only if the target requires collect2.
* class.c (compile_resource_file): Set TREE_PUBLIC on the constructor
        only if the target requires collect2.

From-SVN: r48252
2001-12-21 11:44:06 -08:00
Richard Henderson
f44fefca1a * class.c (build_class_ref): Mark _Jv_fooClass DECL_EXTERNAL.
From-SVN: r48251
2001-12-21 11:26:08 -08:00
Tom Tromey
e97b32d909 reverted erroneous checking -- sorry about that
From-SVN: r48250
2001-12-21 19:18:52 +00:00
Tom Tromey
82712f8b74 For PR java/4509:
* parse.y (java_complete_lhs) [COMPOUND_EXPR]: Correctly compute
	CAN_COMPLETE_NORMALLY for the node.
	* jcf-write.c (generate_bytecode_insns) [COMPOUND_EXPR]: Don't
	generate code for second branch if first branch can't complete
	normally.
	(generate_bytecode_insns) [LOOP_EXPR]: Don't generate `goto' to
	the loop head if the loop body can't complete normally.

From-SVN: r48249
2001-12-21 19:15:36 +00:00
Tom Tromey
84a944b3ca For PR java/4509:
* parse.y (java_complete_lhs) [COMPOUND_EXPR]: Correctly compute
	CAN_COMPLETE_NORMALLY for the node.
	* jcf-write.c (generate_bytecode_insns) [COMPOUND_EXPR]: Don't
	generate code for second branch if first branch can't complete
	normally.
	(generate_bytecode_insns) [LOOP_EXPR]: Don't generate `goto' to
	the loop head if the loop body can't complete normally.

From-SVN: r48233
2001-12-21 05:28:27 +00:00
Tom Tromey
2d93b92445 For PR java/4766:
* jcf-write.c (generate_bytecode_insns) [TRY_FINALLY_EXPR]: Handle
	case where `finally' clause can't complete normally.

From-SVN: r48232
2001-12-21 05:13:43 +00:00
Tom Tromey
f2af50dbcf re PR java/5057 (gcj -C erroneously omits <clinit>)
Fixes PR java/5057:
	* parse.y (analyze_clinit_body): Added this_class parameter.
	Check for more cases where we must keep <clinit>.
	(maybe_yank_clinit): Cleaned up flow control.

From-SVN: r48231
2001-12-21 04:37:24 +00:00
Bryce McKinlay
7899e8b9f5 decl.c (java_init_decl_processing): Don't initialize finit_leg_identifier_node.
* decl.c (java_init_decl_processing): Don't initialize
	finit_leg_identifier_node.
	* java-tree.h (java_tree_index): Remove JTI_FINIT_LEG_IDENTIFIER_NODE.
	(finit_leg_identifier_node): Remove.
	(ID_FINIT_P): Don't check for JTI_FINIT_LEG_IDENTIFIER_NODE.

From-SVN: r48221
2001-12-20 22:50:21 +00:00
Bryce McKinlay
de4984af13 mangle.c (mangle_member_name): Don't special-case for NO_DOLLAR_IN_LABEL.
* mangle.c (mangle_member_name): Don't special-case for
	NO_DOLLAR_IN_LABEL.
	* mangle_name.c (unicode_mangling_length): Likewise.
	(append_unicode_mangled_name): Likewise.
	* parse.y (make_nested_class_name): Remove dead NO_DOLLAR_IN_LABEL
	code.

From-SVN: r48220
2001-12-20 22:48:52 +00:00
Bryce McKinlay
08514ae4a5 expr.c (build_java_array_length_access): Don't force null pointer check unless flag_check_references is set.
* expr.c (build_java_array_length_access): Don't force null pointer
	check unless flag_check_references is set.

From-SVN: r48219
2001-12-20 22:47:39 +00:00
Tom Tromey
56b8325e5b re PR java/3417 (Downcast on integral types.)
Fix for PR java/3417:
	* parse.y (patch_assignment): Added special processing for
	`return'.
	(patch_return): Don't convert booleans to integers, and don't
	special-case `null'.

From-SVN: r48208
2001-12-20 17:45:41 +00:00
Joseph Myers
38be19f603 configure.in (all_diff_excludes, [...]): Remove.
* configure.in (all_diff_excludes, diff_excludes): Remove.
	* configure: Regenerate.
	* Makefile.in (LANG_DIFF_EXCLUDES): Remove.
	* objc/config-lang.in (diff_excludes): Remove.

ada:
	* config-lang.in (diff_excludes): Remove.

ch:
	* config-lang.in (diff_excludes): Remove.

cp:
	* config-lang.in (diff_excludes): Remove.

f:
	* config-lang.in (diff_excludes): Remove.

java:
	* config-lang.in (diff_excludes): Remove.

From-SVN: r48189
2001-12-20 00:20:47 +00:00
Joseph Myers
b11cc61089 Separate user and internals manuals.
* Makefile.in (info, $(docdir)/gcc.info, dvi, gcc.dvi): Update
	dependencies.
	($(docdir)/gccint.info, gccint.dvi): New targets.
	(maintainer-clean, install-info, uninstall): Update.
	* doc/.cvsignore: Add gccint.info*.
	* doc/include/gcc-common.texi: New file.
	* doc/gcc.texi: Use it.  Adjust to be a user-only manual.  Put
	copyright notice in a macro.  Don't include ISBN unless FSFPRINT
	is defined.
	* doc/gccint.texi: New file.
	* doc/configfiles.texi, doc/extend.texi, doc/invoke.texi,
	doc/md.texi, doc/passes.texi, doc/tm.texi, doc/trouble.texi:
	Update for separate user and internals manuals.

f:
	* g77.texi, invoke.texi: Update links to GCC manual.

java:
	* gcj.texi: Update link to GCC manual.

From-SVN: r48119
2001-12-17 19:20:05 +00:00
Tom Tromey
e97562f5ce parse.y (link_nested_class_to_enclosing): Removed useless statement.
* parse.y (link_nested_class_to_enclosing): Removed useless
	statement.

From-SVN: r48118
2001-12-17 19:14:07 +00:00
Tom Tromey
2c5187c528 re PR java/5088 (Can't create a java.lang.Object from CNI)
* mangle.c (mangle_method_decl): Never emit `C2' constructor.
	Fixes PR java/5088.

From-SVN: r48083
2001-12-16 22:53:02 +00:00
Joseph Myers
a83f01f040 ChangeLog, [...]: Fix spelling errors.
* ChangeLog, Make-lang.in, class.c, expr.c, gcj.texi, java-tree.h,
	jcf-parse.c, jcf-write.c, lex.c, parse.h, parse.y, verify.c: Fix
	spelling errors.

From-SVN: r48075
2001-12-16 16:23:50 +00:00
Kaveh R. Ghazi
faf318664d c-lex.c (lex_number): Use ISXDIGIT/hex_value.
* c-lex.c (lex_number): Use ISXDIGIT/hex_value.
	* vax/xm-vms.h (FILE_NAME_NONDIRECTORY): Use ISUPPER/TOLOWER.
	* fold-const.c (real_hex_to_f): Use hex_value.
	* real.c (asctoeg): Use hex_value & ISXDIGIT.
	* toplev.c (toplev_main): Call hex_init.
	* tradcpp.c (main): Call hex_init.

From-SVN: r48068
2001-12-16 13:58:07 +00:00
Bryce McKinlay
9a8de99886 decl.c (java_init_decl_processing): Build otable_type correctly.
* decl.c (java_init_decl_processing): Build otable_type correctly.
	otable_decl is an otable_type.

From-SVN: r48062
2001-12-16 06:09:46 +00:00
Bryce McKinlay
861ef92859 java-tree.h (otable_methods, [...]): New field/global tree definitions.
gcc/java:

	* java-tree.h (otable_methods, otable_decl, otable_syms_decl,
	otable_type, otable_ptr_type, method_symbol_type,
	method_symbols_array_type, method_symbols_array_ptr_type): New
	field/global tree definitions.
	(flag_indirect_dispatch): New flag.
	* decl.c (java_init_decl_processing): Initialize new otable and
	otable_syms type nodes and decls. Add new field "index" to
	method_type_node.
	* class.c (build_method_symbols_entry): New function.
	(make_method_value): Set "index" to to method's vtable index for
	virtual methods when indirect-dispatch is not used.
	(make_class_data): For indirect-dispatch, dont emit the dtable_decl,
	and set vtable_method_count to -1. Set otable and otable_syms field
	if indirect-dispatch is used and there was something to put in them.
	(build_method_symbols_entry): New function.
	(emit_offset_symbol_table): New function.
	* expr.c (get_offset_table_index): New function.
	(build_invokevirtual): Build array reference to otable at the index
	returned by get_offset_table_index, and use the result as the vtable
	offset.
	(build_invokeinterface): Similar.
	* jcf-parse.c (yyparse): If indirect-dispatch, call
	emit_offset_symbol_table at the end of compilation, after all classes
	have been generated.
	* jvspec.c: Don't pass findirect-dispatch to jvgenmain.
	* lang.c (flag_indirect_dispatch): Define.
	(lang_f_options): Add indirect-dispatch flag.

libjava:

	* include/jvm.h (_Jv_VTable::idx_to_offset): New method.
	* java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): Call
	_Jv_MakeVTable and _Jv_LinkOffsetTable if needed.
	* java/lang/Class.h (_Jv_Method): Add "index" field.
	(_Jv_MethodSymbol): New struct type.
	(_Jv_LinkOffsetTable, _Jv_LayoutVTableMethods, _Jv_SetVTableEntries,
	_Jv_MakeVTable): Friends.
	(otable, otable_syms): New Class fields.
	* java/lang/natClass.cc (_Jv_LinkOffsetTable): New function.
	(isVirtualMethod): New static function.
	(_Jv_LayoutVTableMethods): New function.
	(_Jv_SetVTableEntries): New function.
	(_Jv_MakeVTable): New function.

From-SVN: r48038
2001-12-15 08:31:49 +00:00
Matthias Klose
f172748112 gcj.texi: Markup for man page generation.
* gcj.texi: Markup for man page generation. Document missing
	options printed by <tool> --help.
	Terminate description of gij's -ms option with a dot.
	* Make-lang.in ($(srcdir)/java/*.1): New targets.
	(java.generated-manpages java.install-man, java.uninstall,
	java-maintainer-clean) Updated.

From-SVN: r48016
2001-12-14 22:52:17 +00:00
Hans Boehm
eec875422f class.c (get_dispatch_table): Fix java vtable layout for TARGET_VTABLE_USES_DESCRIPTORS.
* class.c (get_dispatch_table): Fix java vtable layout
	for TARGET_VTABLE_USES_DESCRIPTORS.
	* decl.c (java_init_decl_processing): Initialize
	alloc_no_finalizer_node, finalize_identifier_node.
	* expr.c (class_has_finalize_method): New function.
	(expand_java_NEW): Generate calls for finalizer-free allocation.
	(build_invokevirtual): Fix java vtable layout for
	TARGET_VTABLE_USES_DESCRIPTORS.
	* java-tree.h (enum java_tree_index): New entries:
	JTI_ALLOC_NO_FINALIZER_NODE, JTI_FINALIZE_IDENTIFIER_NODE.
	(alloc_no_finalizer_node, finalize_deintifier_node): New macros.
	(class_has_finalize_method): declare.
	(HAS_FINALIZER_P): New macro.
	* parse.y (patch_invoke): Generate calls for finalizer-free
	allocation.

From-SVN: r48004
2001-12-14 19:01:02 +00:00
Matthias Klose
81deb0a3e6 Make-lang.in: JAVA_INSTALL_NAME, JAVA_CROSS_NAME: Remove whitespace
at end of line.

From-SVN: r47903
2001-12-11 23:02:49 +00:00
Tom Tromey
34026199b3 lex.c (java_init_lex): Define wfl_to_string as gnu.gcj.runtime.StringBuffer unless generating bytecode.
* lex.c (java_init_lex): Define wfl_to_string as
	gnu.gcj.runtime.StringBuffer unless generating bytecode.

From-SVN: r47882
2001-12-11 17:59:02 +00:00
Jeff Sturm
a3bcfa679b class.c (make_method_value): Use null_pointer_node to represent empty exception table.
* class.c (make_method_value): Use null_pointer_node to
	represent empty exception table.

From-SVN: r47880
2001-12-11 17:15:22 +00:00
Tom Tromey
3afdfae81c * check-init.c (check_init) [SWITCH_EXPR]: Use SWITCH_HAS_DEFAULT.
From-SVN: r47860
2001-12-11 03:29:12 +00:00
Douglas B Rupp
96a9c44f09 Makefile.in: Add $(OUTPUT_OPTION) to compilation rules.
* Makefile.in: Add $(OUTPUT_OPTION) to compilation rules.
	* intl/Makefile.in (OUTPUT_OPTION): Add configure variable.
	(.c.o): Add $(OUTPUT_OPTION).
	* java/Make-lang.in (jvspec.o): Add $(OUTPUT_OPTION).

From-SVN: r47843
2001-12-10 07:04:24 -05:00
Per Bothner
a5cb134d64 check-init.c (current_switch_has_default): New static field.
* check-init.c (current_switch_has_default):  New static field.
	(check_init):  Case DEFAULT_EXPR: Set current_switch_has_default.
	Case SWITCH_EXPR:  Save/restore current_switch_has_default.  If no
	DEFAULT_EXPR seen, simulate a default alternative that copies state.

From-SVN: r47833
2001-12-09 20:28:28 -08:00
Tom Tromey
1aca9b81eb check-init.c (check_init): Don't allow pre- or post- increment or decrement of final variable.
* check-init.c (check_init): Don't allow pre- or post- increment
	or decrement of final variable.
	(final_assign_error): Minor error message rewording.

From-SVN: r47821
2001-12-09 23:43:19 +00:00
Tom Tromey
0854b1c4ba * java-tree.h: Fixed typo.
From-SVN: r47805
2001-12-09 06:03:42 +00:00
Tom Tromey
5fcab23524 gjavah.c (decompile_method): Don't decompile to `return this' for static methods.
* gjavah.c (decompile_method): Don't decompile to `return this'
	for static methods.

From-SVN: r47804
2001-12-09 05:14:19 +00:00
Tom Tromey
7b35f6c94f gjavah.c (cxx_keywords): Re-sorted.
* gjavah.c (cxx_keywords): Re-sorted.
	* lex.c (cxx_keywords): Re-sorted.

From-SVN: r47803
2001-12-09 05:06:45 +00:00
Tom Tromey
897c9e66de gjavah.c (HANDLE_METHOD): Set `decompiled' before doing anything else.
* gjavah.c (HANDLE_METHOD): Set `decompiled' before doing anything
	else.

From-SVN: r47802
2001-12-09 01:30:00 +00:00
Tom Tromey
4440ffc4a5 gjavah.c (print_namelet): Clear subnamelets.
* gjavah.c (print_namelet): Clear subnamelets.
	(HANDLE_METHOD): Set `method_printed' earlier.

From-SVN: r47801
2001-12-09 01:26:30 +00:00
Tom Tromey
8f25dc2806 lang.c (lang_f_options): Added optimize-static-class-initialization.
* lang.c (lang_f_options): Added
	optimize-static-class-initialization.
	(java_decode_option): Removed special case.

From-SVN: r47768
2001-12-07 19:01:19 +00:00
Per Bothner
a9040c7798 * check-init.c (check_init): Fix typo freeing memory twice.
From-SVN: r47763
2001-12-07 10:16:21 -08:00
Per Bothner
5412ef6bba Restore support for static class initialization optimization.
From-SVN: r47735
2001-12-06 15:12:55 -08:00
Per Bothner
4f88ccda2d check-init.c: Handle definite unassignment to finals in addition to definite assignment.
* check-init.c:   Handle definite unassignment to finals in addition
	to definite assignment.		[see ChangeLog]

From-SVN: r47619
2001-12-04 11:30:13 -08:00
Per Bothner
87d4ad0804 parse.y (patch_binop): Minor constant folding.
* parse.y (patch_binop):  Minor constant folding.

	* parse.y (build_current_thisn):  Shorter 'buffer'.

From-SVN: r47588
2001-12-03 17:24:59 -08:00
Per Bothner
aedcdb655d decl.c (complete_start_java_method): Now generate TRY_FINALLY_EXPR instead of CLEANUP_POINT_EXPR and WITH_CLEANUP_EXPR.
* decl.c (complete_start_java_method):  Now generate TRY_FINALLY_EXPR
	instead of CLEANUP_POINT_EXPR and WITH_CLEANUP_EXPR.
	* jcf-write.c (generate_bytecode_insns):  Remove support for
	CLEANUP_POINT_EXPR and WITH_CLEANUP_EXPR as they are no longer used.
	* check-init.c (check_init):  Likewise.

From-SVN: r47587
2001-12-03 17:10:08 -08:00
Per Bothner
82ff672eb7 verify.c (subroutine_nesting): New function.
* verify.c (subroutine_nesting):  New function.
	(verify_jvm_instructions):  Use it to fix logic for checking that
	we're done with the current subroutine.

	* verify.c (verify_jvm_instruction): For OPCODE_checkcast and
	OPCODE_instanceof use POP_TYPE macro for better diagnostics.

From-SVN: r47572
2001-12-03 15:30:21 -08:00
Per Bothner
98a63868fc jcf.h: Fix obvious typo in comment.
* jcf.h:  Fix obvious typo in comment.
	* typeck.c (build_null_signature):  Add comment.

From-SVN: r47569
2001-12-03 15:09:42 -08:00
Neil Booth
c725bd79e7 c-decl.c (grokdeclarator): Use ISO word.
* c-decl.c (grokdeclarator): Use ISO word.
	* cppinit.c: Remove leading capital from diagnostic messages, as
	per GNU coding standards.
	* diagnostic.c: Similarly.
	* emit-rtl.c: Similarly.
	* final.c: Similarly.
	* gcc.c: Similarly.
	* tradcpp.c: Similarly.
	* config/arm/arm.c: Similarly.
	* config/arm/arm.h: Similarly.
	* config/avr/avr.c: Similarly.
	* config/avr/avr.h: Similarly.
	* config/c4x/c4x.c: Similarly.
	* config/cris/cris.c: Similarly.
	* config/cris/cris.h: Similarly.
	* config/d30v/d30v.c: Similarly.
	* config/dsp16xx/dsp16xx.c: Similarly.
	* config/dsp16xx/dsp16xx.h: Similarly.
	* config/h8300/h8300.c: Similarly.
	* config/i386/i386.c: Similarly.
	* config/i386/xm-djgpp.h: Similarly.
	* config/i960/i960.h: Similarly.
	* config/m32r/m32r.c: Similarly.
	* config/m68hc11/m68hc11.c: Similarly.
	* config/m88k/m88k.c: Similarly.
	* config/m88k/m88k.h: Similarly.
	* config/mcore/mcore.c: Similarly.
	* config/mcore/mcore.h: Similarly.
	* config/mips/mips.c: Similarly.
	* config/mmix/mmix.c: Similarly.
	* config/pa/pa.c: Similarly.
	* config/rs6000/rs6000.c: Similarly.
	* config/rs6000/sysv4.h: Similarly.
	* config/s390/s390.c: Similarly.
	* config/sparc/sparc.c: Similarly.
	* config/v850/v850-c.c: Similarly.
	* config/v850/v850.c: Similarly.
ch:
	* actions.c: Remove leading capital from diagnostic messages, as
	per GNU coding standards.
	* decl.c: Similarly.
	* expr.c: Similarly.
	* inout.c: Similarly.
	* lang.c: Similarly.
	* loop.c: Similarly.
	* nloop.c: Similarly.
	* parse.c: Similarly.
	* satisfy.c: Similarly.
	* tasking.c: Similarly.
	* tree.c: Similarly.
	* typeck.c: Similarly.
cp:
	* typeck2.c: Remove leading capital from diagnostic messages, as
	per GNU coding standards.
f:
	* com.c: Remove leading capital from diagnostic messages, as
	per GNU coding standards.
	* g77spec.c: Similarly.
	* lex.c: Similarly.
java:
	* expr.c: Remove leading capital from diagnostic messages, as
	per GNU coding standards.
	* jcf-io.c: Similarly.
	* jcf-parse.c: Similarly.
	* jv-scan.c: Similarly.
	* jvspec.c: Similarly.
	* mangle.c: Similarly.

From-SVN: r47558
2001-12-03 19:15:19 +00:00
Bryce McKinlay
7e5f4beeca Fix ChangeLog entry.
From-SVN: r47526
2001-12-02 11:05:57 +00:00
Tang Ching-Hui
b736dee607 re PR java/3096 (GCJ does not increment)
2001-12-02  Tang Ching-Hui  <nicholas@cs.nthu.edu.tw>
	    Alexandre Petit-Bianco  <apbianco@redhat.com>

	* expr.c: call save_expr on array for correct evaluation order,
	modified comment, fixed indentation.
	* parse.y: (patch_assignment): Correctly extract the array base
	from the tree generate by build_java_arrayaccess, added comments.
	(patch_array_ref): Remove SAVE_EXPR on ARRAY_REF.
	Fixes PR java/3096, PR java/3803, PR java/3965.

Co-Authored-By: Alexandre Petit-Bianco <apbianco@redhat.com>

From-SVN: r47525
2001-12-02 10:44:54 +00:00
Neil Booth
357351e5a7 c-decl.c (duplicate_decls, [...]): Remove trailing period from diagnostics.
* c-decl.c (duplicate_decls, parmlist_tags_warning): Remove
	trailing period from diagnostics.
	* c-lex.c (cb_file_change): Similarly.
	* cppmacro.c (check_trad_stringification): Similarly.
	* gcc.c (do_spec_1): Similarly.
	* genattr.c (main): Similarly.
	* genattrtab.c (main, operate_exp, make_length_attrs): Similarly.
	* gencodes.c (main): Similarly.
	* genconfig.c (main): Similarly.
	* genconstants.c (main): Similarly.
	* genemit.c (main): Similarly.
	* genextract.c (main): Similarly.
	* genopinit.c (main): Similarly.
	* genoutput.c (main): Similarly.
	* genpeep.c (main): Similarly.
	* genrecog.c (main): Similarly.
	* mips-tfile.c (add_file, error): Similarly.
	* profile.c (init_branch_prob): Similarly.
	* reload1.c (spill_failure): Similarly.
	* stmt.c (parse_output_constraint): Similarly.
	* varasm.c (assemble_variable): Similarly.
cp:
	* class.c (finish_struct): Similarly.
	* decl.c (check_tag_decl): Similarly.
	* lex.c (cxx_set_yydebug): Similarly.
	* typeck2.c (friendly_abort): Similarly.
java:
	* expr.c (expand_byte_code): Similarly.
	* jcf-parse.c (load_class, jcf_parse): Similarly.
	* jcf-write.c (generate_classfile): Similarly.
	* lex.c (java_lex): Similarly.

From-SVN: r47517
2001-12-01 18:42:49 +00:00
Bryce McKinlay
a7c5337dce * class.c (add_interface_do): Set BINFO_VPTR_FIELD.
From-SVN: r47480
2001-11-30 09:55:06 +00:00
Joseph Myers
d3945f0a4e configure.in (target_list): Add generated-manpages.
* configure.in (target_list): Add generated-manpages.
	* configure: Regenerate.
	* Makefile.in (generated-manpages): Depend on
	lang.generated-manpages.
	* objc/Make-lang.in (objc.generated-manpages): New dummy target.

ada:
	* Make-lang.in (ada.generated-manpages): New dummy target.

ch:
	* Make-lang.in (CHILL.generated-manpages): New dummy target.

cp:
	* Make-lang.in (c++.generated-manpages): New dummy target.

f:
	* Make-lang.in (f77.generated-manpages): New target.
	($(srcdir)/f/g77.1): Don't check $(GENERATED_MANPAGES).  Allow
	manpage generation to fail.
	(f77.info): Don't depend on $(srcdir)/f/g77.1.
	(f77.install-man): Depend on $(GENERATED_MANPAGES) rather than
	directly on $(srcdir)/g77.1.

java:
	* Make-lang.in (java.generated-manpages): New dummy target.

From-SVN: r47442
2001-11-29 16:50:19 +00:00
Rainer Orth
b856c15d7e re PR other/3968 (COLLECT_GCC_OPTIONS empty)
* gcc.c (set_collect_gcc_options): New function, split out from
	main.
	Ignore elided switches.
	(do_spec): Invoke before executing command.
	(do_spec_1): Likewise.
	Fixes PR other/3968.

	* gcc.c (set_input): Export.
	Move declaration ...
	gcc.h (set_input): ... here.

	java:
	* jvspec.c (jvgenmain_spec): Cannot use %umain, breaks
	ASM_FINAL_SPEC.
	(lang_specific_pre_link): Use set_input to set input_filename.
	Append `main' here.
	* jvgenmain.c (usage): Append literal `main' to CLASSNAME.
	(main): Fix definition.
	Strip `main' from classname.
	Fixes PR java/227.

From-SVN: r47385
2001-11-27 17:31:38 +00:00
Roger Sayle
9c2fcf0966 parse.h (java_expand_switch): Remove old prototype.
2001-11-18  Roger Sayle <roger@eyesopen.com>

	* parse.h (java_expand_switch): Remove old prototype.

From-SVN: r47221
2001-11-20 18:02:25 +00:00
Tom Tromey
8aeb42d06b re PR java/1401 (+= semantics not correct (when generating bytecode))
Fix for PR java/1401:
	* jcf-write.c (generate_bytecode_insns) [binop]: Handle case where
	arg0 is null.
	(generate_bytecode_insns) [MODIFY_EXPR]: Handle `OP=' case
	correctly.

From-SVN: r47156
2001-11-19 00:13:36 +00:00
Neil Booth
22703ccc3f Makefile.in (c-parse.o, c-common.o): Update dependencies.
* Makefile.in (c-parse.o, c-common.o): Update dependencies.
	* c-common.c: Include diagnostic.h.
	(c_common_finish): New.
	* c-common.h (c_common_finish): New.
	* c-lang.c (LANG_HOOKS_FINISH): Override.
	* c-parse.in: Don't include diagnostic.h.
	(finish_parse): Remove.
	* langhooks.h: Update comments.
	* toplev.c (lang_dependent_init): New prototype.
	(finalize): New.
	(compile_file): Split cleanup code out to finalize.
	(lang_dependent_init): Stop if lang_hooks.init fails.
	(toplev_main): Update.
	* tree.h (finish_parse): Remove.

ada:	* misc.c (gnat_decode_option, gnat_init_options): Make definitions
	static too.
	(gnat_init): Don't return NULL.
	(finish_parse): Remove.
cp:	* lex.c (cxx_finish): Call c_common_finish.
	(finish_parse): Remove.
f:	* com.c (finish_parse): Remove.
	(ffe_finish): Move body of finish_parse.
java:	* lang.c (finish_parse): Rename to java_finish.
	(LANG_HOOKS_FINISH, java_finish): New.
objc:	* objc-act.c (LANG_HOOKS_FINISH): Override.

From-SVN: r47141
2001-11-18 11:04:53 +00:00
Neil Booth
f5e99456f1 c-common.c: Include c-lex.h.
* c-common.c: Include c-lex.h.
	(c_common_lang_init): Change prototype.  Call init_c_lex and
	init_pragma from here.
	* c-common.h (c_common_lang_init): Change prototype.
	* c-decl.c (init_decl_processing): Rename.  Call c_parse_init.
	* c-lang.c (c_init): Change prototype.  Update.
	(c_init_options): Update.
	* c-lex.c (cpp_filename): Remove.
	(init_c_lex): Update.  Read the main file, and get the original
	file name.
	(yyparse): Finish the command line options.
	* c-parse.in (c_parse_init): Call init_reswords here.
	(init_parse): Remove.
	* c-tree.h (c_init_decl_processing): New.
	* cpphash.c (_cpp_init_hashtable): After initializing the hash
	table, populate it.
	* cppinit.c (read_original_filename, cpp_finish_options): New.
	(cpp_create_reader): New prototype. Defer hash table initialization.
	(cpp_start_read): Rename cpp_read_main_file.  Initialize the
	hash table.  Get the original filename.
	* cpplib.h (cpp_create_reader): Update.
	(cpp_start_read): Remove.
	(cpp_read_main_file, cpp_finish_options): New.
	* cppmain.c (main, do_preprocessing): Update.
	* langhooks.h (struct langhooks): Update init prototype.
	* toplev.c (general_init, parse_options_and_default_flags,
	process_options, lang_indpendent_init, lang_dependent_init,
	init_asm_output): New; perform the bulk of initialization.
	(compile_file): Move most of initialization to above functions.
	(debug_hooks): Initialize statically.
	(set_Wunused): Relocate.
	(toplev_main): Move most of initialization to other init functions.
	Have a clear logic flow.
	* tree.h (init_parse, init_decl_processing): Remove.
ada:
	* misc.c (gnat_init): Change prototype.  Include the
	functionality of the old init_parse and init_decl_processing.
	(gnat_init_decl_processing): New prototype.
	(init_parse): Remove.
	* utils.c (init_decl_processing): Rename gnat_init_decl_processing.
cp:	* cp-tree.h (init_reswords, cxx_init_decl_processing): New.
	(cxx_init): Update prototype.
	* decl.c (init_decl_processing): Rename.  Move null node init
	to its creation time.
	* lex.c (cxx_init_options): Update.
	(cxx_init): Combine with old init_parse; also call
	cxx_init_decl_processing.
f:	* com.c (ffecom_init_decl_processing): Renamed from
	init_decl_processing.
	(init_parse): Move contents to ffe_init.
	(ffe_init): Update prototype.
java:	* decl.c (init_decl_processing): Rename java_init_decl_processing.
	* java-tree.h: New prototype.
	* lang.c (java_init): Update prototype.  Combine with old init_parse.
objc:	* objc-act.c (objc_init): Update prototype, combine with old
	init_parse.
	(objc_init_options): Update.

From-SVN: r47046
2001-11-15 10:01:10 +00:00
Tom Tromey
150f086dd5 gjavah.c (method_signature): New global.
* gjavah.c (method_signature): New global.
	(HANDLE_METHOD): Set it.
	(decompile_return_statement): New function.
	(decompile_method): Use it.
	(print_method_info): Removed `synth' argument.

From-SVN: r46999
2001-11-14 01:43:56 +00:00
Neil Booth
5d69f816bc Makefile.in: Update.
* Makefile.in: Update.
	* c-decl.c (print_lang_decl, print_lang_type): Remove.
	(print_lang_identifier): Rename c_print_identifier.
	* c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
	(print_lang_statistics, lang_print_xnode): Remove.
	* c-parse.in (set_yydebug): Rename c_set_yydebug.
	* c-tree.h (c_set_yydebug, c_print_identifier): New.
	* langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
	LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
	LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
	LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
	(LANG_HOOKS_INITIALIZER): Update.
	* langhooks.h (struct lang_hooks): New members.
	(lang_print_tree_hook): New.
	* langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
	* print-tree.c: Include langhooks.h.
	(print_node): Update.
	* toplev.c (decode_d_option): Update.
	* tree.c: Include langhooks.h.
	(dump_tree_statistics): Update.
	* tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
	print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
ada:
	* misc.c (gnat_print_decl, gnat_print_type): Renamed.
	(LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
	(print_lang_statistics, lang_print_xnode, print_lang_identifier,
	set_yydebug): Remove.
cp:
	* cp-lang.c (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
	LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
	LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): Override.
	* cp-tree.h (print_class_statistics): Remove.
	(cxx_print_statistics, cxx_print_xnode, cxx_print_decl, cxx_print_type,
	cxx_print_identifier, cxx_set_yydebug): New.
	* lex.c (set_yydebug): Rename c_set_yydebug.
	* ptree.c (print_lang_decl, print_lang_type, print_lang_identifier,
	lang_print_xnode): Rename.
	* tree.c (print_lang_statistics): Rename.
f:
	* com.c (ffe_print_identifier): Rename.
	(LANG_HOOKS_PRINT_IDENTIFIER): Override.
	(lang_print_xnode, print_lang_decl, print_lang_statistics,
	print_lang_type, set_yydebug): Remove.
java:
	* java-tree.h (java_set_yydebug): New.
	* jcf-parse.c (set_yydebug): Rename java_set_yydebug.
	* lang.c (LANG_HOOKS_SET_YYDEBUG): Override.
	(print_lang_decl, print_lang_type, print_lang_identifier,
	print_lang_statistics, lang_print_xnode): Remove.
objc:
	* objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
	LANG_HOOKS_SET_YYDEBUG): Override.
	(lang_print_xnode, print_lang_statistics): Remove.

From-SVN: r46907
2001-11-09 23:30:44 +00:00
Neil Booth
3ac88239fc c-lang.c (LANG_HOOKS_NAME): New.
* c-lang.c (LANG_HOOKS_NAME): New.
	(lang_hooks): Constify.
	(c_init_options): Update.
	(lang_identify): Remove.
	* c-parse.in (language_string): Remove.
	* dbxout.c: Include langhooks.h.
	(dbxout_symbol_location): Update.
	* dwarf2out.c: Include langhooks.h.
	(gen_compile_unit_die): Update.
	* dwarfout.c: Include langhooks.h.
	(prototyped_attribute, output_compile_unit_die): Update.
	* langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
	(LANG_HOOKS_INITIALIZER): Update.
	* langhooks.h (struct lang_hooks): New members.  Constify.
	* stringpool.c: Don't include toplev.h.
	(set_identifier_size): Remove.
	* toplev.c (toplev_main): Initialize identifier size.
	(print_version): Update.
	* tree.h (language_string, init_lex, lang_identify,
	set_identifier_size): Remove.
	* Makefile.in: Update dependencies.
	* config/darwin.c: Include langhooks.h.
	(func_name_maybe_scoped): Update.
	* config/darwin.h (ASM_END_FILE): Update.
	* config/nextstep.h (ASM_END_FILE): Update.
	* config/nextstep21.h (ASM_END_FILE): Update.
	* config/i386/sun386.h (ASM_END_FILE): Update.
	* config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
	(rs6000_output_function_epilogue): Update.
ada:
	* misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
	(struct lang_hooks): Constify.
	(language_string, lang_identify): Remove.
	* utils.c (init_decl_processing): Update.
cp:
	* cp-lang.c (LANG_HOOKS_NAME): Override.
	(struct lang_hooks): Constify.
	* lex.c (cxx_init_options): Update.
	(lang_identify): Remove.
	* parse.y (language_string): Remove.
f:
	* com.c (language_string, lang_identify): Remove.
	(struct lang_hooks): Constify.
	(LANG_HOOKS_NAME): Override.
	(init_parse): Update.
java:
	* jcf-parse.c (init_lex): Remove.
	* lang.c (language_string, lang_identify): Remove.
	(struct lang_hooks): Constify.
	(LANG_HOOKS_NAME): Override.
	(init_parse): Update.
objc:
	* objc-act.c (LANG_HOOKS_NAME): Override.
	(struct lang_hooks): Constify.
	(objc_init_options): Update.
	(lang_identify): Remove.

From-SVN: r46874
2001-11-09 07:14:20 +00:00
Andreas Franck
b21d216c74 configure.in: Add AC_ARG_PROGRAM to support program name transformation with --program-prefix...
* configure.in: Add AC_ARG_PROGRAM to support program name
transformation with --program-prefix, --program-suffix and
--program-transform-name.
* Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
program_transform_name the way suggested by autoconf.
(GCC_TARGET_INSTALL_NAME): Define.
(install-driver): Use the transformed target alias name.


* Make-lang.in (CXX_INSTALL_NAME, GXX_CROSS_NAME,
DEMANGLER_CROSS_NAME): Handle program_transform_name the way
suggested by autoconf.
(GXX_TARGET_INSTALL_NAME, CXX_TARGET_INSTALL_NAME): Define.
(c++.install-common): Use the transformed target alias names.

* Make-lang.in (G77_INSTALL_NAME, G77_CROSS_NAME): Handle
program_transform_name the way suggested by autoconf.

* Make-lang.in (JAVA_INSTALL_NAME, JAVA_CROSS_NAME): Handle
program_transform_name the way suggested by autoconf.
(java.install-common): Also transform auxiliary program names with
program_transform_name.

From-SVN: r46856
2001-11-08 15:18:18 -05:00
Tom Tromey
1fa73144cb parse.y (trap_overflow_corner_case): New rule.
* parse.y (trap_overflow_corner_case): New rule.
	(unary_expression): Use it.
	* lex.c (java_init_lex): Don't set minus_seen.
	(yylex): Don't use minus_seen.  Communicate overflow to parser for
	it to handle.
	(error_if_numeric_overflow): New function.
	* parse.h (minus_seen): Removed field.
	(JAVA_RADIX10_FLAG): New define.

From-SVN: r46846
2001-11-08 15:38:10 +00:00
Tom Tromey
5a21a051b7 Patch for PR java/1414:
* parse.y (case_label_list): New global.
	(goal): Register case_label_list with GC.
	(java_complete_lhs): Save new case on case_label_list.
	(patch_switch_statement): Check for duplicate case labels.

From-SVN: r46845
2001-11-08 15:33:40 +00:00
Alexandre Petit-Bianco
5573cb3918 parse.y (patch_assignment): Removed unused third argument.
2001-11-07  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse.y (patch_assignment): Removed unused third argument.
	(java_complete_lhs): Removed unused third argument to patch_assignment.

( http://gcc.gnu.org/ml/gcc-patches/2001-11/msg00469.html )

From-SVN: r46834
2001-11-07 12:50:00 -08:00
Neil Booth
d23c55c28c Clean up langhooks
* alias.c:: Include langhooks.h.
	* emit-rtl.c: Similarly.
	* toplev.c: Similarly.
	* tree-inline.c: Similarly.
	* langhooks-def.h: New, the old langhooks.h.  Give the default
	hooks a common prefix.
	* langhooks.h: Contents extracted from toplev.h.
	* toplev.h: Move langhook stuff to langhooks.h.
	* langhooks.c: Give default hooks a common prefix.

	* c-lang.c: Include langhooks-def.h.
	* ada/misc.c: Similarly.
	* cp/cp-lang.c: Similarly.
	* f/com.c: Similarly.
	* java/lang.c: Similarly.
	* objc/objc-act.c: Similarly.

	* Makefile.in: Update.
	* ada/Makefile.in: Similarly.
	* cp/Make-lang.in: Similarly.
	* f/Make-lang.in: Similarly.
	* java/Make-lang.in: Similarly.
	* objc/Make-lang.in: Similarly.

From-SVN: r46813
2001-11-06 21:12:14 +00:00
Zack Weinberg
5b7874aa2e Makefile.in (INTL_TARGETS, POSUB): Delete all references.
* Makefile.in (INTL_TARGETS, POSUB): Delete all references.
	(INTL_SUBDIRS): Just intl.
	(.SUFFIXES): Add .gmo .po .pox.
	(native): Also depend on build-@POSUB@.
	(intl.all, intl.install): Depend on config.h and things it includes.
	(po-generated): New target; depend on c-parse.c and tradcif.c.
	(install-normal): Also depend on install-@POSUB@.
	(XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
	(build-, install-, build-po, update-po, install-po,
	.po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.

	* aclocal.m4: Prefix each entry in CATALOGS with "po/"
	* configure.in: Don't munge XGETTEXT.  Don't generate
	po/Makefile.in.
	* configure: Regenerate.

	* exgettext: Delete.
	* config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
	* cp/Make-lang.in, java/Make-lang.in, objc/Make-lang.in: Replace
	$(INTL_TARGETS) with po-generated.

po:
	* EXCLUDES: New file.
	* exgettext: New helper script; completely rewritten.
	* Makefile.in.in, POTFILES.in: Delete.

From-SVN: r46680
2001-10-31 17:40:07 +00:00
Bryce McKinlay
2b472f91ee re PR java/4717 (miscompiling class reference)
* mangle.c (find_compression_record_match): Don't match compression
       records for package name elements unless they occur at the start of
       the name. Fix for PR java/4717.

From-SVN: r46628
2001-10-30 04:43:16 +00:00
Bryce McKinlay
961b8e7028 expr.c (expand_java_field_op): Don't special-case references to java.lang.PRIMTYPE.TYPE.
* expr.c (expand_java_field_op): Don't special-case references to
	java.lang.PRIMTYPE.TYPE.
	(build_primtype_type_ref): Removed.
	* java-tree.h (build_primtype_type_ref): Remove prototype.
	* parse.y (maybe_build_primttype_type_ref): Removed.
	(complete_function_arguments): Don't special-case references to
	java.lang.PRIMTYPE.TYPE.
	(patch_assignment): Likewise.
	(array_constructor_check_entry): Likewise.

From-SVN: r46522
2001-10-26 02:53:56 +01:00
Alexandre Petit-Bianco
98f705b937 mangle.c (static tree compression_table): Fixed leading comment.
2001-10-24  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* mangle.c (static tree compression_table): Fixed leading comment.
	* parse.h (struct parser_ctxt): Fixed field comment.
	* parse.y (check_pkg_class_access): New prototype, fixed leading
	comment, new parameter used to emit error only if passed as true.
	(parse_check_super): Pass extra argument to check_pkg_class_access.
	(do_resolve_class): Likewise.
	(process_imports): Likewise.
	(read_import_dir): Fixed indentation.
	(find_in_imports_on_demand): New local class_type_name. Local
	node_to_use deleted. while loop changed into for loop. Report
	multiple definition only for accessible classes. Improved error
	message.
	(start_complete_expand_method): Local `ptr' removed. DECL_ARGUMENTS
	assigned to parameter list, fixed indentation. while loop changed
	into for loop, restore TREE_CHAIN on local `tem' before the next
	iteration.

( http://gcc.gnu.org/ml/gcc-patches/2001-10/msg01323.html )

From-SVN: r46498
2001-10-25 14:37:44 -07:00
Richard Kenner
8ac61af705 alias.c (can_address_p): Compnonents are not addressable if the containing type has alias set 0.
* alias.c (can_address_p): Compnonents are not addressable if
	the containing type has alias set 0.
	(get_alias_set): Rework to use STRIP_NOPS.
	Only call front-end routine on object, type, or object with
	NOPs stripped, not inner values.
	Use language hook to call front-end routine.
	* builtins.c (get_memory_rtx): Always call set_mem_attributes.
	(expand_builtin_apply): Call set_mem_align on MEMs we make.
	Don't pass alignment to emit_block_move.
	(expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
	(expand_builtin_memset): Likewise, but for clear_storage.
	* c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
	and remove C++ specific parts.
	* c-common.h (c_common_get_alias_set): Add declaration.
	* c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
	* calls.c (emit_call_1): Fix typo in sibcall_pop case.
	(save_fixed_argument_area): Call set_mem_align.
	Remove alignment in call to emit_block_move.
	(emit_library_call_value_1, store_one_arg): Likewise.
	(target_for_arg): Remove; disabled long ago.
	* emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
	once and similar cleanups.
	(offset_address): Use proper introductory comment.
	* expr.c (emit_block_move): Use alignment from that of MEM args, not
	from explicit operand; all callers changed.
	(clear_storage): Likewise.
	(expand_assignment): Don't call set_mem_alias_set on to_rtx.
	(store_field): Remove kludge on alias set used for to_rtx.
	(highest_pow2_factor, case *_DIV_EXPR): Never return 0.
	(expand_expr_unaligned): Call set_mem_attributes instead of
	set_mem_alias_set.
	* expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
	* function.c (assign_stack_temp_for_type): Set MEM alignment.
	(expand_function_end): Track MEM attributes of trampolines.
	* ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
	* integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
	attributes from original.
	* langhooks.c (lang_hook_default_get_alias_set): New function.
	(hook_get_alias_set_0): New function.
	* langhooks.h (hook_get_alias_set_0): New declaration.
	(lang_hook_default_get_alias_set): Likewise.
	(LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
	* reload1.c (alter_reg): Use adjust_address_nv.
	* rtl.c (get_mode_alignment): Moved to here.
	* rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
	change default if unknown from 1 to BITS_PER_UNIT.
	* stor-layout.c (get_mode_alignment): Remove from here.
	* toplev.h (struct lang_hoks): Add get_alias_set field.
	* tree.h (lang_get_alias_set): Delete declaration.
	* config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
	* config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
	(ix86_va_arg): Likewise.
	* config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
	* config/pa/pa.c (hppa_builtin_saveregs): Likewise.
	* config/sparc/sparc.c (sparc_va_arg): Likewise.
	* config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
	(expand_block_move_mem): Remove dead code.
	* cp/cp-lang.c (cxx_get_alias_set): New function.
	Point LANG_HOOKS_GET_ALIAS_SET to it.
	* f/com.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
	(lang_get_alias_set): Delete.
	* java/lang.c (lang_get_alias_set): Deleted.

From-SVN: r46440
2001-10-23 14:51:18 -04:00
Kaveh R. Ghazi
299b5f9ee9 * gjavah.c (jni_print_char): Fix thinko in last change.
From-SVN: r46399
2001-10-22 03:58:19 +00:00
Kaveh R. Ghazi
0df6c2c74e c-format.c (maybe_read_dollar_number): Use safe-ctype macros and/or fold extra calls into fewer ones.
* c-format.c (maybe_read_dollar_number): Use safe-ctype macros
	and/or fold extra calls into fewer ones.
	* collect2.c (dump_file): Likewise.
	* cppexp.c (parse_number): Likewise.
	* cpplex.c (_cpp_lex_direct): Likewise.
	* final.c (output_asm_insn, asm_fprintf): Likewise.
	* fix-header.c (inf_scan_ident, main): Likewise.
	* fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
	Likewise.
	* fold-const.c (real_hex_to_f): Likewise.
	* gen-protos.c (parse_fn_proto): Likewise.
	* genattrtab.c (check_attr_test, check_attr_value): Likewise.
	* genrecog.c (change_state, write_action): Likewise.
	* gensupport.c (shift_output_template): Likewise.
	* local-alloc.c (requires_inout): Likewise.
	* mips-tfile.c (IS_ASM_IDENT): Likewise.
	* protoize.c (is_id_char, main): Likewise.
	* real.c (asctoeg): Likewise.
	* recog.c (asm_operand_ok): Likewise.
	* reload.c (find_reloads): Likewise.
	* scan.c (scan_identget_token): Likewise.
	* sched-vis.c (print_value): Likewise.
	* stringpool.c (ggc_alloc_string): Likewise.
	* toplev.c (read_integral_parameter, decode_g_option): Likewise.
	* tradcif.y (parse_number, yylex, parse_escape): Likewise.
	* tradcpp.c (rescan): Likewise.
	* tree.c (clean_symbol_name): Likewise.
	* varasm.c (decode_reg_name): Likewise.

	* alpha.h (ASM_OUTPUT_ASCII): Likewise.
	* darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
	* dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
	* m88k.c (output_ascii): Likewise.
	* m88k.h (OVERRIDE_OPTIONS): Likewise.
	* mcore.h (REG_CLASS_FROM_LETTER): Likewise.
	* ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
	* sh.h (REG_CLASS_FROM_LETTER): Likewise.

cp:
	* xref.c (GNU_xref_member): Use safe-ctype macros and/or fold
	extra calls into fewer ones.

f:
	* bad.c (ffebad_finish): Use safe-ctype macros and/or fold extra
	calls into fewer ones.
	* implic.c (ffeimplic_lookup_): Likewise.
	* intdoc.c (dumpimp): Likewise.
	* intrin.c (ffeintrin_init_0): Likewise.
	* lex.c (ffelex_backslash_, ffelex_cfebackslash_, ffelex_hash_):
	Likewise.
	* lex.h (ffelex_is_firstnamechar): Likewise.
	* target.c (ffetarget_integerhex): Likewise.

java:
	* gjavah.c (jni_print_char, decode_signature_piece): Use
	safe-ctype macros and/or fold extra calls into fewer ones.
	* lex.c (java_read_unicode, java_lex): Likewise.
	* lex.h (JAVA_START_CHAR_P, JAVA_PART_CHAR_P, JAVA_ASCII_DIGIT,
	JAVA_ASCII_HEXDIGIT, JAVA_ASCII_LETTER): Likewise.
	* mangle_name.c (append_unicode_mangled_name,
	unicode_mangling_length): Likewise.

From-SVN: r46397
2001-10-21 21:32:15 +00:00
Richard Henderson
17ed6335dd Makefile.in (misc.o): Depend on langhooks.h.
ada/
        * Makefile.in (misc.o): Depend on langhooks.h.
        * misc.c: Include it.
        (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
        (LANG_HOOKS_DECODE_OPTION): New.
        (lang_hooks): Use LANG_HOOKS_INITIALIZER.
f/
        * Make-lang.in (f/com.o): Depend on langhooks.h.
        * com.c: Include it.
        (LANG_HOOKS_INIT, LANG_HOOKS_FINISH): New.
        (LANG_HOOKS_INIT_OPTIONS, LANG_HOOKS_DECODE_OPTION): New.
        (lang_hooks): Use LANG_HOOKS_INITIALIZER.
java/
        * Make-lang.in (java/lang.o): Depend on langhooks.h.

From-SVN: r46318
2001-10-17 10:19:18 -07:00
Alexandre Petit-Bianco
c83303d8a4 lang.c (langhooks.h): Included.
2001-10-15  Alexandre Petit-Bianco  <apbianco@redhat.com>

        * lang.c (langhooks.h): Included.
        (LANG_HOOKS_INIT): Redefined.
        (LANG_HOOKS_INIT_OPTIONS): Likewise.
        (LANG_HOOKS_DECODE_OPTION): Likewise.
        (struct lang_hooks lang_hooks): New initialization.

( http://gcc.gnu.org/ml/gcc-patches/2001-10/msg00692.html )

From-SVN: r46270
2001-10-15 15:10:56 -07:00
Per Bothner
89b894e19b parse.y (patch_synchronized_statement): Use a TRY_FINALLY_EXPR rather than a CLEANUP_POINT_EXPR/WITH_CLEANUP_EXPR pair.
* parse.y (patch_synchronized_statement):  Use a TRY_FINALLY_EXPR
	rather than a CLEANUP_POINT_EXPR/WITH_CLEANUP_EXPR pair.
	The former is simpler, and jcf-write.c handles it better.
	(java_complete_lhs):  No longer need to handle CLEANUP_POINT_EXPR
	or WITH_CLEANUP_EXPR.
	* jcf-write.c:  Revert Alex's change from 2000-10-18.  It is no
	longer needed, as we already handle empty TRY_FINALLY_EXPR bodies fine.

From-SVN: r46209
2001-10-11 16:50:49 -07:00
Per Bothner
be98560f31 parse.y (patch_if_else_statement): If the condition is constant, optimize away the test.
* parse.y (patch_if_else_statement):  If the condition is constant,
	optimize away the test.

From-SVN: r46207
2001-10-11 16:34:03 -07:00
Alexandre Petit-Bianco
3fb5c0ebcf [multiple changes]
2001-10-09  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse.y (patch_cast): Call patch_string on the first operand of
	the incoming node, update it if necessary. Fixes java/4510.

2001-10-05  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse.y (register_incomplete_type): Set JDEP_SUPER to be given
	a NULL enclosing context if appropriate. Fixes java/4466.

2001-09-17  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse.y (patch_method_invocation): Inner class creation context
	check not enforced within constructors. Fixes PR java/1873.

( http://gcc.gnu.org/ml/gcc-patches/2001-10/msg00397.html )

From-SVN: r46133
2001-10-09 15:55:35 -07:00
Bryce McKinlay
908fecca8c parse.y (find_as_inner_class): Don't disregard the enclosing scope when name qualifier matches a package name.
* parse.y (find_as_inner_class): Don't disregard the enclosing scope
        when name qualifier matches a package name.

From-SVN: r46113
2001-10-09 06:40:35 +01:00
Tom Tromey
f3ca28bffb re PR java/4489 (bytecode generation endless loop with certain switch() exprs)
Fix for PR java/4489:
	* jcf-write.c (generate_bytecode_insns) [SWITCH_EXPR]: Always
	force a new label when computing `body_block'.

From-SVN: r46092
2001-10-08 20:35:03 +00:00
Kaveh R. Ghazi
8b60264b0d builtins.c (expand_builtin_setjmp_receiver): Const-ify.
* builtins.c (expand_builtin_setjmp_receiver): Const-ify.
	* c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
	Likewise.
	* c-dump.c (dump_option_value_info): Likewise.
	* c-format.c (format_length_info, format_char_info,
	format_flag_spec, format_flag_pair, format_kind_info): Likewise.
	* collect2.c (names): Likewise.
	* cppdefault.h (default_include): Likewise.
	* cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
	* flow.c (life_analysis): Likewise.
	* gcc.c (dir_separator_str, modify_target, option_map,
	target_option_translations, spec_list_1, extra_specs_1,
	init_spec): Likewise.
	* gcov.c (gcov_version_string): Likewise.
	* genattr.c (write_units): Likewise.
	* genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
	* gengenrtl.c (rtx_definition, defs): Likewise.
	* genrecog.c (pred_table): Likewise.
	* global.c (global_alloc): Likewise.
	* lcm.c (optimize_mode_switching): Likewise.
	* local-alloc.c (find_free_reg): Likewise.
	* params.h (param_info): Likewise.
	* predict.c (predictor_info): Likewise.
	* protoize.c (unexpansion_struct): Likewise.
	* real.c (bmask): Likewise.
	* recog.h (insn_operand_data, insn_data): Likewise.
	* regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
	* stmt.c (expand_nl_goto_receiver): Likewise.
	* toplev.c (da, debug_args, lang_opt, documented_lang_options,
	target_switches, target_options): Likewise.
	* tradcif.y (token, tokentab2, yylex): Likewise.
	* tree.h (attribute_spec): Likewise.

	* alpha.c (override_options, alpha_lookup_xfloating_lib_func):
	Likewise.
	* arc.c (arc_output_function_epilogue): Likewise.
	* arm.c (processors, all_cores, all_architectures,
	arm_override_options, isr_attribute_arg, isr_attribute_args,
	arm_isr_value): Likewise.
	* avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
	Likewise.
	* c4x.c (c4x_int_reglist): Likewise.
	* d30v.c (override_options): Likewise.
	* h8300.c (shift_insn): Likewise.
	* i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
	pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
	ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
	builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
	ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
	* i386.h (processor_costs, ix86_cost): Likewise.
	* m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
	* m68hc11.h (processor_costs, m68hc11_cost): Likewise.
	* m68k.c (codes_68881, codes_FPA): Likewise.
	* m88k.c (mode_from_align, max_from_align, all_from_align,
	best_from_align, m_options): Likewise.
	* m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
	* mcore.c (mode_from_align): Likewise.
	* mips/elf64.h (UNIQUE_SECTION): Likewise.
	* mips/iris6gld.h (UNIQUE_SECTION): Likewise.
	* mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
	* mips.h (mips_regno_to_class): Likewise.
	* ns32k.c (scales): Likewise.
	* pa.c (import_string, magic_milli): Likewise.
	* rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
	* sparc.c (leaf_reg_remap, sparc_override_options,
	reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
	Likewise.
	* sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.

cp:
	* class.c (build_vtable_entry_ref): Const-ify.
	* decl.c (predefined_identifier,
	initialize_predefined_identifiers): Likewise.
	* init.c (build_new_1): Likewise.
	* lex.c (cplus_tree_code_type, cplus_tree_code_length, resword):
	Likewise.

f:
	* bad.c (_ffebad_message_, ffebad_messages_): Const-ify.
	* bld.c (ffebld_arity_op_): Likewise.
	* bld.h (ffebld_arity_op_): Likewise.
	* com.c (ffecom_init_0): Likewise.
	* intdoc.c (_ffeintrin_name_, _ffeintrin_gen_, _ffeintrin_spec_,
	_ffeintrin_imp_, names, gens, imps, specs, cc_pair,
	cc_descriptions, cc_summaries): Likewise.
	* intrin.c (_ffeintrin_name_, _ffeintrin_gen_, _ffeintrin_spec_,
	_ffeintrin_imp_, ffeintrin_names_, ffeintrin_gens_,
	ffeintrin_imps_, ffeintrin_specs_): Likewise.

java:
	* jcf-io.c (format_uint): Const-ify.
	* lang.c (java_tree_code_type, java_tree_code_length): Likewise.
	* lex.c (java_get_line_col): Likewise.
	* parse.y (build_incdec): Likewise.

From-SVN: r46062
2001-10-07 16:51:11 +00:00
Alexandre Petit-Bianco
7754e0a968 parse.y (patch_assignment): Use lvalue's original TYPE when building the final COMPOUND_EXPR.
2001-10-03  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse.y (patch_assignment): Use lvalue's original TYPE when
	building the final COMPOUND_EXPR.
	(try_reference_assignconv): Fixed leading comment.

( http://gcc.gnu.org/ml/java-patches/2001-q4/msg00027.html )

From-SVN: r46004
2001-10-03 19:58:39 -07:00
Alexandre Petit-Bianco
e9546ca438 parse.y (check_final_variable_indirect_assignment): For COMPOUND_EXPR...
2001-09-26  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse.y (check_final_variable_indirect_assignment): For
	COMPOUND_EXPR, return only if finals were found initialized
	properly, if not, keep on checking.
	(check_final_variable_global_assignment_flag): New local
	error_found, set when appropriate and used to decide whether to
	report uninitialized finals. Fixed typo in comment.

( http://gcc.gnu.org/ml/gcc-patches/2001-09/msg01160.html )

From-SVN: r45844
2001-09-27 12:20:12 -07:00
Alexandre Petit-Bianco
f6a67a813e re PR java/4360 (libjava fails to compile on i686-pc-linux-gnu (AttributedString))
2001-09-22  Alexandre Petit-Bianco  <apbianco@redhat.com>

        * decl.c (init_decl_processing): Fixed typo in predef_filenames
        last three initializations. Fixes PR java/4360.

( http://gcc.gnu.org/ml/gcc-patches/2001-09/msg00903.html )

From-SVN: r45756
2001-09-22 11:50:09 -07:00
Alexandre Petit-Bianco
870a5b8a90 re PR java/4366 (java class initialization bug)
2001-09-20  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse.y (patch_method_invocation): Build class initialization
	when static finals are used to qualify method invocation.
	Fixes PR java/4366.

( http://gcc.gnu.org/ml/gcc-patches/2001-09/msg00880.html )

From-SVN: r45743
2001-09-21 22:03:35 -07:00
Richard Henderson
6723181663 tree.def (FDESC_EXPR): New.
gcc/
        * tree.def (FDESC_EXPR): New.
        * expr.c (expand_expr): Handle it.
        * varasm.c (initializer_constant_valid_p): Likewise.
        (output_constant): Likewise.
        * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
        * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
        (ASM_OUTPUT_FDESC): New.
        * doc/tm.texi: Document the new macros.
gcc/cp/
        * class.c (set_vindex): Mind TARGET_VTABLE_USES_DESCRIPTORS.
        (build_vtbl_initializer): Likewise.
        (build_vfn_ref): New.
        * cp-tree.h: Declare it.
        * call.c (build_over_call): Use it.
        * decl2.c (mark_vtable_entries): Mark FDESC_EXPR.
        * typeck.c (get_member_function_from_ptrfunc): Mind descriptors.
gcc/java/
        * class.c (get_dispatch_table): Handle function descriptors.
        (build_dtable_decl): Likewise.
        * expr.c (build_invokevirtual): Likewise.
gcc/testsuite/
        * g++.old-deja/g++.abi/ptrmem.C: Update for ia64 c++ abi.
        * g++.old-deja/g++.abi/vtable2.C: Likewise.

From-SVN: r45733
2001-09-21 09:58:22 -07:00
Alexandre Petit-Bianco
2e3b2d2c07 parse.h: (WFL_STRIP_BRACKET): Re-written using build_type_name_from_array_name.
2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse.h: (WFL_STRIP_BRACKET): Re-written using
	build_type_name_from_array_name.
	(STRING_STRIP_BRACKETS): New macro.
	* parse.y (build_type_name_from_array_name): New function.
	(array_creation_expression:): Accumulate []s instead of [s.
	(cast_expression:): Accumulate []s instead of [s after cast type
	name.
	(build_array_from_name): Local string deleted, use
	build_type_name_from_array_name.
	(build_unresolved_array_type): Accumulate []s instead of [s after
	type name.
	(register_fields): Fixed comment.
	(resolve_class): Local name, base deleted, new locals tname and
	array_dims. Use build_type_name_from_array_name. Use array_dims to
	build array type.
	(purify_type_name): Use STRING_STRIP_BRACKETS.

( http://gcc.gnu.org/ml/gcc-patches/2001-09/msg00779.html )

From-SVN: r45732
2001-09-21 09:01:45 -07:00
Andreas Jaeger
e64c46ce50 parse.y: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
* parse.y: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
	* jv-scan.c: Likewise.

From-SVN: r45671
2001-09-18 07:22:40 +02:00
Tom Tromey
7a91449ca1 re PR java/4189 (gcj generates bytecode for switch stmt that doesn't verify)
* jcf-write.c (generate_bytecode_insns) [SWITCH_EXPR]: Call
	NOTE_PUSH for single-case push.  Fixes PR java/4189.

From-SVN: r45655
2001-09-17 17:03:13 +00:00
Alexandre Petit-Bianco
653d5d95bc java-tree.h (TYPE_IMPORT_LIST): New macro.
2001-09-13  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* java-tree.h (TYPE_IMPORT_LIST): New macro.
	(TYPE_IMPORT_DEMAND_LIST): Likewise.
	(struct lang_type): New fields import_list and import_demand_list.
	* parse.y (java_complete_class): Initialize TYPE_IMPORT_LIST and
	TYPE_IMPORT_DEMAND_LIST with ctxp counterparts.
	(do_resolve_class): New local saved_enclosing_type, initialized,
	passed as parameter to find_in_imports and find_in_imports_on_demand.
	(find_in_imports): Added paramater enclosing_type, use its
	TYPE_IMPORT_LIST when applicable.
	(find_in_imports_on_demand): Added parameter enclosing_type, use
	its TYPE_IMPORT_DEMAND_LIST when applicable. Reorganized locals
	declaration and initialization.
	(fold_constant_for_init): Switch/restore current_class to the
	appropriate context.

( http://gcc.gnu.org/ml/gcc-patches/2001-09/msg00563.html )

From-SVN: r45619
2001-09-14 15:58:37 -07:00
Mark Mitchell
6d334db811 * verify.c (verify_jvm_instructions): Fix typo.
From-SVN: r45586
2001-09-14 00:16:36 +00:00
Kaveh R. Ghazi
83182544db c-parse.in (yyerror): Const-ification and/or static-ization.
* c-parse.in (yyerror): Const-ification and/or static-ization.
	* c-typeck.c (push_member_name): Likewise.
	* collect2.c (main): Likewise.
	* dbxout.c (dbxout_parms): Likewise.
	* diagnostic.c (format_with_decl): Likewise.
	* dwarf2out.c (output_ranges): Likewise.
	* dwarfout.c (fundamental_type_code): Likewise.
	* except.c (dw2_output_call_site_table): Likewise.
	* gcc.c (do_spec_1): Likewise.
	* genopinit.c (optabs): Likewise.
	* objc/objc-act.c (synth_id_with_class_suffix, start_class,
	gen_declaration_1, handle_impent): Likewise.
	* protoize.c (default_include, in_system_include_dir, abspath):
	Likewise.
	* sched-vis.c (visualize_stall_cycles): Likewise.
	* sdbout.c (plain_type_1, sdbout_end_function,
	sdbout_end_epilogue): Likewise.
	* varasm.c (decode_reg_name): Likewise.

	* 1750a.c (mod_regno_adjust): Likewise.
	* alpha.c (alpha_write_one_linkage,
	unicosmk_output_default_externs): Likewise.
	* arm.c (arm_condition_codes): Likewise.
	* arm.h (arm_condition_codes): Likewise.
	* avr.c (output_movsisf, encode_section_info): Likewise.
	* darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
	Likewise.
	* i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
	* i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
	* m88k.c (output_function_profiler): Likewise.
	* mips.c (mips_output_conditional_branch): Likewise.
	* ns32k.c (ns32k_out_reg_names): Likewise.
	* ns32k.h (ns32k_out_reg_names): Likewise.
	* pj.c (pj_output_rval): Likewise.
	* rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
	* sparc.c (sparc_flat_function_prologue,
	sparc_flat_function_epilogue): Likewise.

cp:
	* decl.c (warn_extern_redeclared_static, cp_make_fname_decl):
	Const-ification.
	* pt.c (tsubst_decl): Likewise.

f:
	* bad.c (ffebad_finish): Const-ification and/or static-ization.
	* intrin.c (ffeintrin_cmp_name_): Likewise.
	* stc.c (ffestc_R904): Likewise.

java:
	* expr.c (expand_invoke): Const-ification.
	* parse.y (patch_method_invocation): Likewise.

From-SVN: r45581
2001-09-13 14:37:29 +00:00
Kaveh R. Ghazi
fd033052f9 gjavah.c (cxx_keywords): Const-ification.
* gjavah.c (cxx_keywords): Const-ification.
	* keyword.gperf (java_keyword): Likewise.
	* lang.c (java_tree_code_name): Likewise.
	* lex.c (cxx_keywords): Likewise.
	* parse.y (java_parser_context_suspend, merge_string_cste): Likewise.

From-SVN: r45564
2001-09-12 16:21:12 +00:00
Richard Henderson
fcbc317fc9 * parse.h (ctxp_for_generation): Mark extern.
From-SVN: r45552
2001-09-11 13:17:04 -07:00
Richard Henderson
c347e68d71 * class.c (build_class_ref): Set DECL_EXTERNAL before make_decl_rtl.
From-SVN: r45500
2001-09-10 01:52:54 -07:00
Alexandre Petit-Bianco
0ef02b2d31 java-tree.h (compile_resource_file): Grouped with other prototypes.
2001-09-06  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* java-tree.h (compile_resource_file): Grouped with other prototypes.
	* jvspec.c (lang_specific_driver): Removed unused local `ptr.'

(http://gcc.gnu.org/ml/gcc-patches/2001-09/msg00249.html )

From-SVN: r45475
2001-09-07 11:40:26 -07:00
Alexandre Petit-Bianco
731866ba53 re PR java/4230 (gcj -C segfaults on static string continuation '+' in gcj 3.1 expermental.)
2001-09-05 Alexandre Petit-Bianco  <apbianco@redhat.com>

	* jcf-write.c (generate_classfile): Issue an error in case of
	field/initial value mismatch.
	* parse.y (analyze_clinit_body): Keep <clinit> if an array is
	being initialized and we're generating bytecode.
	(java_complete_lhs): In MODIFY_EXPR section: added comments,
	set DECL_INITIAL properly when appropriate.
	Fixes PR java/4230
	Fixes PR java/4204

(http://gcc.gnu.org/ml/gcc-patches/2001-09/msg00247.html )

From-SVN: r45474
2001-09-07 11:30:29 -07:00
Matt Kraai
6a9f67271e typeck.c (java_array_type_length, [...]): Represent empty arrays by NULL index.
* java/typeck.c (java_array_type_length, build_prim_array_type):
        Represent empty arrays by NULL index.

        * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.

From-SVN: r45460
2001-09-07 01:54:32 -07:00
Anthony Green
f2767a670e gcj -R patches
From-SVN: r45449
2001-09-06 22:23:09 +00:00
Anthony Green
7be5b0e5a4 class.c (O_BINARY): Define if necessary.
* class.c (O_BINARY): Define if necessary.
        (registerResource_libfunc): Declare.
        (init_class_processing): Initilize registerResource_libfunc.
        (compile_resource_file): New function.
        * java-tree.h (resource_name): Declare.
        (compile_resource_file): Declare.
        * jcf-parse.c (yyparse): Handle compiling java resource files.
        * lang.c (java_decode_option): Handle -fcompile-resource option.
        * jvspec.c (lang_specific_driver): Handle -R flag for compiling
        resource files.
        * gcj.texi (Code Generation): Add documentation for -R flag.

From-SVN: r45448
2001-09-06 22:22:44 +00:00
Per Bothner
0286a91d40 parse.y (maybe_yank_clinit): A field without an initializer is not relevant.
* parse.y (maybe_yank_clinit):  A field without an initializer is not
	relevant.  All initializers except static final and constant require
	<clinit>, regardless of flag_emit_class_files.

From-SVN: r45388
2001-09-04 14:50:31 -07:00
Alexandre Petit-Bianco
3ed218d4c9 [multiple changes]
2001-08-30  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse.y (patch_assignment): Don't verify final re-assignment here.
	(java_complete_lhs): Verify assignments to finals calling
	patch_assignment. Verify re-assignments to finals before calling
	patch_assignment.

2001-08-29  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse.y (java_complete_lhs): Allow final locals in CASE_EXPRs.
	Fixes PR java/1413

2001-08-28  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* lex.c (java_lex): new local found_hex_digits. Set and then used
	in test to reject invalid hexadecimal numbers.
	* parse.y (java_complete_tree): Prevent unwanted cast with
	initialized floating point finals.
	(patch_binop): Emit a warning when detecting a division by zero,
	mark result not constant, don't simplify non integer division.

(http://gcc.gnu.org/ml/java-patches/2001-q3/msg00343.html )

From-SVN: r45345
2001-08-31 21:42:50 -07:00
Per Bothner
289b57ee28 class.c (set_constant_value): When not emiting class files, then a String ConstantValue is a utf8const_ptr_type.
* class.c (set_constant_value):  When not emiting class files, then a
	String ConstantValue is a utf8const_ptr_type.

From-SVN: r45333
2001-08-31 13:07:31 -07:00
Per Bothner
b3ebe23057 Temporaily change error to wanring to hopefully allow boostrap.
From-SVN: r45311
2001-08-30 23:44:22 -07:00
Per Bothner
be0c7ff405 jcf-write.c (generate_classfile): Check that field is primitive or string before emitting ConstantValue attribute.
* jcf-write.c (generate_classfile):  Check that field is primitive
	or string before emitting ConstantValue attribute.

From-SVN: r45306
2001-08-30 21:14:44 -07:00
Per Bothner
f0cdee96aa parse.y (resolve_qualified_expression_name): If creating a COMPOUND_EXPR, set it's type correctly.
* parse.y (resolve_qualified_expression_name):  If creating a
	COMPOUND_EXPR, set it's type correctly.

From-SVN: r45305
2001-08-30 20:07:12 -07:00
Per Bothner
bc8a5e56c0 jcf-io.c (open_class): Set filename field.
* jcf-io.c (open_class):  Set filename field.

	* jcf-parse,c (parse_class_file):  Set current_function_decl
	for better error message when Code attribute is missing.

	* lang.c (put_decl_node, lang_print_error):  Re-arrange for
	better diagnostics, especially for constructors.

From-SVN: r45299
2001-08-30 14:28:20 -07:00
Per Bothner
1b9ee7233c jcf-write.c (generate_classfile): Don't write ConstantValue attribute if field is not final...
* jcf-write.c (generate_classfile):  Don't write ConstantValue
	attribute if field is not final, for compatibility with jdk.

	* jcf-write.c (generate_classfile):  Convert ConstantValue values
	to correct type.  Work-around for front-end bug.
	* class.c (set_constant_value):  Error if constant has wrong type.

From-SVN: r45298
2001-08-30 14:08:32 -07:00
Per Bothner
6e4302ec5b jcf-dump.c (print_constant): Fix fencepost error so "Float" and "Double" are printed at verbosity 1.
* jcf-dump.c (print_constant):  Fix fencepost error so "Float" and
	"Double" are printed at verbosity 1.

	* jcf-dump.c (main):  Disable flag_print_attributes if --javap.

	* jcf-dump.c (SPECIAL_IINC):  Remove unneeded casts to long.

From-SVN: r45296
2001-08-30 12:42:36 -07:00
Alexandre Petit-Bianco
8dfa3e5380 Removing conflict indicators. Oops.
From-SVN: r45252
2001-08-28 19:31:55 -07:00
Alexandre Petit-Bianco
1ca09b4878 re PR java/4141 (GCJ compiles illegal code without complaining.)
2001-08-27  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse.y (resolve_qualified_expression_name): Handle unresolved
	qualified expressions, prevent numerical qualifiers, fixed typo.
	Fixes PR java/4141

(http://gcc.gnu.org/ml/gcc-patches/2001-08/msg01644.html)

From-SVN: r45251
2001-08-28 19:22:52 -07:00
Per Bothner
1a27eec11a jcf-write.c (generate_bytecode_insns): For increments and decrements just recurse to push constant.
* jcf-write.c  (generate_bytecode_insns):  For increments and
        decrements just recurse to push constant.  Improvement on Mark's patch.

From-SVN: r45241
2001-08-28 15:18:57 -07:00
Mark Mitchell
06657dcd6e jcf-write.c (generate_bytecode_insns): Generate an integer to real conversion for increments and decrements of reals.
* jcf-write.c (generate_bytecode_insns): Generate an integer to
	real conversion for increments and decrements of reals.

From-SVN: r45230
2001-08-28 17:55:10 +00:00
Alexandre Petit-Bianco
7b02957ec0 parse.y (check_deprecation): Handle TYPE_DECL in a special case...
2001-08-24  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse.y (check_deprecation): Handle TYPE_DECL in a special case,
	don't report anything but deprecated class when marked so. Handle
	VAR_DECL.
	(patch_method_invocation): Check deprecation on methods and types.
	(patch_binop): code becomes an enum tree_code, added default: to
	switch to handle that. Detect division by zero, try to fold and
	return before using a subroutine.

(http://gcc.gnu.org/ml/gcc-patches/2001-08/msg01495.html)

From-SVN: r45187
2001-08-27 07:46:57 -07:00
Alexandre Petit-Bianco
496849ba9a jcf-parse.c (yyparse): Set magic to 0, don't issue error for a file smaller than 4 bytes.
2001-08-23  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* jcf-parse.c (yyparse): Set magic to 0, don't issue error for a
	file smaller than 4 bytes.
	* parse.y (check_inner_circular_reference): New function.
	(check_circular_reference): Likewise.
	(array_initializer:): Accept {,}.
	(java_check_circular_reference): Rewritten using
	check_circular_reference and check_inner_circular_reference.
	(java_complete_expand_method): Unconditionally save and restore
	the unpurged exception list.
	(build_dot_class_method_invocation): Unmangle signature parameter.

(http://gcc.gnu.org/ml/gcc-patches/2001-08/msg01417.html)

From-SVN: r45156
2001-08-24 10:40:54 -07:00
Tom Tromey
66b461ce02 decl.c (init_decl_processing): Add `throws' field to method descriptor.
* decl.c (init_decl_processing): Add `throws' field to method
	descriptor.
	* class.c (make_method_value): Compute `throws' field for method.

From-SVN: r45152
2001-08-24 17:24:02 +00:00
Alexandre Petit-Bianco
df1c53460d parse.y (resolve_inner_class): Keep local_enclosing to NULL if circularity is detected.
2001-08-22  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse.y (resolve_inner_class): Keep local_enclosing to NULL if
	circularity is detected.
	(ctors_unchecked_throws_clause_p): Fixed leading comment.

(http://gcc.gnu.org/ml/gcc-patches/2001-08/msg01283.html)

From-SVN: r45109
2001-08-22 08:27:35 -07:00
Richard Henderson
c8af3574e3 defaults.h (UNALIGNED_SHORT_ASM_OP, [...]): Move from ...
* defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
	UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
	* dwarf2asm.c: ... here.
	* dwarfout.c: Remove them.

	* varasm.c (assemble_integer): Add align parameter.
	(assemble_real, output_constant, output_constructor): Likewise.
	* output.h: Update decls.
	* dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
	config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
	config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
	config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
	config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
	Update all callers.

	* final.c (end_final): Abort profile block generation if we
	havn't layed it out properly.
	* output.h (assemble_eh_integer): Remove stale decl.
	* varasm.c (assemble_zeros): Tidy; use assemble_integer.
	(min_align): New.
	(assemble_integer): Handle unaligned data.
	(assemble_real): Abort on unaligned data.
	(output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
	anything useful.
	(default_dtor_section_asm_out_destructor): Use assemble_align.
	(default_named_section_asm_out_constructor): Likewise.
	(default_ctor_section_asm_out_constructor): Likewise.
	* config/darwin.c (machopic_asm_out_constructor): Likewise.
	(machopic_asm_out_destructor): Likewise.
	* config/nextstep.c (nextstep_asm_out_constructor): Likewise.
	(nextstep_asm_out_destructor): Likewise.
	* config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
	(vms_asm_out_destructor): Likewise.

        * java/class.c (emit_register_classes): Add align parameter to
        call to assemble_integer.

From-SVN: r44992
2001-08-17 17:53:20 -07:00
Alexandre Petit-Bianco
171262081c [multiple changes]
2001-08-16  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* jcf-parse.c (load_class): New locals saved and class_loaded. If
	loading a class_or_name fails, try considering an innerclass name
	and load the enclosing context.
	* parse.y (resolve_inner_class): New function.
	(find_as_inner_class): Added leading comment.
	(register_incomplete_type): Keep the current context as enclosing
	context for JDEP_FIELD dependencies.
	(do_resolve_class): Locals new_class_decl and super initialized to
	NULL. Call resolve_inner_class, explore the enclosing context
	superclass if necessary.
	Fixes PR java/4007

2001-08-12  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* decl.c (init_decl_processing): exception_type_node,
	class_not_found_type_node, and no_class_def_found_type_node
	initialized. predef_filenames augmented accordingly.
	instinit_identifier_node initialized.
	* java-tree.def (INSTANCE_INITIALIZERS_EXPR): Entry removed.
	* java-tree.h (enum java_tree_index): New entries
	JTI_EXCEPTION_TYPE_NODE, JTI_CLASS_NOT_FOUND_TYPE_NODE,
	JTI_NO_CLASS_DEF_FOUND_TYPE_NODE, JTI_INSTINIT_IDENTIFIER_NODE.
	(exception_type_node): New macro.
	(class_not_found_type_node): Likewise.
	(no_class_def_found_type_node): Likewise.
	(instinit_identifier_node): Likewise.
	(PREDEF_FILENAMES_SIZE): Adjusted.
	(TYPE_HAS_FINAL_VARIABLE): Fixed typo.
	(struct lang_type): Fixed typo in bitfield name.
	(DECL_INSTINIT_P): New macro.
	(ID_INSTINIT_P): Likewise.
	* jcf-write.c (generate_classfile): instinit$ bears the Synthetic
	attribute.
	* parse.y (encapsulate_with_try_catch): New function.
	(generate_instinit): Likewise.
	(build_instinit_invocation): Likewise.
	(ctors_unchecked_throws_clause_p): Likewise.
	(add_instance_initializer): Deleted.
	(build_instance_initializer): Likewise.
	(in_instance_initializer): Likewise.
	(check_method_redefinition): instinit$ not to be verified.
	(java_complete_expand_methods): Generate instinit$, simplified code.
	(build_dot_class_method): Eliminated unnecessary locals. Use
	encapsulate_with_try_catch, removed unnecessary code.
	(fix_constructors): New local iii. Use build_instinit_invocation.
	(patch_method_invocation): Added comment.
	(maybe_use_access_method): Don't consider instinit$.
	(find_applicable_accessible_methods_list): Shorten the search for
	instinit$ too.
	(java_complete_lhs): case INSTANCE_INITIALIZERS_EXPR removed.
	(patch_return): Use DECL_INSTINIT_P instead of in_instance_initializer.
	(patch_throw_statement): Likewise. Fixed typo.

2001-08-09  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* expr.c (java_lang_expand_expr): Call `expand_end_bindings' and
	`poplevel' in the right order.

(http://gcc.gnu.org/ml/gcc-patches/2001-08/msg01061.html )

From-SVN: r44982
2001-08-17 14:07:07 -07:00
Richard Henderson
715bdd29f3 varasm.c (named_section_flags): Remove align parameter.
* varasm.c (named_section_flags): Remove align parameter.
        * varasm.c, dwarf2out.c: Update all callers.
        * output.h: Update prototypes.

        * target.h (target.asm_out.named_section): Remove align parameter.
        * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
        config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
        config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
        config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
        config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.

        * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
        (get_named_section_flags, set_named_section_flags): New.
        (named_section_flags): Use them.
        (named_section): Do decl vs section flags check here...
        (default_section_type_flags): ... not here.
        (init_varasm_once): Create in_named_htab.
        (resolve_unique_section): Mark reloc unused.

From-SVN: r44953
2001-08-16 19:33:41 -07:00
Tom Tromey
4266d0b272 jcf-dump.c (main): Updated for change to jcf_path_seal.
* jcf-dump.c (main): Updated for change to jcf_path_seal.
	* gjavah.c (main): Updated for change to jcf_path_seal.
	* lang.c (version_flag): New global.
	(java_decode_option): Recognize `-version'.
	(java_init): Update for change to jcf_path_seal.
	* jcf.h (jcf_path_seal): Added `print' argument.
	* jcf-path.c (jcf_path_seal): Added `print' argument.

From-SVN: r44946
2001-08-16 21:52:14 +00:00
Zack Weinberg
e78d8e5137 expr.h: Split out optab- and libfunc-related code to...
* expr.h: Split out optab- and libfunc-related code to...
	* optabs.h, libfuncs.h: ... these new headers.

	* Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
	(OPTABS_H): New.
	(various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
	dependencies.
	* mkconfig.sh: Don't include insn-codes.h from config.h.

	* reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
	enum insn_code is available.  Move reload_in_optab and
	reload_out_optab array declarations to optabs.h.
	* regmove.c (gen_add3_insn): Move to optabs.c, export from
	there, prototype in expr.h.
	* gencodes.c: Cleanup: zap global variables, don't use
	printf where puts will do, don't bother defining MAX_INSN_CODE
	which nothing uses, let CODE_FOR_nothing get its value implicitly.

	* genemit.c, genopinit.c: Include optabs.h in generated file.
	* genoutput.c: Include insn-codes.h in generated file.
	* builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
	expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
	reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
	config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
	config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
	config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
	Include optabs.h.
	* builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
	optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
	config/m88k/m88k.c, config/sparc/sparc.c:
	Include libfuncs.h.
	* reload.c: Include expr.h and optabs.h before reload.h.
	* config/alpha/alpha.c: Include tree.h before reload.h.
	* config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
	and reload.h in that order.
	* config/sparc/sparc.c: Include debug.h.
	* recog.c: Include insn-codes.h.

cp:
	* Make-lang.in (cp/except.o): Add libfuncs.h to dependencies.
	* except.c: Include libfuncs.h.
java:
	* Make-lang.in (java/decl.o): Update dependencies.
	* decl.c: Include libfuncs.h, don't include toplev.h.

From-SVN: r44858
2001-08-13 15:56:51 +00:00
David Edelsohn
6ba5747268 Revert Rainer Orth's Java and gcc.c patch.
From-SVN: r44834
2001-08-12 16:36:22 -04:00
Zack Weinberg
94aca34298 toplev.c (set_float_handler): Make static.
* toplev.c (set_float_handler): Make static.
	* toplev.h: Don't prototype set_float_handler.

	* simplify-rtx.c: Don't include setjmp.h.
	(simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
	New functions.
	(simplify_unary_operation, simplify_binary_operation): Use them,
	via do_float_handler.

	* fold-const.c: Don't include setjmp.h.
	(exact_real_inverse_1): New function.
	(exact_real_inverse): Use it, via do_float_handler.

	* varasm.c: Don't include setjmp.h.
	(assemble_real_1): New function.
	(assemble_real): Use it, via do_float_handler.
	Call internal_error if we get a trap here.

	* c-parse.in, cse.c, cselib.c, ch/lex.c, config/i386/i386.c,
	config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.

	* java/lex.h: Don't include setjmp.h.  Don't define
	SET_FLOAT_HANDLER or prototype set_float_handler.

From-SVN: r44815
2001-08-12 01:56:10 +00:00
Anthony Green
ca11a2e959 Restore HPUX gcj bootstrap.
From-SVN: r44758
2001-08-10 07:52:21 +00:00
Richard Henderson
2cc07db4b0 Move constructor/destructor handling into target hooks.
From-SVN: r44747
2001-08-09 15:33:35 -07:00
Alexandre Petit-Bianco
4009bb7d50 check-init.c (flags.h): Include
2001-08-08  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* check-init.c (flags.h): Include
	(check_init): Don't report uninitialized static class
	initialization flags, don't free bit index when doing static class
	initialization optimization.
	(check_for_initialization): Return type changed to `unsigned int.'
	(attach_initialized_static_class): New function.
	* class.c (add_method_1): Create the initialized static class
	table if necessary.
	(finish_class): Always emit deferred inline methods.
	* decl.c (emit_init_test_initialization): Moved to expr.c
	(complete_start_java_method): Don't traverse
	DECL_FUNCTION_INIT_TEST_TABLE.
	(lang_mark_tree): Mark hash tables in function decls.
	* expr.c (emit_init_test_initialization): Moved from decl.c.
	(build_class_init): Create LAG_DECL_SPECIFIC for the static class
	initialization flag, set DECL_CONTEXT and
	LOCAL_CLASS_INITIALIZATION_FLAG.
	(java_lang_expand_expr): Emit initialization code for static class
	initialized flags when entering block, if necessary.
	* gcj.texi (-fno-optimize-static-class-initialization): Documented.
	* java-tree.h (flag_optimize_sci): New global variable declaration.
	(DECL_FUNCTION_INITIALIZED_CLASS_TABLE): New macro.
	(DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND): Likewise.
	(LOCAL_FINAL_P): Fixed typo in comment.
	(FINAL_VARIABLE_P): Likewise.
	(LOCAL_CLASS_INITIALIZATIO_FLAG): New macro.
	(LOCAL_CLASS_INITIALIZATIO_FLAG_P): Likewise.
	(struct lang_decl): New fields `ict', `smic' and `cif.'
	(check_for_initialization): New returned value for global.
	(attach_initialized_static_class): New global function.
	(STATIC_CLASS_INIT_OPT_P): New macro.
	* lang-options.h (-fno-optimize-static-class-initialization): New flag.
	* lang.c (java_decode_option): Handle
	`-fno-optimize-static-class-initialization'
	* parse.y (start_complete_expand_method): New function.
	(java_expand_method_bodies): Likewise.
	(attach_init_test_initialization_flags): Likewise.
	(adjust_init_test_initialization): Likewise.
	(emit_test_initialization): Likewise.
	(java_complete_expand_methods): Nullify abstract and native method
	bodies.
	(java_complete_expand_method): New locals `fbody', `block_body'
	and `exception_copy.' Reorganized: directly return on empty method
	bodies, call `start_complete_expand_method', remember definitely
	initialized static class in function, don't expand method bodies.
	(java_expand_classes): Call `java_expand_method_bodies' before
	`finish_class' when compiling to native.
	(resolve_expression_name): Use `orig' after building outer class
	field access.
	(patch_invoke): Remember static method invokations.

(http://gcc.gnu.org/ml/gcc-patches/2001-08/msg00454.html)

From-SVN: r44733
2001-08-08 21:19:12 -07:00
Anthony Green
6351543d13 class.c (emit_register_classes): Use assemble_jcr if possible.
2001-08-08  Anthony Green  <green@redhat.com>

	* java/class.c (emit_register_classes): Use assemble_jcr if
	possible.  Keep the original mechanism as a fallback.
	* defaults.h (JCR_SECTION_NAME): Define if we have named section
	and weak symbol support.
	* crtstuff.c (__JCR_LIST__): Define.
	(__JCR_END__): Define.
	(_Jv_RegiserClasses): Define weak symbol if possible.
	(__do_global_ctors_aux): Register classes for ELF targets with
	weak symbol support.

From-SVN: r44731
2001-08-08 23:33:51 +00:00
Richard Henderson
47907859fd varasm.c (assemble_constructor): Take a symbol_ref and a priority instead of a bare string.
* varasm.c (assemble_constructor): Take a symbol_ref and a
        priority instead of a bare string.  Move priority handling
        here from cp/decl2.c.
        * output.h: Update decls.

        * c-decl.c (c_expand_body): Update calls to assemble_constructor
        and assemble_destructor.
        * profile.c (output_func_start_profiler): Likewise.
        * objc/objc-act.c (finish_objc): Likewise.
        (build_module_descriptor): Return the symbol not the symbol name.

        * ch/grant.c (chill_finish_compile): Pass a symbol_ref and priority
        to assemble_constructor.

        * cp/decl2.c (finish_objects): Pass a symbol_ref and priority to
        assemble_{constructor,destructor}.  Remove priority handling.

        * java/class.c (emit_register_classes): Pass a symbol_ref and priority
        to assemble_constructor.

From-SVN: r44678
2001-08-06 17:13:35 -07:00
Alexandre Petit-Bianco
36e10d77f2 java-tree.h (all_class_filename): New macro.
2001-08-02  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* java-tree.h (all_class_filename): New macro.
	(enum java_tree_index): New enum `JTI_ALL_CLASS_FILENAME.'
	(BUILD_FILENAME_IDENTIFIER_NODE): Fixed leading comment. Link
	newly created IDENTIFIER_NODE to `all_class_filename.'

(http://gcc.gnu.org/ml/gcc-patches/2001-08/msg00093.html)
 Proxima Estacion Esperanza

From-SVN: r44588
2001-08-02 17:20:50 -07:00
Rainer Orth
578672a267 re PR java/227 (mips-tfile:internal error (when compiling java code))
* gcc.c (set_collect_gcc_options): New function, split out from
	main.
	Ignore elided switches.
	(do_spec_1): Invoke before executing command.
	(set_input): Export.
	Move declaration ...
	* gcc.h (set_input): ... here.
	* config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
	file.

	java:
	* jvspec.c (jvgenmain_spec): Cannot use %umain, breaks
	ASM_FINAL_SPEC.
	(lang_specific_pre_link): Use set_input to set input_filename.
	Append `main' here.
	* jvgenmain.c (usage): Append literal `main' to CLASSNAME.
	(main): Fix definition.
	Strip `main' from classname.
	Fixes PR java/227.

From-SVN: r44572
2001-08-02 12:26:00 +00:00
Jeff Sturm
f2f25b6d56 java-tree.h (BUILD_FILENAME_IDENTIFIER_NODE): Use ggc_add_tree_root to register roots.
* java-tree.h (BUILD_FILENAME_IDENTIFIER_NODE):
        Use ggc_add_tree_root to register roots.

From-SVN: r44530
2001-08-01 04:47:48 +00:00
Alexandre Petit-Bianco
6ad7895ac2 *** empty log message ***
From-SVN: r44528
2001-07-31 19:28:43 -07:00
Alexandre Petit-Bianco
9d7d836262 [multiple changes]
2001-07-18  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse.y (create_interface): Avoid cyclic inheritance report when
	syntax error encountered during class definition.
	Fixes PR java/2956

2001-07-17  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse.h (INTERFACE_INNER_MODIFIERS): Disallow `private.'
	* parse.y (check_class_interface_creation): Allow `private' if the
	enclosing is not an interface.
	(create_interface): Interface tagged public if the enclosing
	context	is an interface.
	(create_class): Class tagged public if the enclosing context
	is an interface.
	Fixes PR java/2959

2001-07-17  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* class.c (push_class): Set DECL_SIZE to `integer_zero_node.'
	Fixes PR java/2665

2001-07-13  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse.y (java_complete_lsh): Set CAN_COMPLETE_NORMALLY and unset
	TREE_CONSTANT_OVERFLOW of CASE_EXPR value.
	Fixes PR java/3602

(http://gcc.gnu.org/ml/gcc-patches/2001-07/msg02297.html )

From-SVN: r44524
2001-07-31 15:20:05 -07:00
Tom Tromey
6a65ea5be3 For PR java/2812:
* lex.h: Use HAVE_ICONV, not HAVE_ICONV_H.
	* lex.c (java_new_lexer): Use ICONV_CONST.
	(java_read_char): Likewise.
	* Make-lang.in (jc1$(exeext)): Link against LIBICONV.
	(jv-scan$(exeext)): Likewise.

From-SVN: r44120
2001-07-18 17:18:55 +00:00
Tim Josling
e6290e7425 * tree.def (EXPON_EXPR) remove. Never supported anyway.
* f/com.c (ffecom_overlap_): Remove references to EXPON_EXPR.
	(ffecom_tree_canonize_ref_): Likewise.

	* java/check-init.c (check_init): Remove references to EXPON_EXPR.

From-SVN: r44011
2001-07-14 19:16:35 -07:00
Tom Tromey
4b2dc1b2b6 jvspec.c (jvgenmain_spec): Remove -ffilelist-file from cc1 invocation.
* jvspec.c (jvgenmain_spec): Remove -ffilelist-file from cc1
	invocation.

From-SVN: r44000
2001-07-13 23:17:41 +00:00
Alexandre Petit-Bianco
b6e3e1ff58 re PR java/3635 ("empty declaration" warning too broad)
2001-07-12  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse.y (patch_method_invocation): Don't override primary if one
	is already provided, but let this$<n> be built. Fixed comment.

2001-07-12  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse.y (empty_statement:): Report empty statement error only
	when found at class declaration level.
	Fixes PR java/3635

(http://gcc.gnu.org/ml/gcc-patches/2001-07/msg00885.html )

From-SVN: r43993
2001-07-13 12:43:54 -07:00
Alexandre Petit-Bianco
29fcdaaead re PR java/3285 (gcj fails to resolve constructor calls in inner classes)
2001-07-11  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse.y (verify_constructor_super): Compare anonymous class ctor
	args with `valid_method_invocation_conversion_p.'
	Fixes PR java/3285

(http://gcc.gnu.org/ml/gcc-patches/2001-07/msg00823.html)

From-SVN: r43973
2001-07-12 14:36:43 -07:00
Tom Tromey
a3cb5122ec expr.c (expand_load_internal): New function.
* expr.c (expand_load_internal): New function.
	(LOAD_INTERNAL): Use it.

From-SVN: r43969
2001-07-12 17:06:40 +00:00
Neil Booth
7f905405bc Makefile.in (c-lex.o): Wrap long lines.
* Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
	* c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
	hooks directly.
	* dbxout.c (dbx_debug_hooks): Add new hooks.
	(dbxout_start_new_source_file): Rename dbxout_start_source_file,
	make static.
	(dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
	make static.
	* dbxout.h (dbxout_start_new_source_file,
	dbxout_resume_previous_source_file): Delete.
	* debug.c (do_nothing_debug_hooks): Add new hooks.
	(debug_nothing_init_finish): Rename debug_nothing_file_charstar.
	(debug_nothing_int_charstar, debug_nothing_int): New.
	* debug.h (gcc_debug_hooks): New hooks define, undef,
	start_source_file and end_source_file.
	(debug_nothing_init_finish): Rename debug_nothing_file_charstar.
	(debug_nothing_int_charstar, debug_nothing_int): New.
	* dwarf2out.c (dwarf2_debug_hooks): Add new hooks.
	(dwarf2out_start_source_file, dwarf2out_end_source_file,
	dwarf2out_define, dwarf2out_undef): Make static.
	* dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
	dwarf2out_define, dwarf2out_undef): Remove.
	* dwarfout.c (dwarf_debug_hooks): Add new hooks.
	(dwarfout_start_source_file, dwarfout_end_source_file,
	dwarfout_define, dwarfout_undef): Make static.
	(dwarfout_start_source_file_check,
	dwarfout_end_source_file_check): New.
	(dwarfout_define, dwarfout_finish): Update.
	* dwarfout.h (dwarfout_start_new_source_file,
	dwarfout_resume_previous_source_file, dwarfout_define,
	dwarfout_undef): Remove.
	* sdbout.c (sdb_debug_hooks): Add new hooks.
	(sdbout_start_new_source_file): Rename sdbout_start_source_file,
	make static.
	(sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
	make static, take an arg.
	* sdbout.h (sdbout_start_new_source_file,
	sdbout_resume_previous_source_file): Delete.
	* toplev.c (debug_start_source_file, debug_end_source_file,
	debug_define, debug_undef): Delete.
	* toplev.h (debug_start_source_file, debug_end_source_file,
	debug_define, debug_undef): Delete.

	* java/jcf-parse.c: Include debug.h.
	(parse_class_file): Update to use debug hooks directly.
	* java/Make-lang.in (jcf-parse.o): Depend on debug.h.

From-SVN: r43952
2001-07-11 20:51:46 +00:00
Alexandre Petit-Bianco
2df37a59e2 [multiple changes]
2001-07-10  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* lang-specs.h: Forbit the use if `-femit-class-file{s}' without
	`-fsyntax-only.' Fixes PR java/3248

2001-07-10  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* jcf-io.c (find_class): Clarified error message. Fixes PR java/2603

2001-07-10  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse.h (INNER_ENCLOSING_SCOPE_CHECK): No `this' is fine if the
	current function is static. Fixes PR java/1970

2001-07-09  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse.y (patch_method_invocation): Add enclosing context to ctor
	calls if necessary. Fixes PR java/2953

2001-07-09  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse.y (resolve_package): Abort if qualified expression member
	isn't right.
	(qualify_ambiguous_name): Don't qualify as type if `this' in use.
	Fixes PR java/1391

(http://gcc.gnu.org/ml/gcc-patches/2001-07/msg00701.html )

From-SVN: r43927
2001-07-11 00:33:43 -07:00
Zack Weinberg
74d04dd13b * verify.c: Don't use // comments.
From-SVN: r43840
2001-07-07 18:26:11 +00:00
Tom Tromey
af418b8cb8 lang.c (flag_assume_compiled): Removed.
* lang.c (flag_assume_compiled): Removed.
	* java-tree.h (flag_assume_compiled): Removed.
	* lang-options.h: Removed -ffile-list-file, -fuse-boehm-gc,
	-fhash-synchronization, -fuse-divide-subroutine,
	-fcheck-references, -femit-class-file, -femit-class-files,
	-fassume-compiled.  Updated --encoding information.  Changed
	-foutput-class-dir to `-d'.

From-SVN: r43799
2001-07-06 04:31:03 +00:00
Alexandre Petit-Bianco
51e2370149 [multiple changes]
2001-07-03  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse.y (resolve_expression_name): Improved error message for
	inner class cases.
	Fixes PR java/1958

2001-06-27  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* jcf-parse.c (gcc_mark_jcf): Test for a finished JCF.
	* jcf.h (typedef struct JCF): New bitfield `finished.'
	(JCF_FINISH): Set `finished.'
	(JCF_ZERO): Reset `finished.'
	Fixes PR java/2633

2001-06-27  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse.y (class_body_declaration:): Don't install empty instance
	initializers.
	Fixes PR java/1314

(http://gcc.gnu.org/ml/gcc-patches/2001-07/msg00321.html )

From-SVN: r43793
2001-07-05 15:33:44 -07:00
Daniel Berlin
84a5b4f858 c-lex.c (cb_file_change): Pass line number to debug_start_source_file.
2001-07-04  Daniel Berlin  <dan@cgsoftware.com>

	* c-lex.c (cb_file_change): Pass line number to
	debug_start_source_file.
	(cb_undefine): Pass correct line number to debug_undef.

	* toplev.c (debug_start_source_file): Add line number to
	parameters. Pass it along to dwarf2out_start_source_file.
	(decode_g_option): Stop resetting debug level back to normal when
	we change debug formats, unless the current level is
	none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
	3).

	* toplev.h (debug_start_source_file): Add line number to
	parameters.

	* dwarf2out.h (dwarf2out_start_source_file): Add line number to parameters.

	* dwarf2out.c (dwarf2out_start_source_file): Add line number to
	parameters.
	Output debug_macinfo data for starting file if requested.
	(dwarf2out_end_source_file): Output debug_macinfo data for ending
	file if requested.
	(dwarf2out_define): Output debug_macinfo data for defining a macro if requested.
	(dwarf2out_undef): Output debug_macinfo data for undefining a
	macro if requested.
	(DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
	(DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
	(macinfo_section_label): New. DWARF2 macro info section label.
	(dwarf2out_init): If we want macro info, output the start label
	for the section.
	(dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
	attribute to the compilation unit die pointing to the macro info.

2001-07-04  Daniel Berlin  <dan@cgsoftware.com>

	* dwarf2out.c (new_loc_list): Move to inside #ifdef
	DWARF2_DEBUGGING_INFO.
	(add_loc_descr_to_loc_list): Ditto.
	(output_loc_list): Ditto.
	Also, fix thinko in curr not being initialized.
	(gen_internal_sym): Ditto.

From-SVN: r43763
2001-07-04 17:55:20 +00:00
Joseph Myers
0671eaf68f include: New directory.
* doc/include: New directory.
	* doc/fdl.texi: Move to doc/include/fdl.texi.
	* doc/texinfo.tex: Move to doc/include/texinfo.tex.
	* doc/include/funding.texi, doc/include/gpl.texi: New files.
	* doc/gcc.texi: Use funding.texi and gpl.texi.
	* Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
	$(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
	Update dependencies and use -I $(docdir)/include.

f:
	* g77.texi: Use gpl.texi and funding.texi.  Remove Look and Feel
	section.  Add Funding Free Software to invariant sections.
	* Make-lang.in ($(srcdir)/f/g77.info, f/g77.dvi): Update
	dependencies and use doc/include in search path.

java:
	* gcj.texi: Use gpl.texi.
	* Make-lang.in ($(srcdir)/java/gcj.info, java/gcj.dvi): Update
	dependencies and use doc/include in search path.

From-SVN: r43757
2001-07-04 17:16:43 +01:00
Jeff Sturm
9be7529dbb parse.y (fix_constructors): Test if a CALL_EXPR invokes `this'.
* java/parse.y (fix_constructors): Test if a CALL_EXPR invokes
	`this'.  If so, don't build instance initializers.

From-SVN: r43743
2001-07-03 23:44:07 +00:00
Gabriel Dos Reis
46f018e138 diagnostic.c (default_print_error_function): Tweak.
* diagnostic.c (default_print_error_function): Tweak.
	(report_error_function): Likewise.
	* toplev.h (default_print_error_function): Move to...
	* diagnostic.h: ...here. Add a `diagnostic_context *' parameter.
	* tree.h (print_error_function): Move to...
	* diagnostic.h: ...here. Add a `diagnostic_context *' parameter.

ch/

	* lang.c: #include diagnostic.h
	(chill_print_error_function): Add a dummy `diagnostic_context *'.
	* Makefile.in (lang.o): Depend on diagnostic.h

cp/

	* error.c (lang_print_error_function): Add a `diagnostic_context *'
	parameter. Tweak.

f/

	* Make-lang.in (f/com.o): Depend on diagnostic.h
	* com.c: #include diagnostic.h
	(lang_print_error_function): Take a 'diagnostic_context *'.

java/

	* lang.c: #include diagnostic.h
	(lang_print_error): Add a `diagnostic_context *' parameter.
	(java_dummy_print): Likewise.
	* Make-lang.in (JAVA_LEX_C): Depend on diagnostic.h

From-SVN: r43638
2001-06-28 12:26:38 +00:00
Alexandre Petit-Bianco
4a70e37e75 class.c (set_super_info): Call `set_class_decl_access_flags.'
2001-06-27  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* class.c (set_super_info): Call `set_class_decl_access_flags.'
	(set_class_decl_access_flags): New function.
	* java-tree.h (set_class_decl_access_flags): New prototype.
	* jcf-parse.c (handle_innerclass_attribute): Read and set access flags.
	(parse_class_file): New local `decl_max_locals.' Take wide types
	into account to compute DECL_MAX_LOCALS.
	* parse.y (type_import_on_demand_declaration:): Ignore duplicate
	imports on demand.

(http://gcc.gnu.org/ml/gcc-patches/2001-06/msg01718.html )

From-SVN: r43618
2001-06-27 13:38:20 -07:00
Jan van Male
561a03652d zipfile.h: Use GCC_JCF_H instead of JCF_H.
2001-06-22  Jan van Male  <jan.vanmale@fenk.wau.nl>

	* zipfile.h: Use GCC_JCF_H instead of JCF_H.

(http://gcc.gnu.org/ml/gcc-patches/2001-06/msg01427.html)

From-SVN: r43529
2001-06-23 09:22:20 -07:00
Alexandre Petit-Bianco
8e41c4f38e class.c (java_hash_tree_node): Fixed indentation in leading comment.
2001-06-20  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* class.c (java_hash_tree_node): Fixed indentation in leading comment.
	* parse.y (do_resolve_class): Moved comments out to leading comment
	section. Removed local `start', New local `_ht' and
	`circularity_hash.'  Record `enclosing' in hash table and search
	it to detect circularity.  Use `enclosing' as an argument to
	`lookup_cl.' Free the hash table when done.

(http://gcc.gnu.org/ml/gcc-patches/2001-06/msg01318.html )

From-SVN: r43480
2001-06-20 20:20:04 -07:00
Tom Tromey
c01b7cdf97 re PR java/2319 (invalid UTF-8 sequences should be rejected)
* lex.c (java_read_char): Disallow invalid and overlong
	sequences.  Fixes PR java/2319.

From-SVN: r43475
2001-06-20 16:21:24 +00:00
Tom Tromey
7abecd65ae re PR java/2299 (Use of += for String arrays produces Segfault during compilation)
2001-03-20  Tom Tromey  <tromey@redhat.com>
	    Alexandre Petit-Bianco <apbianco@redhat.com>

	* parse.y (patch_assignment): Handle the case of a SAVE_EXPR
	inside an array reference. Insertion of the array store check
	rewritten. Fixes PR java/2299.

(http://gcc.gnu.org/ml/gcc-patches/2001-06/msg00611.html )

Co-Authored-By: Alexandre Petit-Bianco <apbianco@redhat.com>

From-SVN: r43146
2001-06-10 11:45:06 -07:00
Jeff Sturm
21a6bb3c45 decl.c (create_primitive_vtable): Don't call make_decl_rtl.
2001-06-05  Jeff Sturm  <jsturm@one-point.com>

	* decl.c (create_primitive_vtable): Don't call make_decl_rtl.

(http://gcc.gnu.org/ml/gcc-patches/2001-06/msg00265.html )

From-SVN: r43144
2001-06-10 11:24:53 -07:00
Alexandre Petit-Bianco
0c90837b16 expr.c (force_evaluation_order): Match wrapped ctor calls, locate arguments accordingly.
2001-06-04  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* expr.c (force_evaluation_order): Match wrapped ctor calls, locate
	arguments accordingly.

(http://gcc.gnu.org/ml/gcc-patches/2001-06/msg00214.html)

From-SVN: r42910
2001-06-05 08:48:58 -07:00
Joseph Myers
1347cc4fd0 cpp.texi, [...]: Move contents to just after title page.
* doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi: Move contents
	to just after title page.

ch:
	* chill.texi: Move contents to just after title page.

f:
	* g77.texi: Move contents to just after title page.

java:
	* gcj.texi: Move contents to just after title page.

From-SVN: r42808
2001-06-02 17:50:36 +01:00
Alexandre Petit-Bianco
12e248d642 re PR java/2605 (gcj crashes on .java file containing byte.class.getClass())
2001-06-01  Alexandre Petit-Bianco  <apbianco@redhat.com>

        * parse.y (type_literals:): Use `build_incomplete_class_ref' with
        builtin type.
        (patch_incomplete_class_ref): Build the class ref, build the class
        init if necessary, complete the tree.
        Fixes PR java/2605

(http://gcc.gnu.org/ml/gcc-patches/2001-06/msg00044.html )

From-SVN: r42807
2001-06-02 09:44:11 -07:00
DJ Delorie
95e30ecc77 c-tree.texi, [...]: Move to doc subdirectory.
* c-tree.texi, contrib.texi, cpp.texi, cppinternals.texi,
extend.texi, fdl.texi, gcov.texi, invoke.texi, md.texi, objc.texi,
rtl.texi, tm.texi, texinfo.tex: Move to doc subdirectory.
* install.texi: Move to doc/install-old.texi.
* gcc.texi: Move to doc, refer to install-old.texi.
* Makefile.in: Reflect move of docs to doc/.
* f/Make-lang.in: Ditto.
* java/Make-lang.in: Ditto.
* doc/.cvsignore: New.

From-SVN: r42779
2001-06-01 12:51:18 -04:00
Alexandre Petit-Bianco
195590126a parse.y (lookup_field_wrapper): Test `name' code.
2001-05-31  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse.y (lookup_field_wrapper): Test `name' code.
	(resolve_qualified_expression_name): Test `qual_wfl' code.
	(qualify_ambiguous_name): Handle `CONVERT_EXPR', fixe indentation,
	handle `qual_wfl' by code.
	(maybe_build_primttype_type_ref): Test `wfl' code.

(http://gcc.gnu.org/ml/gcc-patches/2001-05/msg02180.html )

From-SVN: r42764
2001-05-31 16:40:54 -07:00
Bryce McKinlay
86d9e8d864 parse.y (do_resolve_class): Check for cyclic inheritance during inner class resolution.
2001-04-27  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* parse.y (do_resolve_class): Check for cyclic inheritance during
	inner class resolution.

(http://gcc.gnu.org/ml/gcc-patches/2001-04/msg01330.html)

From-SVN: r42737
2001-05-30 23:05:29 -07:00
Theodore Papadopoulo
eb153223fd Make-lang.in ($(srcdir)/java/gcj.info): Added dependencies on fdl.texi.
* Make-lang.in ($(srcdir)/java/gcj.info): Added dependencies on
fdl.texi.
(java/gcj.dvi): Use TEXI2DVI instead of custom tex calls.  Create
the dvi file in the java directory.

From-SVN: r42658
2001-05-27 13:07:48 -04:00
Zack Weinberg
a63719408d toplev.c (debug_args, [...]): Mark descriptions for translation.
* toplev.c (debug_args, f_options, W_options): Mark
	descriptions for translation.
	(display_help): Translate descriptions on output.

	* cp/lang-options.h, f/lang-options.h, java/lang-options.h,
	objc/lang-options.h: Mark descriptions for translation.

From-SVN: r42618
2001-05-26 05:28:26 +00:00
Richard Henderson
88657302b7 Standardize header guards.
From-SVN: r42615
2001-05-25 18:31:47 -07:00
Joseph Myers
719f0fde70 jv-scan.c (version): Update copyright year.
gcc/java:
	* jv-scan.c (version): Update copyright year.

libjava:
	* gij.cc (version): Update copyright year.

From-SVN: r42505
2001-05-23 19:10:30 +01:00
Per Bothner
075516bcc6 jcf-parse.c (read_class): If class is from .class or .zip file and it's already been read...
* jcf-parse.c (read_class):  If class is from .class or .zip file
	and it's already been read, don't push/pop parser context.

From-SVN: r42407
2001-05-21 14:37:36 -07:00
Per Bothner
9d28960448 jvspec.c (lang_specific_pre_link): Re-arrange the linker command line so the jvgenmain-generated main program...
* jvspec.c (lang_specific_pre_link):  Re-arrange the linker
        command line so the jvgenmain-generated main program comes first.

From-SVN: r42270
2001-05-18 11:34:51 -07:00
Jeff Sturm
8fc6a63c64 expr.c (build_class_init): Move MODIFY_EXPR outside of COND_EXPR.
2000-05-02  Jeff Sturm  <jsturm@one-point.com>

	* expr.c (build_class_init): Move MODIFY_EXPR
	outside of COND_EXPR.  Remove variable `call'.

From-SVN: r42134
2001-05-15 23:41:10 -07:00
Tom Tromey
48187504f8 class.c (build_utf8_ref): Don't generate identifier based on utf8const contents.
* class.c (build_utf8_ref): Don't generate identifier based on
	utf8const contents.

From-SVN: r42110
2001-05-15 18:20:57 +00:00
Richard Henderson
f17f18980b java-tree.def (JAVA_EXC_OBJ_EXPR): New.
* java-tree.def (JAVA_EXC_OBJ_EXPR): New.
        * expr.c (java_lang_expand_expr): Expand it.
        (process_jvm_instruction): Build JAVA_EXC_OBJ_EXPR instead of
        calling build_exception_object_ref.
        * parse.y (catch_clause_parameter): Likewise.
        (build_dot_class_method): Likewise.
        (try_reference_assignconv): Likewise.
        * check-init.c (check_init): Check JAVA_EXC_OBJ_EXPR not EXC_PTR_EXPR.
        * jcf-write.c (generate_bytecode_insns): Likewise.

From-SVN: r42030
2001-05-12 21:59:33 -07:00
Alexandre Petit-Bianco
352b3f3f2a re PR java/2538 (latest gcj no longer compiles apache xerces parser due problems with variable declarations and inner classes)
2001-05-07  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse.y (build_unresolved_array_type): Set
	EXPR_WFL_QUALIFICATION on the newly created wfl.
	Fixes PR java/2538. Fixes PR java/2535.

(http://gcc.gnu.org/ml/gcc-patches/2001-05/msg00438.html )

From-SVN: r41917
2001-05-08 01:11:26 -07:00
Alexandre Petit-Bianco
41ee087715 re PR java/2598 (Runtime crash regression accessing field from enclosing class from inner class)
2001-05-07  Alexandre Petit-Bianco  <apbianco@redhat.com>

        * parse.y (fix_constructors): Removed unecessary assignment to
        local. Moved assignment to `this$<n>', fixed comments and
        indentation.
        (build_wfl_wrap): Fixed indentation.
        Fixes PR java/2598, java/2579 and java/2658.

(http://gcc.gnu.org/ml/gcc-patches/2001-05/msg00412.html )

From-SVN: r41905
2001-05-07 12:53:15 -07:00
Mo DeJong
4def8930da lex.c (java_new_lexer): Call iconv_close on temp handle used to check for byte swap.
2001-05-03  Mo DeJong  <mdejong@redhat.com>

        * lex.c (java_new_lexer): Call iconv_close on temp handle used to
        check for byte swap.

(http://gcc.gnu.org/ml/java-patches/2001-q2/msg00185.html )

From-SVN: r41818
2001-05-03 17:34:48 -07:00
Kaveh R. Ghazi
3e411c3ffd call.c: NULL_PTR -> NULL.
cp:
	* call.c: NULL_PTR -> NULL.
	* class.c: Likewise.
	* cvt.c: Likewise.
	* decl.c: Likewise.
	* decl2.c: Likewise.
	* except.c: Likewise.
	* init.c: Likewise.
	* rtti.c: Likewise.
	* search.c: Likewise.
	* tree.c: Likewise.
	* typeck.c: Likewise.
	* typeck2.c: Likewise.

f:
	* com.c: NULL_PTR -> NULL.

java:
	* decl.c: NULL_PTR -> NULL.
	* jcf-write.c: Likewise.

From-SVN: r41762
2001-05-02 14:38:35 +00:00
Tom Tromey
0cd015ea9e Make-lang.in ($(srcdir)/java/gcj.info): Added `-I..'.
* Make-lang.in ($(srcdir)/java/gcj.info): Added `-I..'.
	(java/gcj.dvi): Added $(srcdir) to TEXINPUTS.
	* gcj.texi: Updated copyright text.  Include fdl.texi.
	(Top): Link to new node.

From-SVN: r41743
2001-05-01 22:21:01 +00:00
Per Bothner
6a117d00e3 * parse.h (REGISTER_IMPORT): Use tree_cons instead of chainon.
From-SVN: r41741
2001-05-01 15:13:31 -07:00
Per Bothner
063df563bd parse.y (java_pop_parser_context): The TREE_VALUE of a link in the import_list contains the name, not the TREE_PURPOSE.
* parse.y (java_pop_parser_context):  The TREE_VALUE of a link in the
	import_list contains the name, not the TREE_PURPOSE.

From-SVN: r41739
2001-05-01 15:05:46 -07:00
Kaveh R. Ghazi
962584ea56 jcf-io.c (read_zip_member): Cast to long in comparison with signed value.
* jcf-io.c (read_zip_member): Cast to long in comparison with
	signed value.

	* jvspec.c (lang_specific_driver): Initialize variables.

	* mangle.c (find_compression_record_match): Likewise.

	* typeck.c (build_null_signature): Provide static prototype.  Mark
	parameter with ATTRIBUTE_UNUSED.

	* verify.c (verify_jvm_instructions): Initialize variable.

From-SVN: r41671
2001-04-29 11:24:37 +00:00
Per Bothner
9c491eb84b parse.y (java_expand_classes): Don't change ctxp_for_generation while iterating...
* parse.y (java_expand_classes):  Don't change ctxp_for_generation
	while iterating, since that could cause gc to lose stuff.

From-SVN: r41640
2001-04-27 12:12:20 -07:00
Per Bothner
56fe39c809 Fix method search wrt scope of inner classes to match JLS2.
From-SVN: r41604
2001-04-26 12:40:34 -07:00
Per Bothner
8789b9fa5c jcf-write.c (generate_bytecode_insns case SWITCH_EXPR): Fix thinko: If a single case, use if_icmpeq, not ifeq.
* jcf-write.c (generate_bytecode_insns case SWITCH_EXPR):
	Fix thinko:  If a single case, use if_icmpeq, not ifeq.

	* constants.c (find_methodref_with_class_index):  New function.
	(find_methodref_index):  Use find_methodref_with_class_index.
	* java-tree.h (find_methodref_with_class_index):  New declaration.
	* jcf-write.c (generate_bytecode_insns case CALL_EXPR):  Don't change
	DECL_CONTEXT, instead use new find_methodref_with_class_index function.
	If context changed from interface to class, don't use invokeinterface.

From-SVN: r41601
2001-04-26 11:32:22 -07:00
Per Bothner
5acea42bfb verify.c (verify_jvm_instructions): For field instructions, check that field index is valid.
* verify.c (verify_jvm_instructions):  For field instructions,
	check that field index is valid.  For invoke instructions, check that
	method index is valid.

From-SVN: r41600
2001-04-26 11:11:02 -07:00
Alexandre Oliva
dd6f366250 * config-lang.in (target_libs): Copy from $libgcj_saved.
From-SVN: r41552
2001-04-25 21:30:21 +00:00
Bryce McKinlay
28f7d9d05a decl.c (init_decl_processing): Add new class "protectionDomain" field.
gcc/java:

2001-04-25  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* decl.c (init_decl_processing): Add new class "protectionDomain"
	field.
	* class.c (make_class_data): Set initial value for "protectionDomain".

libjava:

2001-04-25  Bryce McKinlay  <bryce@albatross.co.nz>

	java.security merge and ClassLoader compliance fixes.

	* java/lang/Class.h (Class): Include ProtectionDomain.h.
	New protectionDomain field.
	(forName): Add initialize parameter. Fixes declaration to comply with
	JDK spec.
	* java/lang/natClass.cc (forName): Correct declaration of the three-arg
	variant. Honour	"initialize" flag.
	(getProtectionDomain0): New method.
	* java/lang/Class.java: Fix forName() declaration.
	(getPackage): New method based on Classpath implementation.
	(getProtectionDomain0): New native method decl.
	(getProtectionDomain): New method.
	* java/lang/ClassLoader.java (getParent): Now final.
	(definedPackages): New field.
	(getPackage): New.
	(defineClass): New variant with protectionDomain argument.
	(definePackage): New.
	(getPackages): New.
	(findSystemClass): Now final.
	(getSystemResourceAsStream): Remove redundant "final" modifier.
	(getSystemResource): Remove redundant "final" modifier.
	(getResources): Now final.
	(protectionDomainPermission): New static field.
	(unknownProtectionDomain): Ditto.
	(defaultProtectionDomain): Ditto.
	(getSystemClassLoader): Now non-native.
	* java/util/ResourceBundle.java (tryGetSomeBundle): Use the correct
	arguments for Class.forName().
	* java/lang/Package.java: New file.
	* gnu/gcj/runtime/VMClassLoader.java (getVMClassLoader): Removed.
	(instance): Static initialize singleton.
	(findClass): Override this, not findSystemClass.
	* java/lang/natClassLoader.cc (defineClass0): Set class's
	protectionDomain field as specified.
	(getSystemClassLoader): Removed.
	(findClass): Renamed from findSystemClass. Call the interpreter via
	URLClassLoader.findClass if loading class via dlopen fails.

	* java/security/*.java: java.security import/merge with Classpath.
	* java/security/acl/*.java: Likewise.
	* java/security/interfaces/*.java: Likewise.
	* java/security/spec/*.java: Likewise.
	* java/net/NetPermission.java: Likewise.
	* java/net/SocketPermission.java: Likewise.
	* gnu/java/security/provider/DefaultPolicy.java: Likewise.

	* Makefile.am: Add new classes.
	* Makefile.in: Rebuilt.
	* gcj/javaprims.h: CNI namespace rebuild.

From-SVN: r41543
2001-04-25 16:45:15 +01:00
Kaveh R. Ghazi
d4c3ec2738 collect2.c (main): Use concat in lieu of xmalloc/sprintf.
* collect2.c (main): Use concat in lieu of xmalloc/sprintf.
	(write_c_file_stat): Likewise.

	* dbxout.c (dbxout_init): Likewise.

	* profile.c (output_func_start_profiler): Likewise.

cp:
	* xref.c (GNU_xref_file): Use concat in lieu of xmalloc/sprintf.

f:
	* com.c (ffecom_subscript_check_): Use concat in lieu of
	xmalloc/sprintf.

java:
	* jvspec.c (lang_specific_driver): Fix memory allocation
	deficit, by using concat in lieu of xmalloc/sprintf.

From-SVN: r41495
2001-04-23 00:36:28 +00:00
Per Bothner
3c0ce750cb Fixes to compile multiple .class files at once.
From-SVN: r41472
2001-04-20 17:01:12 -07:00
DJ Delorie
45936a85bc vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX to TARGET_OBJECT_SUFFIX and...
* config/alpha/vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
to TARGET_OBJECT_SUFFIX and TARGET_EXECUTABLE_SUFFIX.
* config/i386/cygwin.h: Likewise.
* config/i386/mingw32.h: Likewise.
* config/vax/vms.h: Likewise.
* config/i386/djgpp.h: Remove NO_AUTO_EXE_SUFFIX.

* config/alpha/xm-vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
to HOST_OBJECT_SUFFIX and HOST_EXECUTABLE_SUFFIX.
* config/i386/xm-cygwin.h: Likewise.
* config/i386/xm-djgpp.h: Likewise.
* config/i386/xm-mingw32.h: Likewise.
* config/vax/xm-vms.h: Likewise.

* mkdeps.c (deps_add_default_target): Use TARGET_OBJECT_SUFFIX
instead of OBJECT_SUFFIX.
* collect2.c (find_a_file): Look for files matching the extension
HOST_EXECUTABLE_SUFFIX instead of EXECUTABLE_SUFFIX.
* gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION): Depend on
TARGET_EXECUTABLE_SUFFIX.
(find_a_file): Use HOST_EXECUTABLE_SUFFIX.
(make_relative_prefix): Likewise.
(convert_filename): Use TARGET_ suffixes throughout.  Remove
NO_AUTO_EXE_SUFFIX.
(process_command): Likewise.
(do_spec_1): Likewise.
* java/lang.c (init_parse): Likewise.

* gcc.texi : Document four new options matching the pattern
(HOST|TARGET)_(OBJECT|EXECUTABLE)_SUFFIX.  Remove documentation
for deleted macros OBJECT_SUFFIX and EXECUTABLE_SUFFIX.  Remove
documentation for NO_AUTO_EXE_SUFFIX.

From-SVN: r41428
2001-04-19 16:28:05 -04:00
Kelley Cook
ccc27eab42 * config-lang.in (lang_dirs): Add in zlib.
From-SVN: r41280
2001-04-12 03:06:00 +00:00
Kaveh R. Ghazi
d6684bc856 Makefile.in (ifcvt.o): Depend on toplev.h.
* Makefile.in (ifcvt.o): Depend on toplev.h.

	* c-semantics.c: Include expr.h.

	* ifcvt.c: Include toplev.h.

	* expr.h (rtx_equal_p): Delete prototype.

	* rtl.h (exact_log2_wide, floor_log2_wide, permalloc,
	protect_from_queue, gen_jump, gen_beq, gen_bge, gen_ble,
	eliminate_constant_term, expand_complex_abs, find_single_use,
	make_tree, init_expr_once, init_optabs, supports_one_only):
	Likewise.

	* tree.h (exact_log2_wide, floor_log2_wide, expand_null_return,
	rest_of_type_compilation, emit_queue, do_pending_stack_adjust,
	expand_assignment, store_expr, emit_line_note_after,
	emit_line_note_force, split_specs_attrs, label_rtx): Likewise.

	* toplev.h (exact_log2_wide, floor_log2_wide): Add prototype.

cp:
	* Make-lang.in (cp/semantics.o): Depend on $(EXPR_H).

	* semantics.c: Include expr.h.

java:
	* Make-lang.in (java/boehm.o): Depend on toplev.h.

	* boehm.c: Include toplev.h.

From-SVN: r41256
2001-04-11 15:51:55 +00:00
Tom Tromey
10e2af3886 Fix for PR gcj/1404 and PR gcj/2332:
2001-04-06  Tom Tromey  <tromey@redhat.com>
	    Alexandre Petit-Bianco  <apbianco@redhat.com>

	Fix for PR gcj/1404 and PR gcj/2332:
	* parse.y (build_array_from_name): If we use the type_wfl then
	accumulate dimensions from the original type as well.
	(build_unresolved_array_type): Don't modify TYPE_OR_WFL in place.

Co-Authored-By: Alexandre Petit-Bianco <apbianco@redhat.com>

From-SVN: r41178
2001-04-07 19:54:52 +00:00
Tom Tromey
2d9fea5d4b parse.y (analyze_clinit_body): Return true if the second operand of a METHOD_EXPR is nonzero.
* parse.y (analyze_clinit_body): Return true if the second operand
	of a METHOD_EXPR is nonzero.

From-SVN: r41164
2001-04-06 20:42:41 +00:00
Tom Tromey
613bb86ee1 Make-lang.in ($(srcdir)/java/parse-scan.c): Run bison from build directory.
* Make-lang.in ($(srcdir)/java/parse-scan.c): Run bison from build
	directory.
	($(srcdir)/java/parse.c): Likewise.

From-SVN: r41162
2001-04-06 20:32:09 +00:00
Alexandre Petit-Bianco
8b66cd8f57 gcj.texi: Use which-gcj' instead of which-g77.'
2001-04-05  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* gcj.texi: Use `which-gcj' instead of `which-g77.'
	(version-gcc): Initialized.
	(which-gcj): Likewise.

(http://gcc.gnu.org/ml/gcc-patches/2001-04/msg00333.html)

From-SVN: r41133
2001-04-05 16:22:25 -07:00
Alexandre Petit-Bianco
73c299fc22 re PR java/1315 (Inner class initializer crash)
2001-04-04  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* java-tree.h (struct lang_decl): New macro
	`DECL_FIXED_CONSTRUCTOR_P.' New field `fixed_ctor.'
	* parse.y (build_instance_initializer): New function.
	(add_instance_initializer): Use it.
	(java_fix_constructors): Set `current_class' before fix pass.
	(fix_constructors): Just return if already fixed. Move `super()'
	invokation ahead. Use `build_instance_initializer.'
	Fixes PR java/1315.

(http://gcc.gnu.org/ml/gcc-patches/2001-04/msg00343.html)

From-SVN: r41129
2001-04-05 15:59:12 -07:00
Alexandre Petit-Bianco
93a6eb7802 parse.y (resolve_qualified_expression_name): Pass field's DECL_CONTEXT to `not_accessible_p.'
2001-04-04  Alexandre Petit-Bianco  <apbianco@redhat.com>

        * parse.y (resolve_qualified_expression_name): Pass field's
        DECL_CONTEXT to `not_accessible_p.'
        (not_accessible_p): Changed parameters order in `inherits_from_p'
        invokation.

(http://gcc.gnu.org/ml/gcc-patches/2001-04/msg00326.html)

From-SVN: r41126
2001-04-05 12:45:57 -07:00
Andrew Haley
4956c16e5a lang-options.h: Add flag_check_references.
2001-03-27  Andrew Haley  <aph@cambridge.redhat.com>

        * lang-options.h: Add flag_check_references.

From-SVN: r41124
2001-04-05 18:10:36 +00:00
Per Bothner
3cc48399b8 java-tree.h (CONSTANT_VALUE_P): New macro.
* java-tree.h (CONSTANT_VALUE_P):  New macro.
	* jcf-write.c (generate_classfile):  Use CONSTANT_VALUE_P.
	* parse.y (maybe_build_class_init_for_field):  New static function.
	(resolve_expression_name, resolve_field_access):  Use
	maybe_build_class_init_for_field instead of build_class_init
	This does not do the init if the field is compile-time-constant.
	(resolve_field_access):  Simplify.

	* parse.y (fold_constant_for_init):  Merge test into switch.

From-SVN: r41094
2001-04-04 13:56:01 -07:00
Alexandre Petit-Bianco
de307574bf re PR java/1074 (jv-scan fails on ArrayClass.java)
2001-03-30  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse-scan.y (array_type:): Rewritten.
	(type_declaration:): `empty_statement' replaces `SC_TK.'
	(class_member_declaration:): `empty statement' added.
	(method_body:): Simplified.
	(static_initializer:): Likewise.
	(primary_no_new_array:): Use `type_literals.'
	(type_literals:): New rule.
	(dims:): Set and update `bracket_count.'
	Fixes PR java/1074. Fixes PR java/2412.

(http://gcc.gnu.org/ml/gcc-bugs/2001-03/msg00835.html,
 http://gcc.gnu.org/ml/gcc-bugs/2000-12/msg00384.html,
 http://gcc.gnu.org/ml/gcc-patches/2001-04/msg00258.html)

From-SVN: r41089
2001-04-04 10:56:25 -07:00
Zack Weinberg
d02af17340 ansidecl.h: All logic from gcc/gansidecl.h moved here.
include:
	* ansidecl.h: All logic from gcc/gansidecl.h moved here.
gcc:
	* gansidecl.h: Delete file.
	* configure.in: Change all refs to gansidecl.h to use
	ansidecl.h.  Adjust *_file_list so they know where ansidecl.h
	lives.
	* configure: Regenerate.

	* Makefile.in (intl.o): Don't depend on gansidecl.h.
	* defaults.h: s/gansidecl.h/ansidecl.h/ in comment.
	* ggc.h, config/fr30/fr30.h, config/mcore/mcore.c:
	Don't include gansidecl.h.
	* intl.c, main.c, version.c, fixinc/fixlib.h,
	fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not
	gansidecl.h.
gcc/java:
	* Make-lang.in (buffer.o, check-init.o, class.o): Don't depend
	on gansidecl.h.
	* buffer.c, jvgenmain.c: Don't include gansidecl.h.
libiberty:
	* make-temp-file.c (try): Inline.

From-SVN: r41069
2001-04-04 00:46:27 +00:00
Alexandre Petit-Bianco
2ff5019917 boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): Set to use `build_int_2.'
2001-03-28  Hans Boehm  <boehm@acm.org>

        * boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): Set to use `build_int_2.'
        (get_boehm_type_descriptor): Set type on returned value to be a
        pointer length integer.

(http://gcc.gnu.org/ml/java/2001-03/msg00444.html)

From-SVN: r41059
2001-04-03 10:32:02 -07:00
Zack Weinberg
44a2150dce expr.c (pop_type_0): Save the result of the first lang_printable_name call in a scratch buffer...
* expr.c (pop_type_0): Save the result of the first
	lang_printable_name call in a scratch buffer, so it
	won't be clobbered by the second call.

From-SVN: r41032
2001-04-03 01:01:41 +00:00
Kaveh R. Ghazi
80122075e3 expr.c (pop_type_0): Call `concat' rather than building the string manually.
* expr.c (pop_type_0): Call `concat' rather than building the
	string manually.
	(pop_type): Add format specifier in call to `error'.

	* parse.y (patch_method_invocation): Avoid casting away
	const-ness.

From-SVN: r40940
2001-03-28 19:31:43 +00:00
Alexandre Petit-Bianco
883e9882ff re PR java/2066 (Source parser segfault in resolve_package)
2001-03-21  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse.y (qualify_ambiguous_name): Broaden `length'
	recognition. Help MODIFY_EXPR be resolved as expression names.
	Fixes PR java/2066. Fixes PR java/2400.

(http://gcc.gnu.org/ml/gcc-patches/2001-03/msg01935.html)

From-SVN: r40938
2001-03-28 11:22:05 -08:00
Jeffrey Oldham
0f5c1ee409 jvgenmain.c (do_mangle_classname): End string constant with '\0'.
2001-03-28  Jeffrey Oldham  <oldham@codesourcery.com>

	* jvgenmain.c (do_mangle_classname): End string constant with '\0'.

From-SVN: r40936
2001-03-28 18:16:14 +00:00
Richard Henderson
52a11cbfcf IA-64 ABI Exception Handling.
From-SVN: r40924
2001-03-28 03:04:51 -08:00