aboutsummaryrefslogtreecommitdiff
path: root/gcc/java
AgeCommit message (Collapse)AuthorFilesLines
2000-06-01re GNATS gcj/127 (gcj dumps core on method invocation on a primitive type)Bryce McKinlay3-0/+25
2000-05-23 Bryce McKinlay <bryce@albatross.co.nz> * parse.y (patch_method_invocation): Don't try to lookup methods in primitive types. (This fixes the PR gcj/127: http://sourceware.cygnus.com/ml/java-prs/2000-q1/msg00011.html) From-SVN: r34347
2000-06-01re GNATS gcj/207 (Compiler failure)Alexandre Petit-Bianco2-0/+7
Thu Apr 27 17:47:34 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> * jcf-parse.c (jcf_parse_source): Reset current_class and current_function_decl to NULL before parsing a new file. (This fixes the PR gcj/207: http://sourceware.cygnus.com/ml/java-prs/2000-q2/msg00044.html) From-SVN: r34343
2000-06-01re GNATS gcj/129 (Static array length access bug in gcj)Alexandre Petit-Bianco3-0/+30
2000-05-02 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (resolve_field_access): Call the appropriate <clinit> before accessing the length of a static array. Craft a decl for the field while its time. (Fixes the PR #129: http://sourceware.cygnus.com/ml/java-prs/2000-q1/msg00013.html) From-SVN: r34340
2000-06-01class.c (common_enclosing_context_p): New function.Alexandre Petit-Bianco6-25/+118
2000-04-24 Alexandre Petit-Bianco <apbianco@cygnus.com> * class.c (common_enclosing_context_p): New function. * java-tree.h (common_enclosing_context_p): Added prototype. * parse.h (INNER_ENCLOSING_SCOPE_CHECK): Relaxed test to allow classes sharing an outer context with the current instance. * parse.y (build_access_to_thisn): Fixed leading comment. (verify_constructor_super): New local `supper_inner'. Skip enclosing context argument in the case of inner class constructors. (patch_method_invocation): Insert proper context as second parameter to pure inner class constructor super invocations. This fixes the Java PR #177. From-SVN: r34332
2000-05-31re GNATS gcj/71 (failure to compile an interface method invocation on a ↵Alexandre Petit-Bianco2-2/+16
sub-interface) 2000-04-05 Alexandre Petit-Bianco <apbianco@cygnus.com> * jcf-write.c (generate_bytecode_insns): At invokation time, always relate an interface method to the type of its selector. (Fix to the PR #71: http://sourceware.cygnus.com/ml/java-prs/1999-q4/msg00040.html) From-SVN: r34330
2000-05-31parse.y (maybe_yank_clinit): New function.Alexandre Petit-Bianco3-454/+574
2000-04-17 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (maybe_yank_clinit): New function. (maybe_generate_pre_expand_clinit): Always link <clinit> at the end of the list of methods belonging to a class. (java_complete_expand_method): Check whether <clinit> is really necessary and expand it accordingly. From-SVN: r34329
2000-05-31parse.y (resolve_field_access): Complete the DECL_INITIAL tree before using ↵Alexandre Petit-Bianco3-166/+237
it as the accessed field. 2000-05-31 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (resolve_field_access): Complete the DECL_INITIAL tree before using it as the accessed field. From-SVN: r34320
2000-05-31java-tree.h (boolean_array_vtable, [...]): Declare.Tom Tromey4-8/+98
* java-tree.h (boolean_array_vtable, byte_array_vtable, char_array_vtable, short_array_vtable, int_array_vtable, long_array_vtable, float_array_vtable, double_array_vtable): Declare. * expr.c (get_primitive_array_vtable): New function. (create_primitive_vtable): New function. (java_lang_expand_expr): Enable code to statically generate arrays. * decl.c (init_decl_processing): Create primitive vtables. (boolean_array_vtable, byte_array_vtable, char_array_vtable, short_array_vtable, int_array_vtable, long_array_vtable, float_array_vtable, double_array_vtable): Define. From-SVN: r34314
2000-05-26parse.y (find_applicable_accessible_methods_list): Don't add an ↵Zack Weinberg3-8/+17
uninitialized value to the list. 2000-05-26 Zack Weinberg <zack@wolery.cumb.org> * java/parse.y (find_applicable_accessible_methods_list): Don't add an uninitialized value to the list. From-SVN: r34196
2000-05-26re GNATS gcj/162 (gcj does not initialize interfaces according to spec)Tom Tromey3-4/+7
* parse.y (resolve_field_access): Don't check DECL_LANG_SPECIFIC when trying to see if field's class should be initialized. Always initialize field's declaring class, not qualified class. For PR gcj/162. From-SVN: r34182
2000-05-26re GNATS gcj/235 (source parser dies when Primitive.TYPE is used in an array ↵Tom Tromey3-2/+8
declaration) * parse.y (array_constructor_check_entry): Pass `wfl_value', not `wfl_operator', to maybe_build_primttype_type_ref. Fixes PR gcj/235. From-SVN: r34181
2000-05-20parse.y (resolve_package): Correctly set `*next' (was off by one.)Alexandre Petit-Bianco3-4/+16
2000-05-01 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (resolve_package): Correctly set `*next' (was off by one.) (resolve_qualified_expression_name): Fixed comment. From-SVN: r34060
2000-05-19parse.y (block_end:): If the collected block doesn't feature a statement, ↵Alexandre Petit-Bianco3-273/+282
insert an empty statement. Thu Apr 27 17:25:33 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (block_end:): If the collected block doesn't feature a statement, insert an empty statement. From-SVN: r34038
2000-05-19parse.y (fold_constant_for_init): Let VAR_DECL and FIELD_DECL be processed ↵Alexandre Petit-Bianco3-4/+5
by the method's switch statement. 2000-04-17 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (fold_constant_for_init): Let VAR_DECL and FIELD_DECL be processed by the method's switch statement. From-SVN: r34024
2000-05-19Reverted incorrectly applied changeTom Tromey2-0/+4
From-SVN: r34023
2000-05-19java-tree.h: Added init state enum.Tom Tromey4-17/+43
* java-tree.h: Added init state enum. * decl.c (emit_init_test_initialization): Initialize class initialization check variable by looking at class' state. From-SVN: r34022
2000-05-19java-tree.h (build_instanceof): Declare.Tom Tromey4-249/+261
* java-tree.h (build_instanceof): Declare. (build_get_class): Declare. * parse.y (patch_binop): Use build_instanceof. * expr.c (build_instanceof): New function. If class is final, don't make a function call. (expand_java_INSTANCEOF): Use it. (build_get_class): New function. From-SVN: r34021
2000-05-19jcf-write.c (generate_classfile): Scan the source_file for slashes with the ↵Alexandre Oliva2-1/+6
right pointer variable. 2000-05-18 Alexandre Oliva <oliva@lsd.ic.unicamp.br> * jcf-write.c (generate_classfile): Scan the source_file for slashes with the right pointer variable. From-SVN: r34006
2000-05-18Andrew's last commit changed a ChangeLog entry to say that I wrote a patch ↵Tom Tromey1-1/+1
that Zack wrote. Andrew's last commit changed a ChangeLog entry to say that I wrote a patch that Zack wrote. Oops. From-SVN: r34001
2000-05-17Add options -Wunused-variable, -Wunused-function, -Wunused-label,Andrew Cagney3-3/+9
-Wunused-parameter. Retain existing -Wunused behavour. Document. From-SVN: r33953
2000-05-09top level:Zack Weinberg13-196/+286
* 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-09expr.c (build_jni_stub): Cache the result of _Jv_LookupJNIMethod.Tom Tromey2-4/+25
* expr.c (build_jni_stub): Cache the result of _Jv_LookupJNIMethod. From-SVN: r33786
2000-05-06decl.c (predef_filenames_size): Now 7.Alexandre Petit-Bianco2-1/+7
2000-05-05 Alexandre Petit-Bianco <apbianco@cygnus.com> * decl.c (predef_filenames_size): Now 7. (predef_filenames): New seventh entry. (Tom's last patch was missing this bit.) From-SVN: r33734
2000-05-05boehm.c (mark_reference_fields): Don't mark RawData fields.Tom Tromey4-9/+32
* boehm.c (mark_reference_fields): Don't mark RawData fields. Keep track of when we've seen a reference field after a non-reference field. (get_boehm_type_descriptor): Handle case where we see non-reference fields but no trailing reference field. * decl.c (rawdata_ptr_type_node): Define. (init_decl_processing): Initialize rawdata_ptr_type_node. * java-tree.h (rawdata_ptr_type_node): Declare. From-SVN: r33701
2000-05-04jcf-dump.c (SPECIAL_IINC): Ensure arguments match format specifiers in calls ↵Kaveh R. Ghazi2-2/+7
to fprintf. * jcf-dump.c (SPECIAL_IINC): Ensure arguments match format specifiers in calls to fprintf. From-SVN: r33680
2000-05-03Makefile.in (WARN_CFLAGS): Add -pedantic -Wno-long-long.Jason Merrill1-6/+6
* Makefile.in (WARN_CFLAGS): Add -pedantic -Wno-long-long. (LOOSE_CFLAGS): New: CFLAGS without -pedantic and -Wtraditional. (GCC_CFLAGS): Use it. (LANG_FLAGS_TO_PASS): New: SUBDIR_FLAGS_TO_PASS with LOOSE_CFLAGS. * cp/Make-lang.in, java/Make-lang.in, f/Make-lang.in, ch/Make-lang.in, objc/Make-lang.in: Use it. From-SVN: r33648
2000-05-03expr.c (build_java_jsr): Use emit_jump, not expand_goto.Tom Tromey5-6/+31
* expr.c (build_java_jsr): Use emit_jump, not expand_goto. * javaop.h (WORD_TO_INT): New function. (IMMEDIATE_s4): Use WORD_TO_INT. * jcf.h (JPOOL_INT): Ditto. * gjavah.c (decode_signature_piece): Don't treat `$' as namespace separator. From-SVN: r33636
2000-05-02class.c (add_method_1): Set both DECL_EXTERNAL and METHOD_NATIVE on native ↵Tom Tromey12-244/+447
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-01re GNATS gcj/195: (gcj fail on code to implement an inner interface.)Alexandre Petit-Bianco2-2/+4
(This trying to counter the effect of the PR 195 check in -- this should be right now.) From-SVN: r33602
2000-05-01(The patch contained impurities -- this should fix the situation.)Alexandre Petit-Bianco2-181/+239
From-SVN: r33591
2000-05-01re GNATS gcj/195: (gcj fail on code to implement an inner interface.)Alexandre Petit-Bianco2-5/+33
2000-04-25 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (register_incomplete_type): Handle JDEP_ANONYMOUS. (This is a fix for the Java PR #195: http://sourceware.cygnus.com/ml/java-prs/2000-q2/msg00009.html) From-SVN: r33588
2000-04-28re GNATS gcj/2 (Method call on null instance should throw NullPointerException)Tom Tromey6-251/+326
Fix for PR gcj/2: * expr.c (expand_invoke): Generate check to see if object pointer is null in nonvirtual invocation case. * java-tree.h (soft_nullpointer_node): Declare. * decl.c (soft_nullpointer_node): New global. (init_decl_processing): Initialize soft_nullpointer_node. * parse.y (invocation_mode): Return INVOKE_NONVIRTUAL for `final' or `private' methods. (patch_invoke): Handle INVOKE_NONVIRTUAL case. From-SVN: r33495
2000-04-27decl.c (complete_start_java_method): Don't call _Jv_InitClass from <clinit>Alexandre Petit-Bianco2-0/+6
Wed Apr 26 14:29:33 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> * decl.c (complete_start_java_method): Don't call _Jv_InitClass from <clinit> From-SVN: r33493
2000-04-27zextract.c (find_zip_file_start): New function.Tom Tromey2-7/+34
* zextract.c (find_zip_file_start): New function. (read_zip_archive): Use it. From-SVN: r33451
2000-04-25re GNATS gcj/181 (gcj crashes on inner classes/interfaces definition/usage.)Alexandre Petit-Bianco3-0/+19
Mon Apr 24 14:59:36 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (end_class_declaration): Reset the interface number counter. (This fixes the Java PR #181: http://sourceware.cygnus.com/ml/java-prs/2000-q1/msg00207.html) From-SVN: r33422
2000-04-24parse.y (lookup_field_wrapper): Search for final local aliases.Alexandre Petit-Bianco3-204/+296
2000-04-19 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (lookup_field_wrapper): Search for final local aliases. (resolve_expression_name): Let lookup_field_wrapper search for final local aliases. Force the value of `name' if one is found. (qualify_ambiguous_name): CONVERT_EXPR is enough to now we have an expression name. Fixed comments. From-SVN: r33400
2000-04-24parse.y (source_start_java_method): Deleted unecessary code.Alexandre Petit-Bianco3-290/+173
2000-04-24 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (source_start_java_method): Deleted unecessary code. (patch_method_invocation): Fixed comment. From-SVN: r33392
2000-04-24Respective ChangeLogs for common, cp/, java/Robert Lipe2-5/+5
Respective ChangeLogs for common, cp/, java/ * tree.h (tree_decl): Member `mode' now ENUM_BITFIELD. * cp-tree.h (lang_type): Member `language' now ENUM_BITFIELD. * parse.h (_jdep): Member `kind' now ENUM_BITFIELD. From-SVN: r33378
2000-04-23* boehm.c (mark_reference_fields): Use int_byte_position.Tom Tromey2-1/+5
From-SVN: r33354
2000-04-23boehm.c (mark_reference_fields): Only call byte_position on non-static fields.Tom Tromey2-1/+7
* boehm.c (mark_reference_fields): Only call byte_position on non-static fields. From-SVN: r33351
2000-04-22Convert C++ comment to block commentZack Weinberg1-2/+2
From-SVN: r33349
2000-04-22boehm.c (mark_reference_fields): Added `last_view_index' argument.Tom Tromey2-20/+38
* boehm.c (mark_reference_fields): Added `last_view_index' argument. Use DECL_FIELD_OFFSET to determine field's offset. From-SVN: r33346
2000-04-21[multiple changes]Alexandre Petit-Bianco4-182/+331
Thu Apr 20 17:41:28 2000 Mo DeJong <mdejong@cygnus.com> * parse.h (INTERFACE_INNER_MODIFIERS): New macro. * parse.y (check_class_interface_creation): Fixed comments. Select permitted modifiers for (inner) interfaces. Changed error message to report rejected modifiers used with local classes. 2000-04-20 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.h (INNER_ENCLOSING_SCOPE_CHECK): Immediate inner classes of directly inherited type considered in scope. * parse.y (do_resolve_class): Search inherited classes for inner classes. (This fixes the PR #194 and #197: http://sourceware.cygnus.com/ml/java-prs/2000-q2/msg00008.html http://sourceware.cygnus.com/ml/java-prs/2000-q2/msg00011.html) From-SVN: r33330
2000-04-21re GNATS gcj/124 (protected constructor for InvocationTargetException still ↵Tom Tromey3-238/+178
visible) * parse.y (not_accessible_p): Use member's class, not current class, when doing inheritance check for protected reference. Fixes PR gcj/124. From-SVN: r33315
2000-04-20jcf-dump.c (SPECIAL_IINC): Fixed typo printing iinc instruction.Jason Schroeder2-1/+5
Thu Apr 20 18:20:58 2000 Jason Schroeder <shrode@subnature.com> * jcf-dump.c (SPECIAL_IINC): Fixed typo printing iinc instruction. From-SVN: r33301
2000-04-19parse.y (yyerror): `msg' can be null, don't use it in that case.Alexandre Petit-Bianco3-2/+6
2000-04-19 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (yyerror): `msg' can be null, don't use it in that case. From-SVN: r33270
2000-04-19* gjavah.c (cxx_keyword_subst): Avoid potential infinite loop.Tom Tromey2-4/+11
From-SVN: r33261
2000-04-18[multiple changes]Alexandre Petit-Bianco3-180/+290
2000-04-18 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (maybe_make_nested_class_name): Use `obstack_grow0'. 2000-04-14 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (java_expand_classes): Reverse the package list once. (java_complete_lhs): PLUS_EXPR: don't try rhs and lhs at string reduction. (patch_binop): New temp `cn'. Call patch_string on LHS/RHS of the `==' and `!=' operators. From-SVN: r33240
2000-04-18re GNATS gcj/211 (gcjh doesn't handle method names that are reserved C++ ↵Tom Tromey2-21/+85
keywords) PR gcj/211: * gjavah.c (utf8_cmp): Changed return value. (cxx_keyword_subst): Handle all C++ keywords. Allocate new return result. (cxx_keywords): New global. (get_field_name): Handle new result of cxx_keyword_subst. (print_method_info): Likewise. From-SVN: r33225
2000-04-17gjavah.c (print_name_for_stub_or_jni): Don't prefix method names with a ↵Bryce McKinlay2-5/+14
newline, for CNI. 2000-04-17 Bryce McKinlay <bryce@albatross.co.nz> * gjavah.c (print_name_for_stub_or_jni): Don't prefix method names with a newline, for CNI. (print_stub_or_jni): Print a space or newline before method name for CNI as well as JNI. (print_cxx_classname): Don't write leading "::" in CNI stub method. (process_file): Include gcj/cni.h if generating CNI stubs. From-SVN: r33213