Tom Tromey
099a51500c
lex.h (JAVA_FLOAT_RANGE_ERROR): Typo fix.
...
* lex.h (JAVA_FLOAT_RANGE_ERROR): Typo fix.
* lex.c (IS_ZERO): New define.
(java_perform_atof): Error on floating point underflow.
From-SVN: r37269
2000-11-06 05:35:53 +00:00
Tom Tromey
cbf53a1d5e
lex.c (java_parse_escape_sequence): Only read two octal characters if the first one is greater than 3.
...
* lex.c (java_parse_escape_sequence): Only read two octal
characters if the first one is greater than 3. Don't allow
"octal" numbers to include the digits 8 or 9.
From-SVN: r37267
2000-11-05 22:59:56 +00:00
Joseph Myers
436a88a6d4
Makefile.in: Remove all targets related to building distributions and diffs, or INSTALL.
...
* Makefile.in: Remove all targets related to building
distributions and diffs, or INSTALL.
* INSTALL, install1.texi: Remove.
* configure.in: Remove mention of distdir.
* configure: Regenerate.
* objc/Make-lang.in: Remove mention of distdir.
ch:
* Make-lang.in (CHILL.distdir): Remove.
cp:
* Make-lang.in (c++.distdir): Remove.
f:
* Make-lang.in: Remove f77.distdir and f/INSTALL.
* INSTALL, install0.texi: Remove.
java:
* Make-lang.in (java.distdir): Remove.
From-SVN: r37265
2000-11-05 10:35:33 +00:00
Tom Tromey
4e2c8d44e8
re PR other/567 ("make dvi" fails)
...
* Make-lang.in (java.dvi): New target.
Partial fix for PR other/567.
From-SVN: r37255
2000-11-04 19:12:46 +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
0160fbe150
class.c (cxx_keyword_p): Accept keywords with trailing `$'s.
...
* class.c (cxx_keyword_p): Accept keywords with trailing `$'s.
* gjavah.c (cxx_keyword_subst): Handle any number of trailing
`$'.
From-SVN: r37243
2000-11-04 04:56:25 +00:00
Alexandre Petit-Bianco
7ccd2fc96f
Make-lang.in (LIBGCJ_ZIP_FILE): Define with `$(prefix)'.
...
2000-10-29 Alexandre Petit-Bianco <apbianco@cygnus.com>
* Make-lang.in (LIBGCJ_ZIP_FILE): Define with `$(prefix)'.
Fixes gcj/365.
(http://gcc.gnu.org/ml/gcc-patches/2000-11/msg00130.html )
From-SVN: r37239
2000-11-03 15:38:36 -08:00
Tom Tromey
747800ee8a
lex.h (_JAVA_IDENTIFIER_IGNORABLE): New macro.
...
* lex.h (_JAVA_IDENTIFIER_IGNORABLE): New macro.
(JAVA_ID_CHAR_P): Also try java_ignorable_control_p.
* lex.c (java_read_unicode): Removed `term_context' argument.
Recognize any number of `u' in `\u'.
(java_read_unicode_collapsing_terminators): New function.
(java_get_unicode): Use it.
(java_lineterminator): Removed.
(yylex): Produce error if character literal is newline or single
quote. Return if eof found in middle of `//' comment. EOF in
`//' comment is only an error if pedantic.
(java_ignorable_control_p): New function.
(java_parse_end_comment): Return if eof found in middle of
comment.
Include flags.h.
* jv-scan.c (pedantic): New global.
From-SVN: r37232
2000-11-03 20:27:07 +00:00
Alexandre Petit-Bianco
2cb3951d32
parse.y (patch_method_invocation): NULLify this_arg when already inserted.
...
2000-10-25 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (patch_method_invocation): NULLify this_arg when already
inserted.
(maybe_use_access_method): Handle call to methods unrelated to the
current class. Fixed comment.
Fixes gcj/361.
(http://sources.redhat.com/ml/java-prs/2000-q4/msg00072.html
http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00993.html )
From-SVN: r37139
2000-10-29 18:37:25 -08:00
Zack Weinberg
b8dad04b68
configure.in: If not NO_MINUS_C_MINUS_O, substitute OUTPUT_OPTION with '-o $@'.
...
* configure.in: If not NO_MINUS_C_MINUS_O, substitute
OUTPUT_OPTION with '-o $@'. Make zlibdir, zlibinc relative to
top level. Kill oldstyle_subdirs. Do not include
$srcdir/$s/Makefile.in in all_lang_makefiles, but do include
$outputs. Do not run configure.lang from config.status.
Rearrange warning-flag logic to correspond to what the
makefile wants. Put special vax stage1 options in
@stage1_flags@ not @stage1_warn_cflags@. Don't do anything
with extra_c_objs, extra_cxx_objs, or extra_cpp_objs.
(--enable-c-cpplib): AC_SUBST(maybe_cpplib) with "libcpp.a" if
switch is given, nothing otherwise.
* configure.lang: Delete.
* Makefile.in: Expunge all traces of extra_c_objs,
extra_cxx_objs, and extra_cpp_objs. Set MAYBE_CPPLIB from
@maybe_cpplib@. Add $(MAYBE_CPPLIB) to C_AND_OBJC_OBJS. Set
warning options via a three level scheme so that -pedantic and
-Wtraditional are not used for non-C front ends: LOOSE_WARN,
STRICT1_WARN, STRICT2_WARN -> $(@D)-warn, GCC_WARN_CFLAGS ->
WARN_CFLAGS. Distinguish STAGE1_CFLAGS from BOOT_CFLAGS.
Add -I$(@D) and -I$(srcdir)/$(@D) to INCLUDES.
Set OUTPUT_OPTION, ZLIB, ZLIBINC. Do not set P,
LANG_FLAGS_TO_PASS. Add OUTPUT_OPTION to all object-file
generation rules. Wrap all rules that change the current
directory in parentheses; pmake doesn't spawn a new shell for
each command. Expunge all references to $(P). When one
command depends on another and they're run all at once, use &&
to separate them, not ;. Add libgcc_s$(SHLIB_EXT) to files
deleted on make clean. Force OUTPUT_OPTION='-o $@' in stage2
and beyond.
* cp/Make-lang.in, f/Make-lang.in, java/Make-lang.in,
objc/Make-lang.in: Wrap all rules that change the current
directory in parentheses. Expunge all references to $(P).
When one command depends on another and they're run all at
once, use && to separate them, not ;. Add OUTPUT_OPTION to
all object-file generation rules. Delete obsolete variables.
Move all build rules here from the corresponding Makefile.in and
adapt to the new environment.
* cp/Makefile.in, f/Makefile.in, java/Makefile.in, objc/Makefile.in:
Delete.
* cp/config-lang.in, f/config-lang.in, java/config-lang.in:
Delete outputs= line.
From-SVN: r37088
2000-10-27 20:22:28 +00:00
Tom Tromey
07b5e470a6
lex.c (java_new_lexer): Initialize new fields.
...
* lex.c (java_new_lexer): Initialize new fields. Work around
broken iconv() implementations.
(java_read_char): Swap bytes if required. Use fallback decoder if
required.
(byteswap_init, need_byteswap): New globals.
(java_destroy_lexer): Only close iconv handle if it is in use.
* lex.h (java_lexer): New fields read_anything, byte_swap,
use_fallback.
Made out_buffer unsigned.
From-SVN: r37063
2000-10-26 00:01:46 +00:00
Alexandre Petit-Bianco
8ac1de05dd
parse.y (register_incomplete_type): Include JDEP_FIELD as a case where an enclosing context can be set on the jdep.
...
2000-10-24 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (register_incomplete_type): Include JDEP_FIELD as a case
where an enclosing context can be set on the jdep.
(do_resolve_class): Fixed identation.
(http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00824.html )
From-SVN: r37045
2000-10-24 22:47:28 -07:00
Kaveh R. Ghazi
80393943c7
Warning fixes:
...
* gjavah.c (NEED_PEEK_ATTRIBUTE, NEED_SKIP_ATTRIBUTE): Define
* jcf-reader.c (peek_attribute, skip_attribute): Only define
when requested.
* parse.h (yyerror): If JC1_LITE, mark with ATTRIBUTE_NORETURN.
* verify.c (CHECK_PC_IN_RANGE): Cast result of stmt-expr to void.
From-SVN: r36994
2000-10-21 15:10:38 +00:00
Bryce McKinlay
e1d565ab93
parse.y (do_resolve_class): Also explore superclasses of intermediate enclosing contexts when...
...
2000-08-15 Bryce McKinlay <bryce@albatross.co.nz>
* parse.y (do_resolve_class): Also explore superclasses of
intermediate enclosing contexts when searching for inner classes.
From-SVN: r36990
2000-10-21 07:28:27 +01:00
Tom Tromey
ac758f9643
Removed erroneous ChangeLog entry
...
From-SVN: r36983
2000-10-20 21:26:21 +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
Bryce McKinlay
cab8e2bd65
parse.y (find_most_specific_methods_list): Select the only non-abstract method even if max has been set.
...
2000-07-18 Bryce McKinlay <bryce@albatross.co.nz>
* parse.y (find_most_specific_methods_list): Select the only
non-abstract method even if max has been set.
Fixes gcj/285, gcj/298.
(http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00646.html )
From-SVN: r36956
2000-10-19 21:00:44 -07:00
Alexandre Petit-Bianco
02ae6e2e4b
parse.y (process_imports): Consider that one might be trying to import an innerclass.
...
2000-07-19 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (process_imports): Consider that one might be trying to
import an innerclass. Fixes gcj/254
(http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00631.html )
From-SVN: r36948
2000-10-19 00:51:54 -07:00
Alexandre Petit-Bianco
dba41d307e
gjavah.c (add_class_decl): Removed unused variables tname',
tlen' and `name_index'.
...
2000-10-18 Alexandre Petit-Bianco <apbianco@cygnus.com>
* gjavah.c (add_class_decl): Removed unused variables `tname',
`tlen' and `name_index'.
* java-tree.h (BUILD_FILENAME_IDENTIFIER_NODE): New macro.
* jcf-parse.c (jcf_parse_source): Use it and set EXPR_WFL_FILENAME
in `wfl_operator' with value.
(yyparse): Use BUILD_FILENAME_IDENTIFIER_NODE.
(jcf_figure_file_type): Fixed identation.
* lex.c (java_get_line_col): Use EOF. Tuned `^' placement.
* parse.y (analyze_clinit_body): New function.
(static_initializer:): Reset `current_static_block'.
(java_parser_context_restore_global): Set EXPR_WFL_FIILENAME_NODE in
`wfl_operator' with new value.
(lookup_cl): Use EXPR_WFL_FILENAME.
(maybe_yank_clinit): Handle bogus <clinit> bodies, call
analyze_clinit_body.
(build_outer_field_access): Access to this$<n> built from
current_class, not its outer context.
(build_access_to_thisn): Fixed leading comment. Tidied things up.
(resolve_qualified_expression_name): Handle `T.this' and `T.this.f()'.
(patch_method_invocation): Use `is_static_flag' when already
initialized.
(patch_newarray): Removed assignment in ternary operator.
(http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00629.html )
From-SVN: r36946
2000-10-18 21:19:09 -07:00
Alexandre Petit-Bianco
1a2ebe6d57
except.c (free_eh_ranges): Don't free `whole_range.'
...
2000-10-17 Alexandre Petit-Bianco <apbianco@cygnus.com>
* except.c (free_eh_ranges): Don't free `whole_range.'
(http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00557.html )
From-SVN: r36915
2000-10-17 15:48:59 -07:00
Anthony Green
8e7ab3ff22
decl.c (init_decl_processing): Call init_class_processing before anything else.
...
* decl.c (init_decl_processing): Call init_class_processing before
anything else.
From-SVN: r36892
2000-10-16 23:45:07 +01: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
Kaveh R. Ghazi
4b9454025b
Makefile.in (c-parse.c, tradcif.c): Create atomically.
...
* Makefile.in (c-parse.c, tradcif.c): Create atomically.
* objc/Make-lang.in (objc-parse.c): Likewise.
cp:
* Makefile.in (parse.c, parse.h): Create atomically.
java:
* Make-lang.in (parse.c, parse-scan.c): Create atomically.
* Makefile.in (parse.c, parse-scan.c): Likewise.
From-SVN: r36861
2000-10-13 16:16:30 +00:00
Mark Mitchell
1f8f4a0b31
Remove obstacks.
...
* Makefile.in (ggc-callbacks.o): Remove target.
(flow.o): Depend on GGC_H.
* alias.c (init_alias_analysis):
Remove ggc_p conditionals.
(end_alias_analysis): Likewise.
* basic-block.h (init_flow): New function.
(allocate_reg_life_data): Declare.
* bb-reorder.c (function_obstack): Replace with ...
(flow_obstack): ... new variable.
(fixup_reorder_chain): Use it.
* c-decl.c (ggc_p): Remove.
(caller-save.c): Don't call oballoc/obfree.
* combine.c (struct
undobuf): Remove storage.
(try_combine): Don't call oballoc.
(undo_all): Don't call obfree.
* cse.c (insert): Use xmalloc, not
oballoc.
(cse_main): Adjust accordingly.
* dwarf2out.c (save_rtx): Remove
obstack code.
(dwarf2out_init): Remove ggc_p conditionals.
* emit-rtl.c (rtl_obstack): Remove.
(gen_rtx_CONST_INT): Remove ggc_p conditionals.
(make_insn_raw): Likewise.
(emit_insn_before): Likewise.
(emit_insn_after): Likewise.
(emit_insn): Likewise.
(gen_sequence): Likewise.
(copy_insn_1): Remove handling of `b' RTL components.
(init_emit_once): Remove ggc_p conditionals.
* except.c (create_rethrow_ref): Don't fool with obstacks.
(add_partial_entry): Likewise.
(call_get_eh_context): Likewise.
(begin_protect_partials): Likewise.
(protect_with_terminate): Likewise.
* explow.c
(plus_constant_wide): Likewise.
* expr.c (init_expr_once):
Likewise.
(emit_block_move): Likewise.
(clear_storage): Likewise.
(expand_expr): Likewise.
* flow.c (function_obstack): Remove.
(flow_obstack): New variable.
(flow_firstobj): Likewise.
(create_base_block): Use the flow_obstack.
(split_block): Likewise.
(split_edge): Likewise.
(calculate_global_regs_live): Likewise.
(allocate_bb_life_data): Make it static. Likewiwse.
(init_flow): New function.
(size_int_type_wide): Remove ggc_p conditionals.
* function.c
(push_function_context_to): Don't call save_tree_status.
(pop_function_context_from): Or restore_tree_status.
(assign_stack_local_1): Don't call push_obstacks.
(find_fixup_replacement): Use xmalloc.
(fixup_var_refs_insns): Free the storage.
(insns_for_mem_walk): Don't mess with obstacks.
(instantiate_decls): Likewise.
(trampoline_address): Likewise.
(expand_function_end): Likewise.
* function.h (sturct function):
Remove obstack-related variables.
(save_tree_status): Don't declare.
(restore_tree_status): Likewise.
* gcse.c (compute_can_copy):
Don't call oballoc/obfree.
* genattrtab.c (operate_exp): Remove
ggc_p conditionals.
(simplify_cond): Likewise.
(simplify_test_exp): Don't mess with obstacks.
(optimize_attrs): Likewise.
* gengenrtl.c (gendef): Don't include
ggc_p conditionals.
* ggc-callbacks.c (ggc_p): Remove.
* ggc-none.c (ggc_p): Remove.
* ggc.h (ggc_p): Don't declare.
* integrate.c (save_for_inline): Don't mess with obstacks.
(integrate_decl_tree): Likewise.
(output_inline_function): Likewise.
* lists.c
(init_EXPR_INSN_LIST_cache): Likewise.
* loop.c (temp_obstack):
Remove.
(rtl_obstack): Likewise.
(init_loop): Don't mess with obstacks.
(reg_address_cost): Free BIVs and GIVs.
(check_insns_for_bivs): Use xmalloc, not oballoc.
(find_mem_givs): Likewise.
(record_biv): Likewise.
(general_induction_var): Likewise.
(product_cheap_p): Likewse.
* optabs.c (init_one_libfunc): Remove
ggc_p conditional.
* print-tree.c (debug_tree): Don't use
oballoc/obfree.
(print_node): Likewise.
* profile.c (output_func_start_profiler):
Remove call to temporary_allocation.
* reload1.c
(eliminate_regs_in_insn): Don't mess with obstacks.
* resource.c
(mark_target_live_regs): Use xmalloc.
(free_resource_info): Free the memory.
* rtl.c (rtl_obstack):
Remove.
(rtvec_alloc): Don't mess with obstacks.
(rtx_alloc): Likewise.
(rtx_free): Remove.
(copy_rtx): Don't handle `b' cases.
(read_rtx): Use a local rtl_obstack.
* rtl.h (oballoc): Remove.
(obfree): Likewise.
(pop_obstacks): Likewise.
(push_obstacks): Likewise.
(allocate_bb_life_data): Likewise.
(allocate_reg_life_data): Likewise.
(rtx_free): Likewise.
* sdbout.c (sdbout_queue_anonymous_type):
Use tree_cons, not saveable_tree_cons.
* simplify-rtx.c
(cselib_init): Don't mess with obstacks.
* stmt.c
(mark_block_nesting): Mark the label_chain.
(epxand_label): Use ggc_alloc, not oballoc.
(clear_last_expr): Don't mess with obstacks.
(expand_decl_cleanup): Likewise.
(expand_dcc_cleanup): Likewise.
(expand_dhc_cleanup): Likewise.
(expand_anon_union_decl): Likewise.
(add_case_node): Use xmalloc, not oballoc.
(free_case_nodes): New function.
(expand_end_case): Call it.
* stor-layout.c (layout_type): Don't
mess with obstacks.
(layout_type): Likewise.
* toplev.c (wrapup_global_declarations):
Likewise.
(compile_file): Remove ggc_p conditionals.
(rest_of_compilation): Call init_flow. Remove ggc_p conditionals.
(decode_f_option): Remove ggc_p conditionals.
* tree.c
(function_maybepermanent_obstack): Remove.
(maybepermanent_obstack): Likewise.
(function_obstack): Likewise.
(tmeporary_obstack): Likewise.
(momentary_obstack): Likewise.
(temp_decl_obstack): Likewise.
(saveable_obstack): Likewise.
(rtl_obstack): Likewise.
(current_obstack): Likewise.
(expression_obstack): Likewise.
(struct obstack_stack): Likewise.
(obstack_stack): Likewise.
(obstack_stack_obstack): Likewise.
(maybepermanent_firstobj): Likewise.
(temporary_firstobj): Likewise.
(momentary_firstobj): Likewise.
(temp_decl_firstobj): Likewise.
(momentary_function_firstobj): Likewise.
(all_types_permanent): Likewise.
(struct momentary_level): Likewise.
(momentary_stack): Likewise.
(init_obstacks): Remove initialization of removed obstacks.
(save_tree_status): Remove.
(restore_tree_status): Likewise.
(temporary_allocation): Liekwise.
(end_temporary_allocation): Liekwise.
(resume_temporary_allocation): Likewise.
(saveable_allocation): Likewise.
(push_obstacks): Likewise.
(push_obstacks_nochange): Likewise.
(pop_obstacks): Likewise.
(allocation_temporary_p): Likewise.
(permanent_allocation): Likewise.
(preserve_data): Likewise.
(preserve_initializer): Likewise.
(rtl_in_current_obstack): Likewise.
(rtl_in_saveable_obstack): Likewise.
(oballoc): Likewise.
(obfree): Likewise.
(savealloc): Likewise.
(expralloc): Likewise.
(print_obstack_name): Likewise.
(debug_obstack): Likewise.
(object_permanent_p): Likewise.
(push_momentary): Likewise.
(perserve_momentary): Likewise.
(clear_momentary): Likewise.
(pop_momentary): Likewise.
(pop_momentary_nofree): Likewise.
(suspend_momentary): Likewise.
(resume_momentary): Likewise.
(make_node): Don't set TREE_PERMANENT.
(copy_node): Remove ggc_p conditionals. Don't set TYPE_OBSTACK.
Don't set TREE_PERMANENT.
(get_identifier): Remove ggc_p conditionals.
(build_string): Likewise.
(make_tree_vec): Likewise.
(build_decl_list): Remove.
(build_expr_list): Likewise.
(tree_cons): Remove ggc_p conditionals.
(decl_tree_cons): Remove.
(expr_tree_cons): Likewise.
(perm_tree_cons): Likewise.
(temp_tree_cons): Likewise.
(saveable_tree_cons): Likewise.
(build1): Remove ggc_p conditionals.
(build_parse_node): Likewise.
(build_type_attribute_variant): Don't mess with obstacks.
(build_type_copy): Likewise.
(type_hash_canon): Likewise.
(build_pointer_type): Likewise.
(build_reference_type): Likewise.
(build_index_type): Likewise.
(build_range_type): Likewise.
(dump_tree_statistics): Don't print obstack information.
* tree.h
(struct tree_common): Remove permanent_flag.
(TREE_PERMANENT): Remove.
(TREE_SET_PERMANENT): Likewise.
(TYPE_OBSTACK): Likewise.
(struct tree_type): Remove obstack.
(oballoc): Remove.
(savealloc): Likewise.
(build_decl_list): Likewise.
(build_expr_list): Likewise.
(perm_tree_cons): Likewise.
(temp_tree_cons): Likewise.
(saveable_tree_cons): Likewise.
(decl_tree_cons): Likewise.
(expr_tree_cons): Likewise.
(suspend_momentary): Likewise.
(allocation_temporary_p): Likewise.
(resume_momentary): Likewise.
(push_obstacks_nochange): Likewise.
(permanent_allocation): Likewise.
(push_momentary): Likewise.
(clear_momentary): Likewise.
(pop_momentary): Likewise.
(end_temporary_allocation): Likewise.
(pop_obstacks): Likewise.
(push_obstacks): Likewise.
(pop_momentary_nofree): LIkewise.
(preserve_momentary): Likewise.
(saveable_allocation): Likewise.
(temporary_allocation): Likewise.
(resume_temporary_allocation): Likewise.
(perserve_initializer): Likewise.
(debug_obstack): Likewise.
(rtl_in_current_obstack): Likewise.
(rtl_in_saveable_obstack): Likewise.
(obfree): Likewise.
* varasm.c (current_obstack): Remove.
(saveable_obstack): Remove.
(rtl_obstack): Remove.
(immed_double_const): Don't mess with obstacks.
(immed_real_cons): Likewise.
(output_constant_def): Likewise.
(init_varasm_status): Use xcalloc.
(mark_pool_constant): Mark the pool constant itself.
(free_varasm_status): Free memory.
(decode_rtx_const): Call bzero directly, rather than expanding it
inline.
(record_rtx_const): Don't mess with obstacks.
(force_const_mem): Likewise.
* config/arm/arm.c (arm_encode_call_attribute): Remove ggc_p
conditionals.
(aof_pic_entry): Likewise.
* config/ia64/ia64.c (ia64_encode_section_info): Likewise.
* config/m32r/m32r.c (m32r_encode_section_info): Likewise.
* config/pa/pa.c (saveable_obstack): Remove.
(rtl_obstack): Likewise.
(current_obstack): Likewise.
(output_call): Don't mess with obstacks.
(hppa_encode_label): Remove ggc_p conditionals.
* config/romp/romp.c (get_symref): Don't mess with obstacks.
* config/rs6000/rs6000.c (output_toc): Remove ggc_p conditional.
(rs6000_encode_section_info): Likewise.
* config/sh/sh.c (get_fpscr_rtx): Likewise.
From-SVN: r36856
2000-10-13 06:26:46 +00:00
Tom Tromey
3c1d1e7b7f
re GNATS gcj/356 (gcjh bug: Can't #include <java/awt/Container.h>)
...
Fix for PR gcj/356:
* gjavah.c (add_class_decl): Don't special-case inner classes.
(add_namelet): Likewise.
From-SVN: r36854
2000-10-12 18:57:52 +00:00
Tom Tromey
2e165c53de
lex.c (java_new_lexer): Initialize out_first and out_last fields.
...
* lex.c (java_new_lexer): Initialize out_first and out_last
fields.
* lex.h (java_lexer): Added out_buffer, out_first, out_last.
From-SVN: r36830
2000-10-10 22:02:12 +00:00
Alexandre Petit-Bianco
29f8b71838
[multiple changes]
...
2000-10-07 Alexandre Petit-Bianco <apbianco@cygnus.com>
Patch contributed by Corey Minyard.
* decl.c (check_local_named_variable): New function.
(tree check_local_unnamed_variable): Likewise.
(find_local_variable): Splitted. Call check_local_{un}named_variable.
2000-08-11 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (variable_declarator_id:): Better error message.
(expression_statement:): Use YYNOT_TWICE.
(cast_expression:): Likewise.
(assignment:): Likewise.
(http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00286.html )
From-SVN: r36827
2000-10-10 10:54:59 -07:00
Anthony Green
7fd9a51683
class.c (layout_class): Handle case where superclass can't be layed out yet.
...
2000-10-07 Anthony Green <green@redhat.com>
* class.c (layout_class): Handle case where superclass can't be
layed out yet.
From-SVN: r36789
2000-10-08 19:14:32 +00:00
Alexandre Petit-Bianco
7e1cb6b613
[multiple changes]
...
Tue Oct 3 13:44:37 2000 Alexandre Petit-Bianco <apbianco@cygnus.com>
* decl.c (find_local_variable): Removed uncessary type check and
fixed range check typo. From Corey Minyard.
Wed Sep 13 16:06:52 2000 Alexandre Petit-Bianco <apbianco@cygnus.com>
* decl.c (give_name_to_locals): New local `code_offset'. Call
`maybe_adjust_start_pc.'
* expr.c (note_instructions): New function.
(expand_byte_code): Don't collect insn starts here.
(peek_opcode_at_pc): New function.
(maybe_adjust_start_pc): Likewise.
* java-tree.h (maybe_adjust_start_pc): Declare.
(note_instructions): Likewise.
* jcf-parse.c (parse_class_file): Call `note_instructions.'
Wed Sep 13 11:50:35 2000 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (field_access:): Fixed indentation.
(qualify_ambiguous_name): Properly qualify `this.a[b].c'.
(Missing piece to http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00067.html )
From-SVN: r36784
2000-10-07 19:22:39 -07:00
Joseph Myers
20d431c931
Makefile.in ($(srcdir)/hash.h): Refer to GNU FTP site for updated gperf.
...
ch:
* Makefile.in ($(srcdir)/hash.h): Refer to GNU FTP site for
updated gperf.
java:
* Makefile.in (keyword.h): Refer to GNU FTP site for updated
gperf.
From-SVN: r36774
2000-10-07 13:39:35 +01:00
Tom Tromey
e0a0c416a0
jvspec.c (jvgenmain_spec): Added `-fdollars-in-identifiers'.
...
* jvspec.c (jvgenmain_spec): Added `-fdollars-in-identifiers'.
* jvgenmain.c (class_mangling_prefix): Removed.
(class_mangling_suffix): New global.
(main): Use it.
* gjavah.c (cxx_keyword_subst): Mangle C++ keywords by appending
`$'.
(print_method_info): Handle overrides for static and final
methods.
(process_file): Generate declaration for class object field.
* class.c (cxx_keywords): New array.
(utf8_cmp): New function.
(cxx_keyword_p): New function.
(layout_class_method): Mangle C++ keywords by appending `$'.
(mangle_field): New function.
(mangle_class_field): Use mangle_field. Mangle class name as
`class$'.
(mangle_static_field): Use mangle_field.
From-SVN: r36738
2000-10-06 01:45:47 +00:00
Alexandre Petit-Bianco
6e22695a4c
[multiple changes]
...
Tue Oct 3 13:44:37 2000 Alexandre Petit-Bianco <apbianco@cygnus.com>
* decl.c (find_local_variable): Removed uncessary type check and
fixed range check typo. From Corey Minyard.
Wed Sep 13 16:06:52 2000 Alexandre Petit-Bianco <apbianco@cygnus.com>
* decl.c (give_name_to_locals): New local `code_offset'. Call
`maybe_adjust_start_pc.'
* expr.c (note_instructions): New function.
(expand_byte_code): Don't collect insn starts here.
(peek_opcode_at_pc): New function.
(maybe_adjust_start_pc): Likewise.
* java-tree.h (maybe_adjust_start_pc): Declare.
(note_instructions): Likewise.
* jcf-parse.c (parse_class_file): Call `note_instructions.'
Wed Sep 13 11:50:35 2000 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (field_access:): Fixed indentation.
(qualify_ambiguous_name): Properly qualify `this.a[b].c'.
(http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00067.html )
From-SVN: r36717
2000-10-05 00:17:34 -07:00
Tom Tromey
7e51098e70
re GNATS gcj/307 (gcj allows boolean value to be returned for int method)
...
Fix for PR gcj/307:
* parse.y (patch_binop): Use JNUMERIC_TYPE_P, not
JPRIMITIVE_TYPE_P, for arithmetic operators.
(patch_method_invocation): Indentation fix.
(try_builtin_assignconv): Handle boolean specially. Fixed typo.
(valid_builtin_assignconv_identity_widening_p): Handle boolean.
(do_unary_numeric_promotion): Cleaned up code.
(valid_cast_to_p): Handle boolean correctly.
From-SVN: r36704
2000-10-03 20:19:54 +00:00
Tom Tromey
5beededc7e
lex.c (java_read_unicode): Reset bs_count when finished with `\u' sequence.
...
* lex.c (java_read_unicode): Reset bs_count when finished with
`\u' sequence.
From-SVN: r36703
2000-10-03 19:10:44 +00:00
Mark Mitchell
f15b9af984
c-decl.c (c_expand_body): Don't generate RTL if flag_syntax_only.
...
* c-decl.c (c_expand_body): Don't generate RTL if flag_syntax_only.
(lang_mark_false_label_stack): Remove.
* c-lex.c (init_c_lex): Add file_info_tree as GC root. Allocate
<top level> string in GC area.
(mark_splay_tree_node): New function.
(mark_splay_tree): Likewise.
* except.c (mark_eh_status): Only call lang_mark_false_label_stack
if it exists.
* ggc-callbacks.c (lang_mark_false_label_stack): Remove.
* ggc-common.c (lang_mark_false_label_stack): Change type.
* ggc.h (ggc_alloc_string): Add comment.
(ggc_strdup): New function.
* decl.c (lang_mark_false_label_stack): Remove.
* lex.c (cp_mang_lang_type): Use ggc_alloc_cleared.
* com.c (lang_mark_false_label_stack): Remove.
Convert to GC.
* Make-lang.in (s-java): Don't depend on ggc-callbacks.o.
* Makefile.in (BACKEND): Don't include ggc-callbacks.o.
(typeck.o): Depend on ggc.h.
* class.c (add_method_1): Use GC functions for allocation.
(init_class_processing): Register roots.
* decl.c (ggc_p): Set to 1.
(pending_local_decls): Make it static.
(push_jvm_slot): Use GC functions for allocation.
(init_decl_processing): Register roots.
(give_name_to_locals): Use GC functions for allocation.
(lang_mark_tree): New function.
* java-tree.h (MAYBE_CREATE_TYPE_TYPE_LANG_SPECIFIC): Use GC
functions for allocation.
* jcf-parse.c (jcf_parse_source): Use ggc_strdup.
* lex.c (java_lex): Use build_string, rather than replicating it
inline.
* parse.y (goal): Add more roots.
(mark_parser_ctxt): New function.
* typeck.c: Include ggc.h.
* splay-tree.c (splay_tree_insert): Fix formatting.
From-SVN: r36687
2000-10-01 19:19:30 +00:00
Alexandre Petit-Bianco
99eaf8d457
parse.y (maybe_yank_clinit): Also keep <clinit> if its body contains something else than MODIFY_EXPR.
...
2000-09-29 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (maybe_yank_clinit): Also keep <clinit> if its body
contains something else than MODIFY_EXPR.
(http://gcc.gnu.org/ml/gcc-patches/2000-09/msg01141.html )
From-SVN: r36670
2000-09-29 13:14:53 -07:00
Neil Booth
5a8e2650ed
gcc.c (cpp_options): Add spec for -ftabstop=.
...
* gcc.c (cpp_options): Add spec for -ftabstop=.
(invoke_as): New spec that handles invoking as.
Update specs to handle -save-temps and -traditional.
* ch/lang-specs.h, f/lang-specs.h, java/lang-specs.h:
Use invoke_as.
* cp/lang-specs.h, objc/lang-specs.h: Update to use
invoke_as, and handle -save-temps and -traditional (if
appropriate).
From-SVN: r36646
2000-09-26 17:28:07 +00: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
4c4b521a59
* lex.h: Use HAVE_ICONV_H, not HAVE_ICONV.
...
From-SVN: r36449
2000-09-15 22:31:56 +00:00
Tom Tromey
6b8a24cd22
jcf-parse.c: Include <locale.h>.
...
* jcf-parse.c: Include <locale.h>.
* jv-scan.c: Include <locale.h>.
From-SVN: r36388
2000-09-13 17:09:36 +00:00
Tom Tromey
86e4b1e4fa
expr.c (pop_type_0): Return `Object' if trying to merge two interface types.
...
* expr.c (pop_type_0): Return `Object' if trying to merge two
interface types.
* verify.c (merge_types): Don't return `TYPE_UNKNOWN' for
interface types; `Object' is always a valid supertype.
From-SVN: r36378
2000-09-12 22:31:00 +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
Tom Tromey
ee17a29049
re GNATS gcj/343 (can't cast array to serializable)
...
Fix for PR gcj/343:
* lex.c (java_init_lex): Initialize java_io_serializable.
* parse.y (java_io_serializable): New global.
(valid_ref_assignconv_cast_p): An array can be cast to
serializable.
From-SVN: r36376
2000-09-12 22:09:36 +00:00
Zack Weinberg
d8ea8f2871
defaults.h: Provide default definitions for...
...
* defaults.h: Provide default definitions for: CHAR_TYPE_SIZE,
SHORT_TYPE_SIZE, INT_TYPE_SIZE, LONG_TYPE_SIZE,
LONG_LONG_TYPE_SIZE, WCHAR_TYPE_SIZE, FLOAT_TYPE_SIZE,
DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE, and WCHAR_UNSIGNED.
* cppexp.c, dwarfout.c, dwarf2out.c, emit-rtl.c, final.c, optabs.c,
profile.c, sdbout.c, tradcif.y, tree.c, ch/decl.c, ch/timing.c,
cp/decl.c, cp/rtti.c, f/com.c, f/com.h, java/decl.c, java/expr.c:
Include defaults.h if not already included.
Don't define the above macros.
* Makefile.in, ch/Makefile.in, cp/Makefile.in, f/Makefile.in:
Update dependencies.
From-SVN: r36307
2000-09-11 01:50:49 +00:00
Geoff Keating
0caae6ddb8
typeck.c (build_java_array_type): Correct first parameter in ADJUST_FIELD_ALIGN invocation.
...
* typeck.c (build_java_array_type): Correct first parameter
in ADJUST_FIELD_ALIGN invocation.
From-SVN: r36280
2000-09-09 18:35:01 +00:00
Alexandre Petit-Bianco
3e99f50c2b
verify.c (merge_types): Load the types to merge if necessary.
...
2000-09-05 Alexandre Petit-Bianco <apbianco@cygnus.com>
* verify.c (merge_types): Load the types to merge if necessary.
(http://gcc.gnu.org/ml/gcc-patches/2000-09/msg00245.html )
From-SVN: r36243
2000-09-07 11:24:41 -07:00
Tom Tromey
f0bee8b3f0
* lang-specs.h: Also recognize `-femit-class-files'.
...
From-SVN: r36212
2000-09-06 21:55:39 +00:00
Alexandre Petit-Bianco
354e99ce38
parse.y (do_merge_string_cste): New locals.
...
2000-08-11 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (do_merge_string_cste): New locals. Create new
STRING_CSTs each time, use memcpy. Fixes gcj/311
(Fixes gcj/311:
http://gcc.gnu.org/ml/gcc-patches/2000-09/msg00144.html
http://sources.redhat.com/ml/java-prs/2000-q3/msg00116.html )
From-SVN: r36176
2000-09-05 19:37:09 -07:00
Anthony Green
3ca8c9aea0
jcf-io.c: Include zlib.h.
...
2000-09-02 Anthony Green <green@redhat.com>
* jcf-io.c: Include zlib.h.
(open_in_zip): Read compressed class file archives.
* zipfile.h (ZipDirectory): Add uncompressed_size and
compression_method fields.
* zextract.c (read_zip_archive): Collect file compression info.
From-SVN: r36175
2000-09-06 02:13:28 +00:00
Hans Boehm
7c097ee994
boehm.c (mark_reference_fields): Set marking bits for all words in a multiple-word record.
...
2000-08-07 Hans Boehm <boehm@acm.org>
* boehm.c (mark_reference_fields): Set marking bits for all words in
a multiple-word record.
(get_boehm_type_descriptor): Use the procedure marking descriptor
for java.lang.Class.
From-SVN: r36159
2000-09-05 12:37:52 +01:00