Commit Graph

67 Commits

Author SHA1 Message Date
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
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
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
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
Richard Henderson
da7da8f977 decl.c (end_java_method): Do not save and restore flag_non_call_exceptions.
* decl.c (end_java_method): Do not save and restore
        flag_non_call_exceptions.
        * parse.y (source_end_java_method): Likewise.
        * lang.c (flag_exceptions): Don't declare.
        (java_init_options): Set flag_non_call_exceptions.  Set
        flag_exceptions here ...
        (java_init): ... not here.

From-SVN: r40921
2001-03-28 00:38:22 -08:00
Richard Henderson
461fc4de6a Remove flag_new_exceptions.
From-SVN: r40908
2001-03-27 22:11:49 -08:00
Alexandre Petit-Bianco
b124f72e29 re PR java/1213 (gcj should check for incorrect CLASSPATH)
2001-03-22  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* gcj.texi (Input Options): documented the check for attribute
	`gnu.gcc.gccj-compiled' and the `-fforce-classes-archive-check' flag.
	* java-tree.h (flag_force_classes_archive_check): Declared extern.
	* jcf-parse.c (HANDLE_GCJCOMPILED_ATTRIBUTE): New macro.
	(jcf_parse): Check for the right classes archive if necessary.
	* jcf-reader.c (get_attribute): Define `MATCH_ATTRIBUTE' and use it.
	(jcf_parse_fields): Fixed indentation.
	* jcf-write.c (append_gcj_attribute): New function.
	(generate_classfile): Compute the attribute count, invoke
	`append_gcj_attribute'.
	* jcf.h (typedef struct JCF): `seen_in_zip' and `java_source'
	turned into bit fields. New bit field `right_zip.'
	(JCF_ZERO): Set `right_zip' to zero.
	* lang-options.h (-fforce-classes-archive-check): Added flag.
	* lang.c (flag_force_classes_archive_check): New flag.
	(lang_f_options): New entry `force-classes-archive-check.'
	Fixes PR java/1213.

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

From-SVN: r40788
2001-03-23 11:42:25 -08:00
Andrew Haley
4ff17c6a1a gcj.texi (Configure-time Options): Add -fcheck-references.
2001-02-07  Andrew Haley  <aph@redhat.com>

        * gcj.texi (Configure-time Options): Add -fcheck-references.
        * expr.c (build_java_indirect_ref): New function.
        (build_java_array_length_access): Use build_java_indirect_ref to
        check for null references.
        (build_java_arrayaccess): Likewise.
        (build_get_class): Likewise.
        (build_field_ref): Likewise.
        (invoke_build_dtable): Likewise.
        (build_invokeinterface): Likewise.
        * lang.c (lang_f_options): Add flag_check_references.
        * jvspec.c (jvgenmain_spec): Add flag_check_references.
        * java-tree.h (flag_check_references): New variable.
        * lang.c (flag_check_references): Likewise.

From-SVN: r40780
2001-03-23 14:16:33 +00:00
Per Bothner
fea2d5da9c Handle compiling multiple input files at once, and @FILE syntax. See ChangeLog.
From-SVN: r40024
2001-02-23 19:28:39 -08:00
Per Bothner
2c36c7fd96 * lang.c (put_decl_node): Print method's name.
From-SVN: r39172
2001-01-21 12:42:13 -08:00
Alexandre Petit-Bianco
b1117741f1 lang-options.h (-Wunsupported-jdk11): Removed.
2001-01-17  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * lang-options.h (-Wunsupported-jdk11): Removed.
        * lang.c (flag_not_overriding): Deleted.
        (flag_static_local_jdk1_1): Likewise.
        (lang_W_options): Removed "unsupported-jdk11" entry.
        * parse.y (java_check_methods): Removed dead code.

(http://gcc.gnu.org/ml/gcc-patches/2001-01/msg01479.html)

From-SVN: r39107
2001-01-17 19:07:01 -08:00
Alexandre Petit-Bianco
761491c8dc [multiple changes]
2001-01-08  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* java-tree.h (lang_printable_name_wls): New prototype.
	* lang.c (put_decl_name): Removed dead code. Use DECL_CONTEXT
	rather than `current_class' to print type name. Don't prepend type
	names when printing constructor names.
	(lang_printable_name_wls): New function.
	* jcf-parse.c (jcf_parse_source): Pass NULL `file' argument to
	`build_expr_wfl', alway set EXPR_WFL_FILENAME_NODE.
	* parse.y (patch_method_invocation): Message tuned for constructors.
	(not_accessible_p): Grant `private' access from within
	enclosing contexts.

2001-01-05  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.y (patch_binop): Compute missing type in error situations.

(http://gcc.gnu.org/ml/gcc-patches/2001-01/msg00752.html)

From-SVN: r38870
2001-01-10 09:05:43 -08:00
Neil Booth
ee811cfdfa c-lang.c (lang_hooks): Update.
* c-lang.c (lang_hooks): Update.
        (lang_decode_option): Remove.
        (lang_init_options): Rename c_init_options.
        * toplev.c (main): Use lang_hooks for lang_init_options
        and lang_decode_option.
        * toplev.h (lang_hooks): Add 2 new hooks.
        * tree.h: Remove lang_init_options and lang_decode_option.
        * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
        * cp/decl2.c: Similarly.
        * cp/lex.c (lang_init_options): Rename cxx_init_options.
        (lang_hooks): Update.
        * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
        for consistency.
        (lang_init_options): Rename ffe_init_options.
        (lang_hooks): Update.
        (lang_decode_option): Remove.
        * java/lang.c (lang_init_options): Rename java_init_options.
        (lang_decode_option): Rename java_decode_option.
        (lang_hooks): Update.
        * objc/objc-act.c (lang_init_options): Rename objc_init_options.
        (lang_decode_option): Rename objc_decode_option.
        (lang_hooks): Update.

From-SVN: r38856
2001-01-10 07:51:11 +00:00
Neil Booth
13c61421ff c-lang.c (lang_hooks): Update.
* c-lang.c (lang_hooks): Update.
        (lang_init): Rename c_init.
        (lang_finish): Remove.
        * toplev.c (compile_file): Use lang_hooks for lang_init ()
        and lang_finish ().
        * toplev.h (lang_hooks): Add init () and finish ().
        * tree.h (lang_init, lang_finish): Remove.
        * cp/tree.h (lang_init, lang_finish): Remove.
        * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
        * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
        lang_hooks): New.
        (lang_init, lang_finish): Remove.
        * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
        (lang_hooks): Update.
        * java/lang.c (lang_init): Rename java_init.
        (lang_finish): Remove.
        (lang_hooks): Update.
        * objc/objc-act.c (lang_init): Rename objc_init.
        (lang_finish): Remove.
        (lang_hoooks): Update.

From-SVN: r38828
2001-01-09 10:54:01 +00:00
Neil Booth
cd2a3ba227 toplev.c (main): Call the front-end specific post_options hook if one is given.
* toplev.c (main): Call the front-end specific post_options
        hook if one is given.
        * toplev.h (struct_lang_hooks, lang_hooks): New.
        * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
        for the C front end.
        * cp/decl2.c (cxx_post_options, lang_hooks): Implement
        lang_hooks for the C++ front end.
        * objc/objc-act.c (objc_post_options, lang_hooks): Implement
        lang_hooks for the ObjC front end.
        * f/com.c (lang_hooks): Hooks for the Fortran front end.
        * java/lang.c (lang_hooks): Hooks for the Java front end.

From-SVN: r38757
2001-01-07 03:34:28 +00:00
Neil Booth
a5a4ce3c3c cpp.texi: Update for -MP.
* cpp.texi: Update for -MP.  Clarify behaviour of -MT.
        * cppinit.c (initialize_dependency_output):  Update.
        (cpp_finish): Output dummy targets for -MP.
        (OPT_MP): New.
        (cpp_handle_option): Handle -MP.  Don't quote -MT options.
        * cpplib.h (struct cpp_options): Add deps_phony_targets.
        * gcc.c (cpp_options): Update to handle -MP.
        * mkdeps.c (deps_add_target, deps_add_default_target): Update
        to quote only the default target.
        (deps_phony_targets): Insert a preceding newline.  Rename from
        deps_dummy_targets for consistency.
        * mkdeps.h: Update
java:
        * lang.c (lang_decode_option): Change -MA to -MP.
        * jcf-depend.c (jcf_dependency_add_target, jcf_dependency_set_target):
        Update to new prototype; do quote targets.
        (jcf_dependency_write): Update.

From-SVN: r38707
2001-01-05 07:50:24 +00:00
Tom Tromey
b7436b7288 lang-options.h: Mention -Wout-of-date.
* lang-options.h: Mention -Wout-of-date.
	* jcf-dump.c (flag_newer): New global.
	* gjavah.c (flag_newer): New global.
	* jcf-io.c (find_class): Only warn when flag_newer set.
	* lang.c (flag_newer): New global.
	(struct string_option): New declaration.
	(lang_W_options): New global.
	(process_option_with_no): New function.
	(lang_decode_option): Use it.

From-SVN: r37244
2000-11-04 04:57:33 +00:00
Tom Tromey
316a06a103 jvspec.c (lang_specific_driver): Recognize -MF and -MT.
* jvspec.c (lang_specific_driver): Recognize -MF and -MT.
	* lang-specs.h: Added %{MA}, %{MF*}, %{MT*}.
	* lang-options.h: Added -MA, -MT, -MF..
	* lang.c (lang_decode_option): Recognize -MA, -MT, -MF.
	(DEPEND_TARGET_SET): New macro.
	(DEPEND_FILE_ALREADY_SET): Likewise.
	(init_parse): Handle new flags.
	* jcf.h (jcf_dependency_print_dummies): Declare.
	* Make-lang.in (s-java): Added mkdeps.o.
	* Makefile.in (BACKEND): Added mkdeps.o.
	(../gcjh$(exeext)): Added mkdeps.o.
	(../jcf-dump$(exeext)): Added mkdeps.o.
	* jcf-depend.c: Include mkdeps.h.
	(struct entry, dependencies, targets, MAX_OUTPUT_COLUMNS,
	add_entry): Removed.
	(jcf_dependency_reset): Rewrote.
	(dependencies): New global.
	(jcf_dependency_set_target): Rewrote.
	(jcf_dependency_add_target): Likewise.
	(jcf_dependency_add_file): Likewise.
	(munge): Removed.
	(print_ents): Removed.
	(jcf_dependency_write): Rewrote.
	(print_dummies): New global.
	(jcf_dependency_print_dummies): New function
	(jcf_dependency_write): Call deps_dummy_targets if required.

From-SVN: r36981
2000-10-20 21:19:29 +00:00
Alexandre Petit-Bianco
a93eddcf62 [multiple changes]
2000-10-11  Rodney Brown  <RodneyBrown@mynd.com>

        * java-tree.h: Constify current_encoding.
        * lang.c: Constify current_encoding.

2000-10-10  Jeff Sturm  <jeff.sturm@appnet.com>

        * jvgenmain.c (class_mangling_suffix): Omit `.'.
        (main): Use `$' when NO_DOLLAR_IN_LABEL is not set, otherwise `.'.

2000-10-10  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * expr.c (java_lang_expand_expr): Reinstall 1999-08-14 Anthony's
        patch. Fixes gcj/340.

(http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00374.html)

From-SVN: r36864
2000-10-13 14:06:45 -07:00
Mark Mitchell
19e223db83 Make-lang.in (JAVA_SRCS): Include java-tree.h.
* Make-lang.in (JAVA_SRCS): Include java-tree.h.
	* Makefile.in (parse.o): Depend on ggc.h.
	(class.o): Likewise.
	(constants.o): Likewise.
	(decl.o): Likewise.
	(expr.o): Likewise.
	(jcf-parse.o): Likewise.
	(jcf-write.o): Likewise.
	(mangle.o): Likewise.
	* class.c: Include ggc.h.
	(build_static_field_ref): Register GC roots.
	(layout_class): Likewise.
	(init_class_processing): Likewise.
	* constants.c: Include ggc.h.
	(current_constant_pool_data_ref): Remove.
	(tag_nodes): Move it to ...
	(get_tag_node): ... here.  Register GC roots.
	* decl.c: Include ggc.h.  Remove many global tree definitions.
	(throw_node): Define.
	(java_global_trees): Likewise.
	(predef_filenames): Make the size a constant.
	(init_decl_processing): Adjust accordingly.
	(init_decl_processing): Call init_jcf_parse.  Register GC roots.
	* expr.c: Include ggc.h.
	(init_expr_processing): Register GC roots.
	(build_invokeinterface): Likewise.
	* java-tree.h: Replace extern tree declarations with macros.
	(java_global_trees): New variable.
	(java_tree_index): New enumeration.
	(init_jcf_parse): Declare.
	* jcf-parse.c: Include ggc.h.
	(current_class): Remove declaration.
	(main_class): Likewise.
	(all_class_list): Likewise.
	(predefined_filename_p): Adjust for constant size of
	predef_filenames.
	(init_jcf_parse): New function.
	* jcf-write.c: Include ggc.h.
	(generate_classfile): Register GC roots.
	(append_synthetic_attribute): Likewise.
	(append_innerclass_attribute_entry): Likewise.
	* lang.c: Include ggc.h.
	(lang_print_error): Register GC roots.
	* parse.h (struct parser_ctxt): Rename fields to avoid conflicts
	with macros.
	* parse.y: Include ggc.h.
	(wfl_operator): Remove.
	(goal): Register GC roots.
	(java_pop_parser_context): Adjust for new field names.
	(java_parser_context_save_global): Likewse.
	(java_parser_context_restore_global): Likewise.
	(java_parser_context_suspend): Likewise.
	(java_parser_context_resume): Likewise.
	(verify_constructor_circularity): Register GC roots.
	(lookup_cl): Likewise.
	(java_reorder_fields): Likewise.
	(build_current_this): Likewise.
	(class_in_current_package): Likewise.
	(argument_types_convertible): Likewise.
	(patch_cast): Rename wfl_op parameter to avoid macro conflicts.

From-SVN: r36581
2000-09-23 17:09:39 +00:00
Tom Tromey
d19cbcb5e3 re GNATS gcj/33 (gcj mangles composed characters)
Fix for PR gcj/33:
	* jv-scan.c (help): Document --encoding.
	(options): Added `encoding' entry.
	(OPT_ENCODING): New define.
	(main): Handle --encoding.
	Include <langinfo.h> if nl_langinfo exists.
	* lang-options.h: Document --classpath, --CLASSPATH, --main, and
	--encoding.
	* jcf-parse.c Include <langinfo.h> if we have nl_langinfo.
	(parse_source_file): Correctly call java_init_lex.  Added `finput'
	argument.  Use nl_langinfo to determine default encoding.
	* java-tree.h (current_encoding): Declare.
	* parse.y (java_parser_context_restore_global): Don't restore
	`finput'.
	(java_parser_context_save_global): Don't set `finput' field.
	(java_pop_parser_context): Don't restore `finput'.  Free old lexer
	if required.
	* lang.c (current_encoding): New global.
	(lang_decode_option): Recognize `-fencoding='.
	(finish_parse): Don't close finput.
	* parse.h (struct parser_ctxt): Removed `finput' and
	`unget_utf8_value' fields.  Added `lexer' field.
	(java_init_lex): Fixed declaration.
	* lex.c (java_new_lexer): New function.
	(java_destroy_lexer): Likewise.
	(java_read_char): Added `lex' argument.  Handle iconv case.
	(java_read_unicode): Added `lex' argument.  Count backslashes in
	lexer structure.
	(java_init_lex): Added `finput' and `encoding' arguments.  Set
	`lexer' field in ctxp.
	(BAD_UTF8_VALUE): Removed.
	(java_lex): Handle seeing UEOF in the middle of a string literal.
	* lex.h: Include <iconv.h> if HAVE_ICONV defined.
	(java_lexer): New structure.
	(UNGETC): Removed.
	(GETC): Removed.
	(DEFAULT_ENCODING): New define.
	(java_destroy_lexer): Declare.

From-SVN: r36377
2000-09-12 22:23:59 +00:00
Greg McGary
6e2aa220c0 lang.c (lang_decode_option): Use ARRAY_SIZE.
* lang.c (lang_decode_option): Use ARRAY_SIZE.
	* parse.y (BINOP_LOOKUP): Likewise.

From-SVN: r35951
2000-08-24 20:34:39 +00:00
Alexandre Petit-Bianco
5f1c312aa0 java-tree.h (flag_extraneous_semicolon): New extern.
2000-08-08  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* java-tree.h (flag_extraneous_semicolon): New extern.
	* lang-options.h: (-Wextraneous-semicolon): New option.
	* lang.c (flag_redundant): Fixed typo in leading comment.
	(flag_extraneous_semicolon): New global.
	(lang_decode_option): Set `flag_extraneous_semicolon' when
	-Wall. Decode `-Wextraneous-semicolon'.
	* parse.y (type_declaration:): Removed `SC_TK' hack, added
	`empty_statement' rule.
	(class_body_declaration): Likewise.
	(method_body:): Accept `;' as a method body.
	(static_initializer:): Removed `SC_TK' hack.
	(constructor_block_end:): Likewise.
	(empty_statement:): Report deprecated empty declaration. Fixes
	gcj/295

(Fix to gcj/295: http://sources.redhat.com/ml/java-prs/2000-q3/msg00095.html)

From-SVN: r35929
2000-08-23 18:44:00 -07:00
Kaveh R. Ghazi
5ac9118ef9 Warning fixes:
* bb-reorder.c (build_scope_forest): Initialize variable
	`curr_scope'.

	* calls.c (expand_call): Likewise for variables
	`save_pending_stack_adjust' and `save_stack_pointer_delta'.

	* i386.c (function_arg_advance, function_arg): Cast to avoid
	signed/unsigned warnings.

	* i386.h (MEMORY_MOVE_COST): Likewise.

	* ifcvt.c (cond_exec_process_if_block): Initialize variables
	`else_start' and `else_end'.

	* libgcc2.h (__eh_alloc, __eh_free): Prototype.

	* regrename.c (rr_replace_reg): Initialize variable `dest_subregno'.

ch:
	* Makefile.in (EXPR_H): New dependency variable.
	(actions.o, expr.o): Use EXPR_H.
	(lang.o): Depend on RTL_H and EXPR_H.

	* lang.c: Include rtl.h and expr.h.
	(lang_get_alias_set): Mark parameter with ATTRIBUTE_UNUSED.

cp:
	* decl2.c (compare_options): Don't needlessly cast away const-ness.

f:
	* com.c (lang_get_alias_set): Mark parameter with ATTRIBUTE_UNUSED.

java:
	* decl.c (create_primitive_vtable): Prototype.

	* jcf-write.c (generate_bytecode_insns): Initialize variable
	`saved_context'.

	* lang.c (lang_get_alias_set): Mark parameter with ATTRIBUTE_UNUSED.

From-SVN: r34490
2000-06-11 04:29:49 +00:00
Richard Henderson
2e761e4919 alias.c (lang_get_alias_set): Remove.
gcc/
	* alias.c (lang_get_alias_set): Remove.
	(get_alias_set): Call it directly, not indirectly.
	* c-common.c (lang_get_alias_set): Rename from c_get_alias_set.
	* c-common.h (c_get_alias_set): Don't declare.
	* c-decl.c (init_decl_processing): Don't set lang_get_alias_set.
	* expr.h (lang_get_alias_set): Declare as function, not pointer.

gcc/ch/
	* lang.c (lang_get_alias_set): New.

gcc/cp/
	* decl.c (init_decl_processing): Don't set lang_get_alias_set.

gcc/f/
	* com.c (lang_get_alias_set): New.

gcc/java/
	* lang.c (lang_get_alias_set): New.

From-SVN: r34368
2000-06-02 17:33:00 -07:00
Andrew Cagney
078721e1a2 Add options -Wunused-variable, -Wunused-function, -Wunused-label,
-Wunused-parameter.  Retain existing -Wunused behavour.  Document.

From-SVN: r33953
2000-05-17 08:15:29 +00:00
Zack Weinberg
3b304f5b7d top level:
* Makefile.in (WARN_CFLAGS): Add -Wwrite-strings.
	(tree.o): Depend on output.h.

	* c-decl.c (pending_invalid_xref_file,
	current_function_prototype_file): Constify.
	(pushdecl): Constify a local char *.
	(define_label): Constify filename parameter.
	* c-lex.c (init_parse): Constify parameter and return value.
	* c-typeck.c (c_expand_asm_operands): Constify filename parameter.
	* c-tree.h: Update prototypes.
	* c-parse.in: Constify filename member of %union, and if_stmt_file.
	* c-parse.y, c-parse.c, c-parse.h, objc/objc-parse.y,
	objc/objc-parse.c: Regenerate.

	* dwarfout.c (dwarfout_init): Constify main_input_filename parameter.
	* dwarfout.h: Update prototypes.
	* expr.c (expand_expr): Constify a local char *.
	* flags.h: Constify main_input_filename.
	* function.c (expand_function_end): Constify filename parameter.
	* genrecog.c (make_insn_sequence): Use a character array for
	c_test_pos.
	(main): Remove unused variables.
	* input.h: Constify input_filename, main_input_filename, and
	file_stack.name.  Update prototypes.
	* output.h: Declare first_global_object_name and
	weak_global_object_name here, as const char *.
	* stmt.c (expand_asm_operands): Constify filename parameter.
	* toplev.c (compile_file, push_srcloc, debug_start_source_file):
	Constify filename parameter.
	(input_filename, main_input_filename): Constify.
	* toplev.h: Update prototypes.
	* tree.c: Include output.h.  Don't declare
	first_global_object_name or weak_global_object_name.  Clean up string
	bashing in get_file_function_name_long.
	* tree.h (struct tree_decl): Constify filename member.
	(input_filename): Constify.
	Update prototypes.
	* varasm.c (first_global_object_name, weak_global_object_name):
	Constify.
	(assemble_start_function, assemble_variable): Clean up string bashing.

	* gcc.c: Constify all spec-related strings initialized,
	transitively, from string constants.  Constify all strings
	and string variables related to multilibs.
	(set_spec, read_specs): Cast argument to free to PTR.
	(used_arg): Do not modify multilib_matches.  Use strncmp plus
	length comparison to compare multilib switches.
	* genmultilib: Constify everything declared in multilib.h.

ch:
	* ch-tree.h: Update prototypes.  Remove prototypes for
	functions declared elsewhere.
	* decl.c (define_label): Constify filename parameter.
	* grant.c (globalize_decl, set_default_grant_file): Constify
	local char * variables.  Don't declare
	first_global_object_name or asm_out_file.
	* lang.c (chill_real_input_filename): Constify.
	* lex.c (init_parse): Constify parameter and return value.
	* parse.c: Don't declare input_filename.
	(ch_expand_asm_operands): Constify filename parameter.
	(parse_multi_dimension_case_action): Constify local char *.
	* satisfy.c (safe_satisfy_decl): Constify local char *.

cp:
	* cp-tree.h: Constify tree_srcloc.filename, tinst_level.file,
	and pending_inline.filename.  Update prototypes.
	* decl.c (define_label): Constify filename parameter.
	* decl2.c (warn_if_unknown_interface): Constify local char *.
	* input.c Constify input_source.filename. Don't declare
	input_filename or lineno.  Constify filename parameter to feed_input.
	* lex.c (init_parse): Constify parameter and return value.
	(cp_pragma_interface, cp_pragma_implementation): Constify
	filename argument.
	(reinit_parse_for_method, reinit_parse_for_block,
	reinit_parse_for_expr, feed_defarg, handle_cp_pragma):
	Constify local char *.
	* pt.c: Don't declare lineno or input_filename.
	(print_template_context, tsubst_friend_function, tsubst_decl,
	tsubst, instantiate_decl): Constify local char *.
	* semantics.c (expand_body): Constify local char *.
	* tree.c (build_srcloc): Constify filename parameter.
	* typeck.c (c_expand_asm_operands): Constify filename
	parameter.

f:
	* com.c (ffecom_subscript_check_): Constify array_name
	parameter. Clean up string bashing.
	(ffecom_arrayref_, ffecom_char_args_x_): Constify array_name
	parameter.
	(ffecom_do_entry_, ffecom_gen_sfuncdef_, ffecom_start_progunit_,
	ffecom_sym_transform_, ffecom_sym_transform_assign_): Constify
	local char *.
	(init_parse): Constify parameter and return value.
	* lex.c: Include dwarfout.h instead of prototyping dwarfout_*
	functions here.
	(ffelex_file_pop_, ffelex_file_push_): Constify filename parameter.
	(ffelex_hash_, ffelex_include_): Constify local char *.
	* std.c (ffestd_exec_end): Constify local char *.
	* where.c (ffewhere_file_new): Constify filename parameter.
	* where.h: Update prototypes.

java:
	* check_init.c (check_init): Constify local char *.
	* class.c (push_class): Constify local char *.
	* java_tree.h: Update prototypes.
	* jcf-io.c (open_class): Constify filename parameter and
	return value.
	(find_class): Remove redundant string copy.  Cast return from
	open_class.
	* jcf-parse.c (read_class, parse_class_file, yyparse):
	Constify local char *.
	* jcf-write.c (generate_bytecode_insns, generate_classfile):
	Constify local char *.
	* jcf.h (JCF): Constify filename and classname.
	(JCF_FINISH): Cast args to FREE to char * when appropriate.
	* lang.c (init_parse): Constify parameter and return value.
	* lex.c (java_get_line_col): Constify filename parameter.
	* parse.h: Constify parser_ctxt.filename.  Update prototypes.
	* parse.y (java_parser_context_suspend,
	issue_warning_error_from_context, safe_layout_class): Constify
	local char *.
	* parse.c: Regenerate.

From-SVN: r33804
2000-05-09 19:56:01 +00:00
Tom Tromey
7145d9fe6b class.c (add_method_1): Set both DECL_EXTERNAL and METHOD_NATIVE on native function.
* class.c (add_method_1): Set both DECL_EXTERNAL and METHOD_NATIVE
	on native function.
	* jcf-parse.c (parse_class_file): Call build_jni_stub for native
	JNI methods.
	* expr.c (build_jni_stub): New function.
	* lang-specs.h: -fjni and -femit-class-file are incompatible.
	* parse.c: Rebuilt.
	* parse.y (java_complete_expand_methods): Expand a native method
	and call build_jni_stub if -fjni given.
	* lang-options.h: Document -fjni.
	* lang.c (flag_jni): New global.
	(lang_f_options): Added `jni' entry.
	* java-tree.h (soft_lookupjnimethod_node,
	soft_getjnienvnewframe_node, soft_jnipopsystemframe_node):
	Declare.
	(flag_jni): Declare.
	(build_jni_stub): Declare.
	(struct lang_decl): Added `native' flag.
	(METHOD_NATIVE): Redefined to use `native' field of lang specific
	structure.
	* decl.c (soft_lookupjnimethod_node, soft_getjnienvnewframe_node,
	soft_jnipopsystemframe_node): New globals.
	(init_decl_processing): Set them.  _Jv_InitClass only takes one
	argument.

	* java-tree.def: Put into `C' mode.

From-SVN: r33615
2000-05-02 20:32:31 +00:00
Tom Tromey
64aa33dd9c lang.c (flag_hash_synchronization): New global.
* lang.c (flag_hash_synchronization): New global.
	(lang_f_options): Added `hash-synchronization'.
	* lang-options.h: Mention -fhash-synchronization.
	* java-tree.h (flag_hash_synchronization): Declare.
	* expr.c (java_lang_expand_expr): Only push `sync_info' value when
	hash table synchronization is disabled.
	* decl.c (init_decl_processing): Only push `sync_info' value when
	hash table synchronization is disabled.
	* class.c (make_class_data): Only push `sync_info' field when hash
	table synchronization is disabled.  Removed dead code.

From-SVN: r32593
2000-03-16 18:32:45 +00:00
Tom Tromey
ae23f3ed01 * lang.c (lang_decode_option): Enable -Wunused when -Wall given.
From-SVN: r32591
2000-03-16 17:26:46 +00:00
Alexandre Petit-Bianco
c2952b018a Added Java 1.1 language features.
From-SVN: r32517
2000-03-13 21:01:05 -08:00
Tom Tromey
5830574a16 Makefile.in (JAVA_OBJS): Added boehm.o.
* Makefile.in (JAVA_OBJS): Added boehm.o.
	(boehm.o): New target.
	* Make-lang.in (JAVA_SRCS): Added boehm.c.
	* java-tree.h (flag_use_boehm_gc): Declare.
	(get_boehm_type_descriptor): Declare.
	* lang.c (lang_f_options): Added `use-boehm-gc'.
	(flag_use_boehm_gc): New global.
	* lang-options.h: Added -fuse-boehm-gc.
	* boehm.c: New file.
	* class.c (get_dispatch_table): If class uses a Boehm type
	descriptor, put it in the vtable.
	(make_class_data): Removed dead code.

From-SVN: r32331
2000-03-04 22:27:35 +00:00
Jeff Law
3852e8afcc Fix copyrights
From-SVN: r32182
2000-02-26 13:02:01 -07:00
Kaveh R. Ghazi
df32d2ce42 buffer.h: PROTO -> PARAMS.
* buffer.h: PROTO -> PARAMS.
        * check-init.c: Likewise.
        * class.c: Likewise.
        * constants.c: Likewise.
        * convert.h: Likewise.
        * decl.c: Likewise.
        * except.c: Likewise.
        * expr.c: Likewise.
        * gjavah.c: Likewise.
        * java-except.h: Likewise.
        * java-tree.h: Likewise.
        * jcf-depend.c: Likewise.
        * jcf-dump.c: Likewise.
        * jcf-parse.c: Likewise.
        * jcf-path.c: Likewise.
        * jcf-reader.c: Likewise.
        * jcf-write.c: Likewise.
        * jcf.h: Likewise.
        * jv-scan.c: Likewise.
        * jvgenmain.c: Likewise.
        * jvspec.c: Likewise.
        * lang.c: Likewise.
        * lex.c: Likewise.
        * lex.h: Likewise.
        * parse-scan.y: Likewise.
        * parse.h: Likewise.
        * parse.y: Likewise.
        * typeck.c: Likewise.
        * verify.c: Likewise.
        * xref.c: Likewise.
        * xref.h: Likewise.
        * zextract.c: Likewise.
        * zipfile.h: Likewise.

From-SVN: r31550
2000-01-21 20:57:00 +00:00
Anthony Green
48aedbca8b constants.c (find_methodref_index): Unwrap method names before inserting them in the constant pool.
* constants.c (find_methodref_index): Unwrap method names before
        inserting them in the constant pool.

        * jcf-parse.c (jcf_parse): Display `interface' when appropriate.

        * class.c (assume_compiled_node): New typedef.
        (assume_compiled_tree): New static data.
        (find_assume_compiled_node): New function.
        (add_assume_compiled): New function.
        (assume_compiled): New function.
        * class.c (make_class_data): Use assume_compiled.
        (is_compiled_class): Use assume_compiled.

        * java-tree.h (add_assume_compiled): Declare.

        * lang.c (lang_decode_option): Parse new options.

From-SVN: r30608
1999-11-21 23:37:58 +00:00
Greg McGary
13f9ac51e3 java-tree.h (flag_bounds_check): Remove extern decl.
* java-tree.h (flag_bounds_check): Remove extern decl.
* lang.c (flag_bounds_check): Remove global variable.
(lang_f_options): Remove "bounds-check" entry.
(lang_init_options): Default flag_bounds_check to "on".

From-SVN: r30036
1999-10-16 01:25:52 +00:00
Nick Clifton
03d32d1a08 Add comment saying that lang_decode_options should not complain about
unrecognised options.

From-SVN: r29522
1999-09-20 14:26:59 +00:00
Kaveh R. Ghazi
f425a8879b c-parse.in (language_string): Constify.
* c-parse.in (language_string): Constify.

	* dwarf2out.c (language_string): Remove declaration.

	* dwarfout.c (language_string): Likewise.

	* toplev.c (language_string, init_parse, finish_parse): Likewise.

	* tree.h (language_string, init_parse, finish_parse): Declare.

	* i386/sun386.h (language_string): Remove declaration.

	* mips.h (language_string): Likewise.

	* nextstep.h (language_string): Likewise.

	* nextstep21.h (language_string): Likewise.

	* rs6000.c (language_string): Likewise.

In ch:
	* parse.c (language_string): Constify.
In cp:
	* parse.y (language_string): Constify.
In f:
	* com.c (language_string): Constify.
In java:
	* lang.c (language_string): Constify.

From-SVN: r29000
1999-08-31 02:16:34 +00:00
Kaveh R. Ghazi
1b93a502f9 java-tree.h (lang_printable_name): Constify a char*.
* java-tree.h (lang_printable_name): Constify a char*.

	* lang.c (lang_printable_name): Likewise.

From-SVN: r28970
1999-08-29 13:51:39 +00:00
Kaveh R. Ghazi
be245ac0a0 gjavah.c (print_name, [...]): Add static prototype.
* gjavah.c (print_name, print_base_classname, utf8_cmp,
	cxx_keyword_subst, generate_access, name_is_method_p,
	get_field_name, print_field_name, super_class_name, print_include,
	decode_signature_piece, print_class_decls, usage, help,
	java_no_argument, version, add_namelet, print_namelet): Add static
	prototype.
	(print_base_classname, utf8_cmp, cxx_keyword_subst,
	name_is_method_p): Constify a char*.
	(get_field_name): Likewise.  Prefer xstrdup over malloc/strcpy.
	Provide a final else clause in an if-else-if.
	(print_field_info): Add missing final arg in function call to
	`print_field_name'.
	(print_method_info, decompile_method, decode_signature_piece,
	print_c_decl, print_full_cxx_name, print_stub,
	print_mangled_classname, super_class_name, print_include,
	add_namelet, add_class_decl, print_class_decls, process_file,
	help): Constify a char*.

	* jcf-write.c (jcf_handler, push_constant1, push_constant2,
	push_int_const, find_constant_wide, find_constant_index,
	push_long_const, field_op, maybe_wide, emit_dup, emit_pop,
	emit_iinc, emit_load_or_store, emit_load, emit_store, emit_unop,
	emit_binop, emit_reloc, emit_switch_reloc, emit_case_reloc,
	emit_if, emit_goto, emit_jsr, call_cleanups,
	make_class_file_name): Add static prototypes.
	(generate_bytecode_return, generate_bytecode_insns): Pass a
	NULL_PTR, not a NULL_TREE.

	* jv-scan.c: Include "jcf.h".
	(main): Declare using DEFUN macro.

	* jvspec.c (find_spec_file, lang_specific_pre_link,
	lang_specific_driver): Add prototypes.
	(find_spec_file): Constify a char*.

	* keyword.gperf (hash, java_keyword): Add prototypes.

	* lang.c (lang_print_error): Add static prototype.
	(lang_init): Prefer memcpy over bcopy to avoid casts.

	* lex.c (yylex): Add static prototype.

	* parse-scan.y: Include "lex.c" earlier.

	* parse.h: Remove redundant declaration for `yylex'.

	* parse.y (java_decl_equiv, binop_compound_p, search_loop,
	labeled_block_contains_loop_p): Add static prototypes.
	(not_accessible_p): Make static to match prototype.

	* verify.c (start_pc_cmp): Don't needlessly cast away const.

From-SVN: r28862
1999-08-25 13:59:28 +00:00
Kaveh R. Ghazi
c8e7d2e632 check-init.c (check_bool2_init, [...]): Add static prototypes.
* check-init.c (check_bool2_init, done_alternative): Add static
	prototypes.

	* class.c (add_interface_do, maybe_layout_super_class): Likewise.
	(add_method, build_utf8_ref, build_class_ref,
	append_gpp_mangled_type, layout_class_method): Constify a char*.

	* decl.c (push_promoted_type, make_binding_level): Add static
	prototypes.
	(push_promoted_type, pushdecl): Constify a char*.

	* except.c (find_handler_in_range, link_handler,
	check_start_handlers): Add static prototypes.

	* expr.c (process_jvm_instruction): Constify a char*.

	* gjavah.c (main): Constify a char*.

	* java-tree.h (verify_jvm_instructions, process_jvm_instruction):
	Constify a char*.

	* jcf-depend.c (free_entry, add_entry, munge, print_ents): Add
	static prototypes.
	(add_entry, jcf_dependency_set_target, jcf_dependency_add_target,
	munge, print_ents): Constify a char*.

	* jcf-dump.c (disassemble_method): Constify a char*.
	(print_constant_pool, print_exception_table): Add static prototypes.
	(print_constant, print_exception_table, main, disassemble_method):
	Constify a char*.

	* jcf-io.c (find_classfile, find_class): Likewise.

	* jcf-parse.c (JPOOL_UTF_DATA, find_in_current_zip): Likewise.
	(set_source_filename, predefined_filename_p): Add static prototypes.
	(set_source_filename, get_constant, get_class_constant,
	find_in_current_zip): Constify a char*.

	* jcf-path.c (free_entry, append_entry, add_entry, add_path): Add
	static prototypes.
	(add_entry, add_path, jcf_path_classpath_arg,
	jcf_path_CLASSPATH_arg, jcf_path_include_arg): Constify a char*.

	* jcf-reader.c (get_attribute, jcf_parse_preamble,
	jcf_parse_constant_pool, jcf_parse_class, jcf_parse_fields,
	jcf_parse_one_method, jcf_parse_methods,
	jcf_parse_final_attributes): Add static prototypes.
	(get_attribute): Constify a char*.

	* jcf.h (find_class, find_classfile, jcf_dependency_set_target,
	jcf_dependency_add_target, jcf_path_classpath_arg,
	jcf_path_CLASSPATH_arg, jcf_path_include_arg): Constify a char*.

	* jv-scan.c (main): Constify a char*.
	(gcc_obstack_init): Add prototype arguments.

	* jvgenmain.c (gcc_obstack_init): Likewise.
	(main): Constify a char*.

	* lang.c (put_decl_string, put_decl_node, java_dummy_print): Add
	static prototypes.
	(put_decl_string, lang_print_error): Constify a char*.
	(lang_init): Remove redundant extern prototype.

	* mangle.c (emit_unicode_mangled_name): Constify a char*.

	* typeck.c (convert_ieee_real_to_integer, parse_signature_type):
	Add static prototypes.
	(get_type_from_signature): Constify a char*.

	* verify.c (check_pending_block, type_stack_dup, start_pc_cmp ):
	Add static prototypes.
	(start_pc_cmp): Prefer PTR over GENERIC_PTR.
	(verify_jvm_instructions): Constify a char*.

	* xref.c (xref_flag_value): Likewise.

	* xref.h (xref_flag_value): Likewise.

	* zextract.c (makeword, makelong): Add static prototypes.
	(makeword, makelong): Constify a uch*.

From-SVN: r28648
1999-08-10 16:58:13 +00:00
Kaveh R. Ghazi
0070eeda65 lang.c (java_dummy_print): Constify a char*.
* lang.c (java_dummy_print): Constify a char*.
        (lang_print_error): Likewise.
        (lang_init): Remove redundant prototype for `print_error_function'.
        (lang_init_source): Likewise.
        (lang_identify): Constify a char*.

From-SVN: r28635
1999-08-09 23:52:36 +00:00
Kaveh R. Ghazi
49f48c719e Warning fixes:
* Makefile.in (lang.o): Depend on $(RTL_H) $(EXPR_H).

        * expr.c (java_stack_pop, java_array_data_offset,
        build_java_throw_out_of_bounds_exception, case_identity,
        build_java_check_indexed_type): Add static prototypes.
        (linenumber_table, expand_invoke, expand_java_field_op,
        build_primtype_type_ref, expand_byte_code): Constify a char*.

        * java-tree.h (build_primtype_type_ref, linenumber_table):
        Constify a char*.
        (java_lang_expand_expr): Add prototype.

        * lang.c: Include rtl.h and expr.h.  Remove extern prototype for
        `java_lang_expand_expr'.

        * lex.c (java_lex_error): Constify a char*.
        (java_get_unicode, java_read_char, java_allocate_new_line,
        java_unget_unicode, java_sneak_unicode): Prototype.

        * parse-scan.y (current_class, package_name, method_declarator,
        report_class_declaration, yyerror): Constify a char*.

        * parse.h (java_report_errors): Prototype.
        (yyerror): Constify a char*.

        * parse.y (classitf_redefinition_error, check_modifiers,
        parse_jdk1_1_error, lookup_package_type,
        lookup_package_type_and_set_next, get_printable_method_name,
        purify_type_name): Constify a char*.
        (build_super_invocation, maybe_generate_finit,
        verify_constructor_super, parser_add_interface,
        add_superinterfaces, jdep_resolve_class, note_possible_classname,
        java_complete_expand_methods, java_expand_finals,
        cut_identifier_in_qualified, java_stabilize_reference,
        do_unary_numeric_promotion, operator_string, do_merge_string_cste,
        merge_string_cste): Prototype.
        (single_type_import_declaration, yyerror,
        variable_redefinition_error, build_array_from_name,
        build_unresolved_array_type, check_class_interface_creation,
        resolve_class, complete_class_report_errors,
        note_possible_classname, read_import_dir,
        find_in_imports_on_demand, resolve_package, fix_constructors,
        check_deprecation, lookup_method_invoke,
        maybe_build_primttype_type_ref, array_constructor_check_entry):
        Constify a char*.
        (java_complete_expand_methods, java_expand_finals): Make static.
        (convert_narrow): Remove static prototype.

From-SVN: r28498
1999-08-04 13:30:51 +00:00
Andrew Haley
aa4759c11c lang.c (flag_use_divide_subroutine): New variable.
1999-07-15  Andrew Haley  <aph@cygnus.com>

        * lang.c (flag_use_divide_subroutine): New variable.
        * typeck.c: (convert_ieee_real_to_integer): Bounds check
        fp-to-integer conversion.
        (convert): Call convert_ieee_real_to_integer when flag_fast_math
        is not set.

        * expr.c (build_java_soft_divmod): New function.
        (build_java_binop): Call build_java_soft_divmod if
        flag_use_divide_subroutine is set.
        * decl.c: soft_idiv_node, soft_irem_node, soft_ldiv_node, tree
        soft_lrem_node: new builtin functions.
        (init_decl_processing) Initialize the new builtins.
        * java-tree.h soft_idiv_node, soft_irem_node, soft_ldiv_node, tree
        soft_lrem_node: new builtin functions.
        (build_java_soft_divmod): New function.
        * parse.y: Call build_java_soft_divmod if
        flag_use_divide_subroutine is set.

From-SVN: r28208
1999-07-21 14:28:33 +00:00
Alexandre Petit-Bianco
af8b342afe [multiple changes]
Fri May 14 12:31:08 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* xref.c (xref_set_current_fp): New function, defined.
	* xref.h (xref_set_current_fp): New function, prototyped.
Fri May 14 11:57:54 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* check-init.c (check_init): Take into account that
 	LABELED_BLOCK_STMT can be empty.

From-SVN: r26935
1999-05-14 06:44:11 -07:00
Jeff Law
4e9dd50661 Fix typo. redudant -> redundant
From-SVN: r26809
1999-05-06 15:20:00 -06:00
Alexandre Petit-Bianco
7f10c2e2fc check-init.c (check_init): Exclude a case of error when doing xrefs.
Fri Apr 30 17:54:40 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* check-init.c (check_init): Exclude a case of error when doing
 	xrefs.
	* class.c (layout_class_method): Don't generate the error message
 	twice when compiling from source.
	* lang-options.h: Added `-Wredundant-modifers' and
	`-Wunusupported-jdk11' flags and help text.
	* lang.c (lang_decode_option): Added support for
 	`-Wunsupported-jdk11' and `-Wredundant-modifiers'.
	flag_static_local_jdk11 and flag_redundant set accordingly.
	* lex.c (java_lex): Call BUILD_OPERATOR on CCB_TK.
	* parse.h (EXPR_WFL_ADD_COL): New macro.
	(DECL_END_SOURCE_LINE): Likewise.
	(DECL_INHERITED_SOURCE_LINE): Likewise.
	* parse.y (static_ref_err): New function, prototyped.
	(CCB_TK): Now tagged <operator>.
	(class_body:): Remember the location of the closing '}' of a class
 	definition when doing xrefs.
	(block:): Likewise.
	(block_end:): Likewise.
	(create_class): Remember the location of the inherited class
 	identifier when doing xrefs.
	(register_fields): Added test on first operand of `init' before
 	testing it TREE_CODE.
	(method_header): Store the location of the class identifier in the
 	class decl when doing xrefs.
	(finish_method_declaration): Don't combine first/last method line
 	when doing xref.
	(java_check_regular_methods): Warning check on not overriding
 	methods with default access on other packages move before check on
 	static methods. Initialization of `aflags' also moved up.
	(resolve_expression_name): Call static_ref_err to report the error.
	(static_ref_err): New function, implemented.
	(resolve_field_access): Returned simplified static field access
 	when doing xrefs.
	(resolve_qualified_expression_name): Check for illegal use of
 	static fields in a non static context. Call static_ref_err to
 	report error in various places.
	(java_complete_tree): To not fold initialized static fields when
 	doing xrefs.
	(java_complete_lhs): Likewise.

From-SVN: r26758
1999-05-03 09:45:18 -07:00
Alexandre Petit-Bianco
e8fc739639 lang.c (lang_decode_option): Fixed returned value when parsing -fxref=...' and -Wall'.
Mon Apr 19 14:44:48 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* lang.c (lang_decode_option): Fixed returned value when parsing
 	`-fxref=...' and `-Wall'.
	* parse.y (source_end_java_method): Do not generate code when
 	flag_emit_xref is set.
	(resolve_expression_name): Do not build static field access when
 	flag_emit_xref is set.
	(resolve_field_access): No special treatement on `length' when
 	flag_emit_xref is set. Do not build qualified static field access
 	when flag_emit_xref is set.
	(patch_invoke): Keep the method DECL as operand 0 of the CALL_EXPR
 	when flag_emit_xref is set.
	(patch_assignment): Do not generate array store runtime check when
 	flag_emit_xref is set.
	* xref.c (xref_flag_value): Fixed function declaration
 	indentation.
	(xset_set_data): New function.
	* xref.h (xref_set_data): Added prototype for new function.
	(typedef struct xref_flag_table): New field data.
	(XREF_GET_DATA): New macro.

From-SVN: r26550
1999-04-19 08:45:57 -07:00
Kaveh R. Ghazi
4f65832d5c Makefile.in (gjavah.o): Depend on $(JAVA_TREE_H).
* Makefile.in (gjavah.o): Depend on $(JAVA_TREE_H).
        * gjavah.c: Include math.h earlier.  Include tree.h/java-tree.h.
        (main_jcf): Don't define.
        (process_file): Don't set `main_jcf'.
        * java-tree.h (main_jcf): Don't declare.
        * jcf-parse.c (main_jcf): Add static definition.
        * lang.c (main_jcf): Don't define.

From-SVN: r26204
1999-04-05 13:09:45 +00:00
Alexandre Petit-Bianco
8af456c81a Changelog: Fixed 1999-03-22 typos.
Mon Mar 22 20:14:26 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* Changelog: Fixed 1999-03-22 typos.
	* lang.c (lang_decode_option): Fixed typo in error string in the
 	XARG section.
(Grr, typos.)

From-SVN: r25908
1999-03-22 12:16:45 -08:00