aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2000-03-07decl.c (init_decl_processing): Added new class fields `depth', `ancestors', ↵Bryce McKinlay6-14/+49
and `idt' to class_type_node. 2000-03-06 Bryce McKinlay <bryce@albatross.co.nz> * decl.c (init_decl_processing): Added new class fields `depth', `ancestors', and `idt' to class_type_node. Use _Jv_LookupInterfaceMethodIdx for soft_lookupinterfacemthod_node. * class.c (make_class_data): Push initial values for new fields. * java-tree.h: Updated prototype for `build_invokeinterface'. * expr.c (build_invokeinterface): Changed parameters to accept `method' tree. Calculate index of `method' in its declaring interface. Build call to _Jv_LookupInterfaceMethodIdx. (expand_invoke): Call `build_invokeinterface' with new parameters. * parse.y (patch_invoke): Call `build_invokeinterface' with new parameters. (This is Bryce McKinlay's implementation of the interfaces constant-time dispatch and type checking techniques designed by Per Bothner.) From-SVN: r32381
2000-03-07Daily bump.Jeff Law2-2/+2
From-SVN: r32380
2000-03-07oopsJason Merrill1-1/+1
From-SVN: r32379
2000-03-07cpphash.c (collect_expansion): Also catch ## at start of macro.Jason Merrill3-3/+18
* cpphash.c (collect_expansion): Also catch ## at start of macro. * varasm.c (make_decl_rtl): Don't add a number to members of local classes. (make_function_rtl): Likewise. From-SVN: r32378
2000-03-07newJason Merrill1-0/+6
From-SVN: r32377
2000-03-06[multiple changes]Alexandre Petit-Bianco5-70/+132
2000-03-06 Bryce McKinlay <bryce@albatross.co.nz> * typeck.c (lookup_do): Search superinterfaces first when looking up an interface method. From Godmar Back <gback@cs.utah.edu> 2000-03-02 Alexandre Petit-Bianco <apbianco@cygnus.com> * java-tree.h (lookup_argument_method2): Declared. (safe_layout_class): Prototype moved from parse.h. * parse.h (safe_layout_class): Prototype moved to java-tree.h. * parse.y (java_check_regular_methods): Local `super_class' gone. Call lookup_argument_method2 instead of lookup_argument_method. Perform modifier match for methods found declared in implemented interfaces. Fixed indentation problem. Overriding/hiding error report to take place only for methods found in classes. * typeck.c (lookup_argument_method): Changed leading comment. Re-written by calling lookup_do. (lookup_argument_method2): New function. (lookup_java_method): Re-written by calling lookup_do. (lookup_do): New function. From-SVN: r32376
2000-03-07gcse.c (compute_can_copy): Adjust if/else blocks from rth's patch from ↵Alexandre Oliva2-2/+7
2000-01-28. * gcse.c (compute_can_copy): Adjust if/else blocks from rth's patch from 2000-01-28. From-SVN: r32375
2000-03-06sh.c: (barrier_align): Handle a delay slot that is filled with an insn from ↵Clinton Popetz2-3/+25
the jump... * config/sh/sh.c: (barrier_align): Handle a delay slot that is filled with an insn from the jump target. From-SVN: r32371
2000-03-06c4x-protos.h (c4x_global_name): Constify char *.Michael Hayes3-3/+9
* config/c4x/c4x-protos.h (c4x_global_name): Constify char *. (c4x_external_ref): Likewise. * config/c4x/c4x.c (struct name_list): Likewise. From-SVN: r32370
2000-03-06* Make-lang.in (JAVA_SRCS): Added boehm.c, lex.c.Tom Tromey2-1/+5
From-SVN: r32369
2000-03-06real.h (MAX_LONG_DOUBLE_TYPE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE if not ↵Jakub Jelinek14-40/+122
defined. * real.h (MAX_LONG_DOUBLE_TYPE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE if not defined. Use MAX_LONG_DOUBLE_TYPE_SIZE instead of LONG_DOUBLE_TYPE_SIZE in preprocessor if clauses. * real.c: Likewise. * gengenrtl.c: Likewise. * print-rtl.c: Likewise. * rtl.c: Likewise. * config/sparc/sol2-sld-64.h (TARGET_DEFAULT): Set MASK_LONG_DOUBLE_128. * config/sparc/sol2.h (TARGET_DEFAULT): Likewise. * config/sparc/sp64-elf.h (TARGET_DEFAULT): Likewise. * config/sparc/linux64 (TARGET_DEFAULT): Likewise. (SUBTARGET_SWITCHES): Define. (CPP_ARCH32_SPEC): Define __LONG_DOUBLE_128__ if compiling with -mlong-double-128. (LONG_DOUBLE_TYPE_SIZE): Define depending on target_flags. (MAX_LONG_DOUBLE_TYPE_SIZE): Define. (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on CPP macros. (CC1_SPEC): Include -mlong-double-{64,128} as needed. * config/sparc/linux.h (SUBTARGET_SWITCHES): Define. (CPP_SUBTARGET_SPEC): Define __LONG_DOUBLE_128__ if compiling with -mlong-double-128. (LONG_DOUBLE_TYPE_SIZE): Define depending on target_flags. (MAX_LONG_DOUBLE_TYPE_SIZE): Define. (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on CPP macros. * config/sparc/sparc.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128): Define. * config/sparc/linux-aout.h (LONG_DOUBLE_TYPE_SIZE): Remove. * config/sparc/sparc.c (sparc_override_options): Disallow 64bit long double on TARGET_ARCH64. From-SVN: r32367
2000-03-06sparc.h (ASM_ARCH64_SPEC): Pass -no-undeclared-regs to gas if it supports ↵Jakub Jelinek2-0/+7
.register pseudo. * config/sparc/sparc.h (ASM_ARCH64_SPEC): Pass -no-undeclared-regs to gas if it supports .register pseudo. From-SVN: r32366
2000-03-06Makefile.in: Pass a new MULTILIB_EXCLUSIONS option as the sixth argument to ↵Ben Collins5-31/+233
genmultilib. * Makefile.in: Pass a new MULTILIB_EXCLUSIONS option as the sixth argument to genmultilib. * genmultilib: accept new MULTILIB_EXCLUSIONS option and output the contents into the multilib.h header. * gcc.c: Declare multilib_exclusions for the specs file. (set_multilib_dir): Use it. (print_multilib_info): Likewise. * t-linux64: Declare arguments for new MULTILIB_EXCLUSIONS option to pass to genmultilib. From-SVN: r32365
2000-03-06builtins.c (built_in_class_names, [...]): Constify a char*.Kaveh R. Ghazi9-13/+36
* builtins.c (built_in_class_names, built_in_names): Constify a char*. * gmon-sol2.c (monstartup, moncontrol): Cast ptrs to long, not int. (_mcleanup): Ensure value matches format specifier in sprintf. * cpphash.c (special_symbol): Don't needlessly cast away const-ness. * cppinit.c (base_name): Delete unused prototype. * mkdeps.c (deps_init): Make definition K&R safe. * tree.h (built_in_class_names, built_in_names): Constify a char*. f: * ansify.c (die_unless): Don't use ANSI string concatenation. (die): Mark with ATTRIBUTE_NORETURN. From-SVN: r32364
2000-03-06sparc.c (eligible_for_epilogue_delay): Accept floating point instructions ↵Jakub Jelinek2-1/+16
for epilogue delay. * config/sparc/sparc.c (eligible_for_epilogue_delay): Accept floating point instructions for epilogue delay. From-SVN: r32362
2000-03-06* g++.old-deja/g++.warn/impint2.C: New test.Nathan Sidwell2-0/+72
From-SVN: r32361
2000-03-06typeck.c (dubious_conversion_warnings): Look through REFERENCE_TYPE.Nathan Sidwell2-0/+8
* typeck.c (dubious_conversion_warnings): Look through REFERENCE_TYPE. From-SVN: r32360
2000-03-06* lang-specs.h (as): Don't call if -syntax-only.Richard Kenner2-5/+10
From-SVN: r32359
2000-03-0620000224-1.c (main): Expected return-value is 1, not zero.Hans-Peter Nilsson2-1/+6
* execute/20000224-1.c (main): Expected return-value is 1, not zero. From-SVN: r32358
2000-03-06function.c (free_temps_for_rtl_expr): Don't free slots that have been pushed ↵Mark Mitchell7-51/+34
into a higher level. * function.c (free_temps_for_rtl_expr): Don't free slots that have been pushed into a higher level. * expr.c (cplus_expand_expr, case STMT_EXPR): Don't set RTL_EXPR_HAS_NO_SCOPE after all. From-SVN: r32355
2000-03-06Daily bump.Jeff Law2-2/+2
From-SVN: r32354
2000-03-05basic-block.h (ALLOCA_REG_SET): Remove.Mark Mitchell5-10/+28
* basic-block.h (ALLOCA_REG_SET): Remove. (INITIALIZE_REG_SET): New macro. * flow.c (update_life_info): Use it. (calculate_global_regs_live): Likewise. (propagate_block): Likewise. * global.c (build_insn_chain): Likewise. * haifa-sched.c (schedule_region): Likewise. From-SVN: r32350
2000-03-05dwarf2out.c (UNALIGNED_WORD_ASM_OP): Support 2 bytes pointer.Stephane Carrez2-15/+30
* dwarf2out.c (UNALIGNED_WORD_ASM_OP): Support 2 bytes pointer. (ASM_OUTPUT_DWARF_ADDR_CONST): Use UNALIGNED_WORD_ASM_OP. (DWARF_ARANGES_PAD_SIZE): New define. (output_aranges): Use it to pad the address range header. (DWARF_ROUND): Fix for non power of 2 rounding. From-SVN: r32347
2000-03-05* mkdeps.c (deps_calc_target): Remove incorrect 'const'.Jason Merrill2-1/+5
From-SVN: r32346
2000-03-05expr.c (cplus_expand_expr, [...]): Use expand_start_stmt_expr and ↵Mark Mitchell4-5/+19
expand_end_stmt_expr directly. * expr.c (cplus_expand_expr, case STMT_EXPR): Use expand_start_stmt_expr and expand_end_stmt_expr directly. Set RTL_EXPR_HAS_NO_SCOPE. * pt.c (instantiate_decl): Clear TI_PENDING_TEMPLATE_FLAG a little later. * dump.c (dequeue_and_dump): Dump SCOPE_NO_CLEANUPS_P. From-SVN: r32345
2000-03-05tree.def (RTL_EXPR): Update documentation.Mark Mitchell5-11/+59
* tree.def (RTL_EXPR): Update documentation. * tree.h (RTL_EXPR_HAS_NO_SCOPE): New macro. * expr.c (expand_expr): Handle RTL_EXPR_HAS_NO_SCOPE. * function.c (preserve_rtl_expr_temp): New function. (preserve_rtl_expr_temps): Likewise. (preserve_rtl_expr_result): Use it. From-SVN: r32344
2000-03-05Revert this patch:Mark Mitchell9-4/+89
2000-03-04 Mark Mitchell <mark@codesourcery.com> From-SVN: r32343
2000-03-05impint.C: New test.Nathan Sidwell14-1/+85
* g++.old-deja/g++.warn/impint.C: New test. * g++.old-deja/g++.martin/sts_vectini.C: Add -w option. * g++.old-deja/g++.pt/explicit10.C: Specify -w option. * g++.old-deja/g++.pt/explicit12.C: Likewise. * g++.old-deja/g++.pt/explicit13.C: Likewise. * g++.old-deja/g++.pt/explicit17.C: Likewise. * g++.old-deja/g++.pt/explicit18.C: Likewise. * g++.old-deja/g++.pt/explicit19.C: Likewise. * g++.old-deja/g++.pt/explicit23.C: Likewise. * g++.old-deja/g++.pt/explicit31.C: Likewise. * g++.old-deja/g++.pt/explicit35.C: Likewise. * g++.old-deja/g++.pt/explicit6.C: Likewise. * g++.old-deja/g++.pt/memclass7.C: Likewise. From-SVN: r32342
2000-03-05call.c (convert_like): Macrofy.Nathan Sidwell4-59/+111
* call.c (convert_like): Macrofy. (convert_like_with_context): New macro. (convert_like_real): Renamed from convert_like. Add calling context parameters, for diagnostics. Add recursive flag. Call dubious_conversion_warnings for outer conversion. (build_user_type_conversion): Use convert_like_with_context. (build_over_call): Likewise. Don't warn about dubious conversions here. Adjust convert_default_arg calls. (convert_default_arg): Add context parameters for diagnostics. Pass throught to convert_like_with_context. * cp-tree.h (convert_default_arg): Add context parameters. (dubious_conversion_warnings): Prototype new function. * typeck.c (convert_arguments): Adjust convert_default_arg call. (dubious_conversion_warnings): New function, broken out of convert_for_assignment. (convert_for_assignment): Adjust. From-SVN: r32341
2000-03-05Daily bump.Jeff Law2-2/+2
From-SVN: r32338
2000-03-05function.h (struct sequence_stack): Remove rtl_expr.Mark Mitchell2-51/+3
* function.h (struct sequence_stack): Remove rtl_expr. (struct emit_staus): Likewise. (seq_rtl_expr): Remove. * tree.h (free_temps_for_rtl_expr): Don't declare. (start_sequence_for_rtl_expr): Likewise. * rtl.h (preserve_rtl_expr_result): Likewise. * emit-rtl.c (start_sequence): Don't set sequence_rtl_expr. (start_sequence_for_rtl_expr): Remove. (push_topmost_sequence): Don't save sequence_rtl_expr. (pop_topmost_sequence): Remove comment about not restoring it. (end_sequence): Don't set seq_rtl_expr. (init_emit): Don't initialize it. (mark_sequence_stack): Don't mark it. (mark_emit_status): Likewise. * except.c (protect_with_terminate): Use start_sequence_for_rtl_expr, not start_sequence. * expr.c (expand_expr, case RTL_EXPR): Don't call preserve_rtl_expr_result or free_temps_for_rtl_expr. * function.c (assign_stack_temp_for_type): Don't set rtl_expr. (preserve_rtl_expr_result): Remove. (free_temps_for_rtl_expr): Likewise. (pop_temp_slots): Likewise. (mark_temp_slot): Don't mark the rtl_expr. * stmt.c (expand_start_stmt_expr): Use start_sequence, not start_sequence_for_rtl_expr. From-SVN: r32335
2000-03-05* regmove.c (copy_src_to_dest) Do not create src->dest moveThomas Schuster2-0/+6
for unchanging destination. From-SVN: r32334
2000-03-05function.h (struct sequence_stack): Remove rtl_expr.Mark Mitchell9-34/+95
* function.h (struct sequence_stack): Remove rtl_expr. (struct emit_staus): Likewise. (seq_rtl_expr): Remove. * tree.h (free_temps_for_rtl_expr): Don't declare. (start_sequence_for_rtl_expr): Likewise. * rtl.h (preserve_rtl_expr_result): Likewise. * emit-rtl.c (start_sequence): Don't set sequence_rtl_expr. (start_sequence_for_rtl_expr): Remove. (push_topmost_sequence): Don't save sequence_rtl_expr. (pop_topmost_sequence): Remove comment about not restoring it. (end_sequence): Don't set seq_rtl_expr. (init_emit): Don't initialize it. (mark_sequence_stack): Don't mark it. (mark_emit_status): Likewise. * except.c (protect_with_terminate): Use start_sequence_for_rtl_expr, not start_sequence. * expr.c (expand_expr, case RTL_EXPR): Don't call preserve_rtl_expr_result or free_temps_for_rtl_expr. (assign_stack_temp_for_type): Don't set rtl_expr. (preserve_rtl_expr_result): Remove. (free_temps_for_rtl_expr): Likewise. (pop_temp_slots): Likewise. (mark_temp_slot): Don't mark the rtl_expr. * stmt.c (expand_start_stmt_expr): Use start_sequence, not start_sequence_for_rtl_expr. From-SVN: r32333
2000-03-04declare dwarf2out_ignore_blockJason Merrill1-0/+1
From-SVN: r32332
2000-03-04Makefile.in (JAVA_OBJS): Added boehm.o.Tom Tromey7-8/+186
* 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-04mkdeps.c, mkdeps.h: New files.Zack Weinberg9-182/+415
* mkdeps.c, mkdeps.h: New files. * po/POTFILES.in: Add them. * Makefile.in (LIBCPP_OBJS): Add mkdeps.o. (cpplib.o, cppinit.o): Depend on mkdeps.h. (mkdeps.o): New target. * cppfiles.c: Delete deps_output. * cppinit.c: Include mkdeps.h. Delete known_suffixes, OBJECT_SUFFIX, and base_name. (cpp_cleanup): Use deps_free. Free ihash->name when clearing the include hash. (initialize_dependency_output): Use deps_init, deps_add_target, deps_calc_target, and deps_add_dep. Remove all the unnecessary string bashing. (cpp_finish): Use deps_write. Remove an unnecessary nesting level. * cpplib.c (do_include): Use deps_add_dep. * cpplib.h (struct cpp_reader): Replace deps_buffer, deps_allocated_size, deps_size, deps_column members with single pointer to a struct deps. Delete prototype of deps_output. From-SVN: r32329
2000-03-04* decl.c (init_decl_processing): Initialize sizetype properly.Per Bothner2-1/+6
From-SVN: r32328
2000-03-04* cppinit.c: Fix thinko in previous patch.Zack Weinberg2-1/+5
From-SVN: r32327
2000-03-04machmode.h (mode_for_size, [...]): SIZE now signed.Richard Kenner4-27/+60
* machmode.h (mode_for_size, smallest_mode_for_size): SIZE now signed. * stor-layout.c (mode_for_size, smallest_mode_for_size): Likewise. (mode_for_size_tree): New function. (layout_decl, layout_type): Call it and clean up BLKmode checks. * tree.h (mode_for_size_tree): New declaration. From-SVN: r32326
2000-03-04* toplev.c (debug_ignore_block): Mark arg BLOCK as possibly unused.Richard Kenner2-1/+5
From-SVN: r32325
2000-03-04stmt.c (is_body_block): Move...Jason Merrill7-71/+52
* stmt.c (is_body_block): Move... * dwarfout.c, dwarf2out.c: ...from here. * tree.h: Declare it. * emit-rtl.c (remove_unncessary_notes): Don't remove the body block. * final.c (final_start_function): Do call remove_unnecessary_notes when scheduling. From-SVN: r32324
2000-03-04Daily bump.Jeff Law2-2/+2
From-SVN: r32323
2000-03-04* config/vax/xm-vms.h: Define OBJECT_SUFFIX and EXECUTABLE_SUFFIX.Zack Weinberg2-0/+5
From-SVN: r32322
2000-03-04cpplib.h (_dollar_ok): New macro.Zack Weinberg6-54/+77
* cpplib.h (_dollar_ok): New macro. (is_idchar, is_idstart): Use it. (IStable): Rename to _cpp_IStable. Declare it const if gcc >=2.7 or C99. Delete all references to FAKE_CONST. (is_idchar, is_idstart, is_numchar, is_numstart, is_hspace, is_space): Update for renamed IStable. * cppinit.c: Delete all references to FAKE_CONST and CAT macros. Define init_IStable as empty macro if gcc >=2.7 or C99. Change TABLE() to ISTABLE and hardcode name of table. (cpp_start_read): Don't change the IStable based on dollars_in_ident. * cpphash.c (unsafe_chars): Add pfile argument. All callers changed. Handle '$' for char1 correctly. * cpplib.c (cpp_get_token): Use is_numchar when parsing numbers. * cppexp.c (tokentab2): Make const. (cpp_lex): Make toktab const. * cppinit.c (include_defaults_array): Make const. (initialize_standard_includes): Make default_include const. From-SVN: r32321
2000-03-03dwarf2out.c (dwarf2out_frame_debug): Add cast to silence warning.Jason Merrill8-51/+93
* dwarf2out.c (dwarf2out_frame_debug): Add cast to silence warning. (dwarf2out_decl): Functions can now have DECL_IGNORED_P. (gen_decl_die): Likewise. * dwarfout.c (dwarfout_file_scope_decl): Likewise. (output_decl): Likewise. * varasm.c (make_function_rtl): If we change the name used in the rtl, update DECL_ASSEMBLER_NAME accordingly. (make_decl_rtl): Likewise. * toplev.c (rest_of_compilation): Tweak formatting. * toplev.c (rest_of_compilation): find_loop_tree_blocks before remove_unnecessary_notes. (debug_ignore_block): New fn. * toplev.h: Declare it. * emit-rtl.c (remove_unncessary_notes): Call it. * dwarf2out.c (dwarf2out_ignore_block): New fn. * dwarf2out.h: Declare it. * final.c (final_start_function): Don't call remove_unnecessary_notes if we did insn scheduling. From-SVN: r32320
2000-03-03decl2.c (key_method): Break out from...Jason Merrill4-117/+91
* decl2.c (key_method): Break out from... (import_export_vtable, import_export_class): ...here. * decl.c (finish_function): Don't mess with flag_keep_inline_functions. * decl2.c (finish_vtable_vardecl): Don't check decl_function_context. * search.c (note_debug_info_needed, dfs_debug_mark, dfs_debug_unmarkedp): Uncomment. Adjust for new scheme. * decl2.c (finish_vtable_vardecl): Call note_debug_info_needed. From-SVN: r32319
2000-03-04cppinit.c (cpp_handle_option): Set opts->pedantic directly.Zack Weinberg3-4/+7
* cppinit.c (cpp_handle_option): Set opts->pedantic directly. * cpplib.h: Delete SET_CPP_PEDANTIC. From-SVN: r32318
2000-03-03expr.c (expand_expr, [...]): Use bitfield case if result is a RECORD_TYPE.Richard Kenner2-1/+16
* expr.c (expand_expr, case COMPONENT_REF): Use bitfield case if result is a RECORD_TYPE. From-SVN: r32317
2000-03-03elf.h (CTOR_LISTS_DEFINED_EXTERNALLY): Added.Jonathan Larmour2-0/+9
2000-03-03 Jonathan Larmour <jlarmour@cygnus.co.uk> * config/mips/elf.h (CTOR_LISTS_DEFINED_EXTERNALLY): Added. From-SVN: r32316
2000-03-03alpha.c (alpha_emit_set_const_1): Re-order cases to prefer addition over ↵Richard Henderson2-36/+41
compliments over shifts. * alpha.c (alpha_emit_set_const_1): Re-order cases to prefer addition over compliments over shifts. From-SVN: r32315