Commit Graph

291 Commits

Author SHA1 Message Date
Tom Tromey
c9eb638ec7 * Make-lang.in (JAVA_SRCS): Added check-init.c.
From-SVN: r26585
1999-04-22 16:19:35 +00:00
Alexandre Petit-Bianco
5423609c57 decl.c (predef_filenames, [...]): New globals
Wed Apr 21 11:13:36 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* decl.c (predef_filenames, predef_filenames_size): New globals
	(init_decl_processing): predef_filenames and predef_filenames_size
 	initialized.
	* java-tree.h (predef_filenames, predef_filenames_size): Declared
 	extern.
	* jcf-parse.c (predefined_filename_p): New function.
	(yyparse): Check that files on the command line are specified only
 	once and issue a warning otherwise.
	* parse.h (JPRIMITIVE_TYPE_OR_VOID_P): New macro.
	* parse.y (source_end_java_method): Nullify NOP method bodies, to
 	avoid a gcc warning with -W -Wall turned on.
	(java_expand_classes): Abort if errors were encountered.
	(java_complete_lhs): If the cross reference flag is set, wrap
 	field DECL node around a WFL when resolving expression name.

From-SVN: r26578
1999-04-21 06:49:49 -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
Tom Tromey
a3f406ce4c xref.h (enum): Removed trailing comma.
* xref.h (enum): Removed trailing comma.
	* parse.y (resolve_qualified_expression_name): Added missing
	`break'.

From-SVN: r26546
1999-04-19 10:20:27 +00:00
Anthony Green
08967681af gjavah.c: New prototypes for java_float_finite and java_double_finite.
Thu Apr 15 13:08:03 1999  Anthony Green  <green@cygnus.com>
	* gjavah.c: New prototypes for java_float_finite and
	java_double_finite.

From-SVN: r26474
1999-04-15 13:14:30 +00:00
Alexandre Petit-Bianco
b3edebcf49 parse.y (patch_unaryop): Fix ++ operator check on array references.
Mon Apr 12 18:27:32 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* parse.y (patch_unaryop): Fix ++ operator check on array
 	references.

From-SVN: r26382
1999-04-12 11:32:22 -07:00
Alexandre Petit-Bianco
2622b94785 parse.y (patch_assignment): Added ArrayStoreException runtime check.
Tue Apr  6 15:15:51 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        * parse.y (patch_assignment): Added ArrayStoreException runtime
        check.

From-SVN: r26318
1999-04-09 09:26:33 -07:00
Jeffrey A Law
0bb07950af Makefile.in (TREE_H): Add tree-check.h.
* Makefile.in (TREE_H): Add tree-check.h.
        (RTL_H): Add genrtl.h.

From-SVN: r26228
1999-04-06 16:22:07 -06:00
Per Bothner
ab45646c4e expr.c (pop_type_0): New function.
�
	* expr.c (pop_type_0):  New function.
	(pop_type):  Use pop_type_0.
	* java-tree.h (pop_type_0):  New declaration.
	* verify.c (verify_jvm_instructions):  Check return instructions.

From-SVN: r26218
1999-04-06 07:28:39 -07:00
Per Bothner
ddcd8199a8 expr.c (pop_type_0): New function.
�
	* expr.c (pop_type_0):  New function.
	(pop_type):  Use pop_type_0.
	* java-tree.h (pop_type_0):  New declaration.
	* verify.c (verify_jvm_instructions):  Check return instructions.

From-SVN: r26217
1999-04-06 07:28:37 -07:00
Per Bothner
b399dcd2cc parse.y (patch_binop): Don't fold if non-constant and emiting class files.
8
	* parse.y (patch_binop):  Don't fold if non-constant and emiting
	class files.

From-SVN: r26216
1999-04-06 07:27:22 -07:00
Per Bothner
7c3f7c03af parse.y (patch_binop): Don't fold if non-constant and emiting class files.
�
	* parse.y (patch_binop):  Don't fold if non-constant and emiting
	class files.

From-SVN: r26215
1999-04-06 07:27:19 -07:00
Per Bothner
d1472141a5 parse.y (patch_binop): Don't fold if non-constant and emiting class files.
h
	* parse.y (patch_binop):  Don't fold if non-constant and emiting
	class files.

From-SVN: r26214
1999-04-06 07:27:17 -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
Kaveh R. Ghazi
4504ead1db class.c (add_method_1): Cast the argument of `bzero' to PTR.
* class.c (add_method_1): Cast the argument of `bzero' to PTR.
        * decl.c (copy_lang_decl): Likewise for `bcopy'.
        * jcf-depend.c: Include "config.h", not <config.h>.
        * jcf-parse.c (jcf_figure_file_type): Cast the arguments of
        `bcopy' to PTR.
        * jcf-path.c: Include "config.h", not <config.h>.
        * lex.c: Don't include various system header files.
        (java_init_lex): Cast the argument of `bzero' to PTR
        * parse-scan.y (java_push_parser_context): Likewise.
        * parse.y (java_push_parser_context): Likewise.
        * xref.c: Don't include <stdio.h>.

From-SVN: r26203
1999-04-05 13:04:38 +00:00
Alexandre Petit-Bianco
d4370213f6 parse.y (struct parser_ctxt *ctxp): Now global.
Mon Apr  5 11:24:19 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* parse.y (struct parser_ctxt *ctxp): Now global.
	(declare_local_variables): Use WFL compound value for the
 	declaration source line value, when doing cross-referencing.

From-SVN: r26201
1999-04-05 05:00:08 -07:00
Tom Tromey
5877286edf gjavah.c (print_field_info): Allow constants of other types.
* gjavah.c (print_field_info): Allow constants of other types.
	(print_include): Generate include when new name is proper prefix
	of already printed name.
	(add_namelet): Likewise.
	(cxx_keyword_subst): New function.
	(print_method_info): Use it.
	(print_field_name): New function.
	(get_field_name): New function.
	(print_field_info): Use get_field_name and print_field_name.

From-SVN: r26085
1999-03-31 11:46:42 +00:00
Kaveh R. Ghazi
6a28cabc20 Makefile.in (keyword.h): Generate using gperf language 'C'...
* Makefile.in (keyword.h): Generate using gperf language 'C', not
        'KR-C', so gperf uses the `const' keyword on strings.
        * keyword.gperf (java_keyword): Const-ify a char*.

From-SVN: r26082
1999-03-31 08:05:08 +00:00
Alexandre Petit-Bianco
1504b2b439 [multiple changes]
Tue Mar 30 11:31:53 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* parse.y (patch_bc_statement): Fixed identation and a bogus
 	`printf' format.
Tue Mar 30 11:29:29 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* parse.y (patch_assignment): Allow static variables in other
 	classes to be assigned.

From-SVN: r26065
1999-03-30 03:35:27 -08:00
Kaveh R. Ghazi
152f94fc94 Warning fixes:
* class.c (maybe_add_interface): Remove unused variable
        `interface_binfo'.
        (make_class_data): Use = for assignment, not ==.  Likewise.
        (emit_register_classes): Remove unused variable `decl'.
        * lex.c: Fix comment so as not to contain an embedded `/*'.
        * verify.c (verify_jvm_instructions): Remove unused variable
        `self_type'.

From-SVN: r26046
1999-03-28 19:22:10 +00:00
Alexandre Petit-Bianco
f099f336d1 [multiple changes]
Sat Mar 27 15:13:21 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* parse.h (EXPR_WFL_GET_LINECOL): Set a line and column count
 	using a WFL compound value.
	* parse.y (xref.h): Include.
	(maybe_create_class_interface_decl): Set DECL_SOURCE_LINE to the
 	WFL compound value.
	(register_fields): Set WFL compound value to lineno if doing
 	xrefs.
	(java_complete_expand_method): Call expand_xref if flag_emit_xref
 	is set.
	* xref.c (system.h, jcf.h, parse.h, obstack.h): Include.
	* xref.h (expand_xref): Prototype renamed from xref_generate.
Sat Mar 27 14:16:32 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* parse.h (BLOCK_CHAIN_DECL): New use GET_CURRENT_BLOCK.
	(GET_CURRENT_BLOCK): New macro.
	* parse.y (current_static_block): New global variable.
	(method_body:): Define action.
	(complete_method_declaration): Set current_function_decl to NULL
 	when work on the current method is done.
	(declare_local_variables): Use GET_CURRENT_BLOCK.
	(java_method_add_stmt): Likewise.
	(java_complete_expand_method): Disable the use of `this' when
 	expanding <clinit>.
	(enter_a_block): If no current method exist, use
 	current_static_block to link static initializer blocks.
	(exit_block): Rewritten to use current_static_block when no current
 	method decl exists.
	(lookup_name_in_blocks): Use GET_CURRENT_BLOCK.
	(patch_return): Forbid the use of `return' in static initializers.
	(patch_throw_statement): Fixed indentation. Issue specific error
 	for uncaught thrown checked exception in static initializer
 	blocks. Removed FIXME.

From-SVN: r26018
1999-03-27 08:17:16 -08:00
Per Bothner
f1b0c0d8a3 parse.y (complete_loop_body): Rename to finish_loop_body.
�
	* parse.y (complete_loop_body):  Rename to finish_loop_body.
 	(complete_labeled_statement):  Rename to finish_labeled_statement.
	(complete_for_loop):  Rename to finish_for_loop.
	(complete_method_declaration):  Rename to finish_method_declaration.
	* java-tree.h (continue_identifier_node):  New global node.
	* decl.c:  Define and initialize continue_identifier_node.
	* parse.y (generate_labeled_block):  Remove - no longer needed.
	(build_loop_body):  Use continue_identifier_node for continue block.
	(finish_labeled_statement):  Also do pop_labeled_block actions.
	(java_complete_lhs):  POP_LOOP even if error.
	(build_labeled_block):  Special handling for continue_identifier_node.
	(patch_loop_statement):  Re-organize.
	(patch_bc_statement):  Re-write.

From-SVN: r26017
1999-03-27 08:05:29 -08:00
Per Bothner
e85ac860ae *** empty log message ***
From-SVN: r26016
1999-03-27 08:05:27 -08:00
Per Bothner
b635eb2fc0 parse.y (complete_loop_body): Rename to finish_loop_body.
d
	* parse.y (complete_loop_body):  Rename to finish_loop_body.
 	(complete_labeled_statement):  Rename to finish_labeled_statement.
	(complete_for_loop):  Rename to finish_for_loop.
	(complete_method_declaration):  Rename to finish_method_declaration.
	* java-tree.h (continue_identifier_node):  New global node.
	* decl.c:  Define and initialize continue_identifier_node.
	* parse.y (generate_labeled_block):  Remove - no longer needed.
	(build_loop_body):  Use continue_identifier_node for continue block.
	(finish_labeled_statement):  Also do pop_labeled_block actions.
	(java_complete_lhs):  POP_LOOP even if error.
	(build_labeled_block):  Special handling for continue_identifier_node.
	(patch_loop_statement):  Re-organize.
	(patch_bc_statement):  Re-write.

From-SVN: r26015
1999-03-27 08:05:24 -08:00
Zack Weinberg
08dc830e4f gcc.c: Compile unconditionally all code formerly dependent on #ifdef LANG_SPECIFIC_DRIVER.
* gcc.c: Compile unconditionally all code formerly dependent
	on #ifdef LANG_SPECIFIC_DRIVER.
	* gccspec.c: New file with stub lang_specific_driver,
	lang_specific_pre_link.
	* Makefile.in: Link gccspec.o into xgcc.  Add rule to compile
	gccspec.c.
	* cp/Make-lang.in: Remove all references to g++.o/g++.c.
	Link g++ from gcc.o.
	* f/Make-lang.in: Remove all references to g77.o/g77.c.
	Link g77 from gcc.o.
	* java/Make-lang.in: Remove all references to gcj.o/gcj.c.
	Link gcj from gcc.o.

From-SVN: r25989
1999-03-25 16:36:47 -07:00
Alexandre Petit-Bianco
de0b553f86 parse.y (find_applicable_accessible_methods_list): When dealing with interface...
Tue Mar 23 10:48:24 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* parse.y (find_applicable_accessible_methods_list): When dealing
 	with interface: ensure that a given interface or java.lang.Object
 	are searched only once.

From-SVN: r25925
1999-03-23 03:20:03 -08:00
Kaveh R. Ghazi
9ee9b55502 Warning fixes:
* gjavah.c (print_c_decl): Remove unused argument `flags'.
        * jcf-dump.c (print_access_flags): Add braces around if-else.
        * jvspec.c (lang_specific_driver): Wrap variable `len' in macro
        COMBINE_INPUTS.
        * lex.c (build_wfl_node): Add static prototype.
        * lex.h (build_wfl_node): Remove static prototype.
        * parse.y: Include lex.c early enough to declare everything needed.
        Ensure calls to `build_wfl_node' pass the proper arguments.
        (create_class): Remove unused variable `super_decl'.
        (get_printable_method_name): Initialize variable `name'.

From-SVN: r25921
1999-03-23 07:24:15 +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
Alexandre Petit-Bianco
235acd3518 Makefile.in: (JAVA_OBJS) Added entry xref.o.
1999-03-22  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* Makefile.in: (JAVA_OBJS) Added entry xref.o.
	(xref.o): New rule.
	* java-tree.h (flag_emit_xref): Declared extern.
	* lang.c: (xref.h): Included.
	(flag_emit_xref): New global variable.
	(lang_decode_option): Added support for -fxref.
	* xref.c: Created.
	* xref.h: Likewise.

From-SVN: r25907
1999-03-22 11:57:37 -08:00
Manfred Hollstein
e541d2b129 Makefile.in (xgcc$(exeext)): Add intl.o to list of files to be linked with.
gcc/ChangeLog:
1999-03-21  Manfred Hollstein  <manfred@s-direktnet.de>
	* Makefile.in (xgcc$(exeext)): Add intl.o to list of files to be
	linked with.
gcc/f/ChangeLog:
1999-03-21  Manfred Hollstein  <manfred@s-direktnet.de>
	* Makefile.in (g77$(exeext)): Depend on intl.o.  Link in intl.o.
gcc/java/ChangeLog:
1999-03-21  Manfred Hollstein  <manfred@s-direktnet.de>
	* Make-lang.in ($(GCJ)$(exeext)): Add intl.o to list of files to be
	linked with.
gcc/po/ChangeLog:
1999-03-21  Manfred Hollstein  <manfred@s-direktnet.de>
	* POTFILES.in: Track latest file renamings.
1999-03-01  Manfred Hollstein  <manfred@s-direktnet.de>
	* POTFILES.in: Remove files which do not exist anymore in egcs.
	Fix names of those files which are now living in egcs's
	libiberty/include directories.

From-SVN: r25881
1999-03-21 07:53:00 +00:00
Manfred Hollstein
9a4bcb83e1 *** empty log message ***
From-SVN: r25880
1999-03-21 07:52:59 +00:00
Kaveh R. Ghazi
4bcde32e86 Makefile.in (jcf-dump.o): Depend on $(CONFIG_H) $(srcdir)/../system.h and $(JAVA_TREE_H).
* Makefile.in (jcf-dump.o): Depend on $(CONFIG_H)
        $(srcdir)/../system.h and $(JAVA_TREE_H).
        (jcf-io.o): Depend on $(JAVA_TREE_H).
        (mangle.o): Likewise.
        * check-init.c (check_cond_init): Add static prototype.
        * class.c (build_java_method_type, hashUtf8String,
        make_field_value, get_dispatch_vector, get_dispatch_table,
        append_gpp_mangled_type, mangle_static_field): Likewise.
        (strLengthUtf8): Hide unused definition.
        (hashUtf8String): Const-ify.
        (make_field_value): Un-ANSI-fy.
        * constants.c: Move inclusion of jcf.h above java-tree.h.
        (set_constant_entry, find_class_or_string_constant,
        find_name_and_type_constant, get_tag_node,
        build_constant_data_ref): Add static prototype.
        * decl.c (push_jvm_slot, builtin_function,
        lookup_name_current_level): Likewise.
        (builtin_function): Const-ify.
        * except.c (expand_start_java_handler, expand_end_java_handler):
        Add static prototype.
        * expr.c (flush_quick_stack, push_value, pop_value,
        java_stack_swap, java_stack_dup, build_java_athrow,
        build_java_jsr, build_java_ret, expand_java_multianewarray,
        expand_java_arraystore, expand_java_arrayload,
        expand_java_array_length, build_java_monitor, expand_java_pushc,
        expand_java_return, expand_java_NEW, expand_java_INSTANCEOF,
        expand_java_CHECKCAST, expand_iinc, expand_java_binop, note_label,
        expand_compare, expand_test, expand_cond, expand_java_goto,
        expand_java_call, expand_java_ret, pop_arguments, expand_invoke,
        expand_java_field_op, java_push_constant_from_pool): Likewise.
        (decode_newarray_type, expand_iinc): Un-ANSI-fy.
        (build_java_arraynull_check): Mark parameters `node' and `type'
        with ATTRIBUTE_UNUSED.
        (note_label): Likewise for parameter `current_pc'.
        (expand_java_call, expand_java_ret): Hide unused definition.
        * java-tree.h (make_class, build_constants_constructor,
        java_set_exception_lang_code, pop_labeled_block, emit_handlers,
        init_outgoing_cpool, register_class, emit_register_classes,
        java_layout_seen_class_methods): Prototype.
        (unicode_mangling_length): Const-ify.
        (append_gpp_mangled_name, append_gpp_mangled_classtype,
        emit_unicode_mangled_name, format_int, format_uint,
        jcf_trim_old_input, jcf_print_utf8, jcf_print_char,
        jcf_print_utf8_replace, open_class): Prototype.
        * jcf-dump.c: Include "config.h", not <config.h>.  Don't include
        <stdio.h>.  Include tree.h/java-tree.h.
        (utf8_equal_string usage, process_class): Add static prototype.
        (open_class): Don't prototype this here.
        (utf8_equal_string): Match arguments to format specifiers.
        (HANDLE_CODE_ATTRIBUTE, BRANCH, JSR, RET, LOOKUP_SWITCH,
        TABLE_SWITCH, disassemble_method): Likewise.
        * jcf-io.c: Include tree.h/java-tree.h.
        (open_class, find_classfile, jcf_print_utf8,
        jcf_print_utf8_replace): Const-ify.
        * jcf-parse.c (parse_zip_file_entries, process_zip_dir,
        parse_class_file): Add static prototype.
        (find_in_current_zip): Match definition to existing static
        prototype.
        * jcf-write.c: Include jcf.h before tree.h/java-tree.h.
        (alloc_chunk, append_chunk, append_chunk_copy, gen_jcf_label,
        finish_jcf_block, define_jcf_label, get_jcf_label_here,
        put_linenumber, localvar_alloc, localvar_free, get_access_flags,
        write_chunks, adjust_typed_op, generate_bytecode_conditional,
        generate_bytecode_return, perform_relocations, init_jcf_state,
        init_jcf_method, release_jcf_state, generate_classfile):
        Add static prototype.
        (emit_unop): Mark parameter `type' with ATTRIBUTE_UNUSED.
        (make_class_file_name): Const-ify.
        * jcf.h (find_classfile): Const-ify.
        * jv-scan.c (reset_report): Remove prototype.
        * jvgenmain.c: Include jcf.h/tree.h/java-tree.h.
        (error): Rewrite to allow varargs.
        * lang.c (lang_f_options): Const-ify.
        * lex.c (java_parse_escape_sequence): Add static prototype.
        (java_allocate_new_line): Match definition to existing static
        prototype.
        * mangle.c Include tree.h/java-tree.h.
        (unicode_mangling_length, emit_unicode_mangled_name,
        append_gpp_mangled_name, append_gpp_mangled_classtype): Const-ify.
        * parse.h (jdep_code): Remove trailing comma in enumeration.
        (java_get_line_col): Move prototype outside of !JC1_LITE test.
        (reset_report): Add prototype.
        * verify.c (push_pending_label, merge_types): Add static
        prototypes.
        * zipfile.h (opendir_in_zip, open_in_zip): Prototype.

From-SVN: r25878
1999-03-21 06:09:25 +00:00
Alexandre Petit-Bianco
89004479b3 parse.y (find_applicable_accessible_methods_list): Extend the search to superinterfaces when relevant.
1999-03-19  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* parse.y (find_applicable_accessible_methods_list): Extend the
	search to superinterfaces when relevant.
	(search_applicable_methods_list): New function.
(Previous check didn't have the right path in the `#line' directives.)

From-SVN: r25863
1999-03-19 05:15:44 -08:00
Alexandre Petit-Bianco
cc596f8cbb parse.y (find_applicable_accessible_methods_list): Extend the search to superinterfaces when relevant.
1999-03-19  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* parse.y (find_applicable_accessible_methods_list): Extend the
	search to superinterfaces when relevant.
	(search_applicable_methods_list): New function.
(parse.c wasn't part of the last check-in.)

From-SVN: r25862
1999-03-19 05:08:32 -08:00
Alexandre Petit-Bianco
1982388a57 [multiple changes]
1999-03-19  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* parse.y (find_applicable_accessible_methods_list): Extend the
	search to superinterfaces when relevant.
	(search_applicable_methods_list): New function.
1999-03-18  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* class.c (unmangle_classname): Implemented stricter testing
	before setting the QUALIFIED_P flag on an identifier.

From-SVN: r25861
1999-03-19 04:56:16 -08:00
Per Bothner
8fe57f78b6 parse.y (java_complete_lhs): Call force_evaluation_order after patch_newarray.
�
	* parse.y (java_complete_lhs):  Call force_evaluation_order
	after patch_newarray.
	(patch_binop):  Don't call fold if there are side effects.

From-SVN: r25808
1999-03-16 08:25:16 -08:00
Per Bothner
4fdea7b0d1 parse.y (java_complete_lhs): Call force_evaluation_order after patch_newarray.
x
	* parse.y (java_complete_lhs):  Call force_evaluation_order
	after patch_newarray.
	(patch_binop):  Don't call fold if there are side effects.

From-SVN: r25807
1999-03-16 08:25:14 -08:00
Per Bothner
aee48ef856 parse.y (java_complete_lhs): Call force_evaluation_order after patch_newarray.
* parse.y (java_complete_lhs):  Call force_evaluation_order
	after patch_newarray.
	(patch_binop):  Don't call fold if there are side effects.

From-SVN: r25806
1999-03-16 08:25:12 -08:00
Alexandre Petit-Bianco
642f15d187 parse.y (java_stabilize_reference): Use save_expr instead of building a SAVE_EXPR node.
1999-03-16  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* parse.y (java_stabilize_reference): Use save_expr instead of
	building a SAVE_EXPR node.
	(java_complete_lhs): Patch the resulting string of the `+='
	operator (if necessary) and complete the RHS after having built
	the cast.

From-SVN: r25797
1999-03-15 19:38:15 -08:00
Per Bothner
c52016e41d class.c (make_class): Don't set CLASS_P here (because this function is also called by...
* class.c (make_class):  Don't set CLASS_P here (because
	this function is also called by build_java_array_type).
	(push_class):  Set CLASS_P here instead.
	* parse.h (TYPE_CLASS_P):  Check for TYPE_ARRAY_P is redundant.
	* jcf-dump.c (print_access_flags):  Take extra parameter to indicate
	context.  If the context is class, perfer "super" over "synchronized".
	* jcf-write.c (generate_classfile):  Don't add ACC_SUPER if interface.
	* parse.y (create_class):  Don't call parser_check_super here;
	it is not robust.  Always wait until later.
	* parse.y (method_header):  For interfaces, set ACC_ABSTRACT (to
	match what JDK 1.2 does), but don't set ACC_PUBLIC.

From-SVN: r25785
1999-03-15 05:09:47 -08:00
Per Bothner
2c3199bc4a class.c (make_class): Don't set CLASS_P here (because this function is also called by...
d
	* class.c (make_class):  Don't set CLASS_P here (because
	this function is also called by build_java_array_type).
	(push_class):  Set CLASS_P here instead.
	* parse.h (TYPE_CLASS_P):  Check for TYPE_ARRAY_P is redundant.
	* jcf-dump.c (print_access_flags):  Take extra parameter to indicate
	context.  If the context is class, perfer "super" over "synchronized".
	* jcf-write.c (generate_classfile):  Don't add ACC_SUPER if interface.
	* parse.y (create_class):  Don't call parser_check_super here;
	it is not robust.  Always wait until later.
	* parse.y (method_header):  For interfaces, set ACC_ABSTRACT (to
	match what JDK 1.2 does), but don't set ACC_PUBLIC.

From-SVN: r25784
1999-03-15 05:09:44 -08:00
Per Bothner
2728f62201 class.c (make_class): Don't set CLASS_P here (because this function is also called by...
a
	* class.c (make_class):  Don't set CLASS_P here (because
	this function is also called by build_java_array_type).
	(push_class):  Set CLASS_P here instead.
	* parse.h (TYPE_CLASS_P):  Check for TYPE_ARRAY_P is redundant.
	* jcf-dump.c (print_access_flags):  Take extra parameter to indicate
	context.  If the context is class, perfer "super" over "synchronized".
	* jcf-write.c (generate_classfile):  Don't add ACC_SUPER if interface.
	* parse.y (create_class):  Don't call parser_check_super here;
	it is not robust.  Always wait until later.
	* parse.y (method_header):  For interfaces, set ACC_ABSTRACT (to
	match what JDK 1.2 does), but don't set ACC_PUBLIC.

From-SVN: r25783
1999-03-15 05:09:36 -08:00
Per Bothner
10919149c3 class.c (make_class): Don't set CLASS_P here (because this function is also called by...
T
	* class.c (make_class):  Don't set CLASS_P here (because
	this function is also called by build_java_array_type).
	(push_class):  Set CLASS_P here instead.
	* parse.h (TYPE_CLASS_P):  Check for TYPE_ARRAY_P is redundant.
	* jcf-dump.c (print_access_flags):  Take extra parameter to indicate
	context.  If the context is class, perfer "super" over "synchronized".
	* jcf-write.c (generate_classfile):  Don't add ACC_SUPER if interface.
	* parse.y (create_class):  Don't call parser_check_super here;
	it is not robust.  Always wait until later.
	* parse.y (method_header):  For interfaces, set ACC_ABSTRACT (to
	match what JDK 1.2 does), but don't set ACC_PUBLIC.

From-SVN: r25782
1999-03-15 05:09:32 -08:00
Per Bothner
b911df1226 lex.c (java_read_char): UNGET invalid non-initial utf8 character.
�
	* lex.c (java_read_char):  UNGET invalid non-initial utf8 character.
	* lex.h (UNGETC):  Change misleading macro.

From-SVN: r25754
1999-03-13 11:21:39 -08:00
Per Bothner
45ec036eed lex.c (java_read_char): UNGET invalid non-initial utf8 character.
h
	* lex.c (java_read_char):  UNGET invalid non-initial utf8 character.
	* lex.h (UNGETC):  Change misleading macro.

From-SVN: r25753
1999-03-13 11:21:38 -08:00
Alexandre Petit-Bianco
2aa11e9772 parse.y (java_stabilize_reference): Return NODE when patching a COMPOUND_EXPR.
1999-03-12  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* parse.y (java_stabilize_reference): Return NODE when patching a
	COMPOUND_EXPR.
	(java_complete_lhs): Put parenthesis around truth values.
1999-03-12  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* class.c (layout_class_method): Don't make rtl for interface
	methods.
	* parse.h (GET_TYPE_NAME): New macro.
	* parse.y (if_then_statement:): Fixed indentation.
	(if_then_else_statement:): Likewise.
	(for_statement:): Fixed spacing.
	(try_statement:): Fixed indentation.
	(create_interface): Don't force interfaces to be abstract.
	(method_header): Abstract methods are OK in interfaces.
	(declare_local_variables): Fixed typo in comment.
	(java_complete_expand_method): Fixed indentation.
	(resolve_qualified_expression_name): Use GET_TYPE_NAME to report
	non accessible fields.
	(java_stabilize_reference): New function.
	(java_complete_lhs): Fixed indentation. Use
	java_stabilize_reference in compound assignement. Insert the
	cast. If not processing `+' fix string constants before processing
	binop.

From-SVN: r25733
1999-03-12 10:19:04 -08:00
Kaveh R. Ghazi
7e21fe59b2 Warning fixes:
* constants.c (find_class_or_string_constant): Cast variable `j'
        to a `jword' when comparing against one.
        * expr.c (java_lang_expand_expr): Remove unused variables
        `has_finally_p' and `op0'.
        * gjavah.c (print_field_info): Cast a value to jint when comparing
        against one.  Likewise for a jlong.
        (add_namelet): Likewise cast a `sizeof' to an int when comparing
        against a signed quantity.
        * jcf-dump.c (print_signature_type): Remove unused variable `digit'.
        (print_signature): Don't needlessly dereference variable `str'
        * jcf-reader.c (get_attribute): Mark variables `max_stack' and
        `max_locals' with ATTRIBUTE_UNUSED.
        (jcf_parse_class): Likewise for variable `index'.
        * parse.h (reverse_jdep_list): Remove static prototype.
        * parse.y (build_jump_to_finally): Remove prototype and definition.
        (reverse_jdep_list): Add static prototype.
        * typeck.c (convert_ieee_real_to_integer): Remove unused variables
        `assignment' and `expr_decl'.
        * verify.c (verify_jvm_instructions): Remove unused label `bad_ldc'.

From-SVN: r25731
1999-03-12 17:13:24 +00:00
Andrew Haley
ecef190cbd jcf-path.c (add_entry): alloca len+2 rather than len+1 bytes...
1999-03-12  Andrew Haley  <aph@cygnus.com>
        * jcf-path.c (add_entry): alloca len+2 rather than len+1 bytes;
        we'll need a directory separator and a null character.

From-SVN: r25726
1999-03-12 07:52:58 +00:00
Per Bothner
2aee04d279 jcf-write.c (generate_bytecode_insns): Handle __builtin_fmod, for %.
8
	* jcf-write.c (generate_bytecode_insns):  Handle __builtin_fmod, for %.

From-SVN: r25683
1999-03-10 15:22:48 -08:00
Per Bothner
cff699c1bc jcf-write.c (generate_bytecode_insns): Handle __builtin_fmod, for %.
�
	* jcf-write.c (generate_bytecode_insns):  Handle __builtin_fmod, for %.

From-SVN: r25682
1999-03-10 15:22:47 -08:00