aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2000-02-10dwarf2out.c (add_abstract_origin_attribute): Check TREE_CODE (origin) rather ↵Jason Merrill2-1/+6
than die->die_tag. * dwarf2out.c (add_abstract_origin_attribute): Check TREE_CODE (origin) rather than die->die_tag. From-SVN: r31905
2000-02-10combine.c (make_extraction, [...]): Avoid warning on mixed-signedness ↵Richard Kenner12-137/+243
conditionals. * combine.c (make_extraction, force_to_mode): Avoid warning on mixed-signedness conditionals. (make_field_assignment, nonzero_bits): Likewise. * expmed.c (store_fixed_bit_field): ALIGN arg now unsigned. (store_split_bit_field, extract_split_bit_field): Likewise. (extract_fixed_bit_field, store_bit_field, * expr.c: Change alignment to be unsigned everywhere. (move_by_pieces, store_constructor_field, store_constructor): Alignment parm is unsigned. (emit_block_move, emit_group_load, emit_group_store): Likewise. (clear_storage, emit_push_insn, compare_from_rtx): Likewise. (do_compare_rtx_and_jump): Likewise. (move_by_pieces_ninsns, clear_by_pieces): Likewise. Compare align with GET_MODE_ALIGNMENT. (expand_expr_unaligned): Pointer to alignment is pointer to unsigned. (get_inner_reference): Likewise. (copy_blkmode_from_reg, emit_push_insn): Remove unneeded casts. (expand_assignment): Local vars for alignment now unsigned. (store_constructor, store_field, expand_expr, do_jump): Likewise. (do_compare_and_jump): Likewise. (store_field): Call new function expr_align. * expr.h (emit_block_move, emit_group_load, emit_group_store): Alignment arg now unsigned. (clear_storage, emit_push_insn, compare_from_rtx): Likewise. (do_compare_rtx_and_jump, store_bit_field): Likewise. (extract_bit_field): Likewise. * fold-const.c (add_double): Add cast to eliminate signedness warning. * machmode.h (GET_MODE_ALIGNMENT): Result is unsigned. (get_best_mode): Alignment arg is unsigned. * rtl.h (move_by_pieces): Likewise. * store-layout.c (maximum_field_alignment, set_alignment): Now unsigned. (layout_decl): Alignment arg is now unsigned. Remove unneeded casts. (layout_record, layout_union, layout_type): Remove unneeded casts. Local alignment variables now unsigned. (get_best_mode): Alignment arg now unsigned. * tree.c (expr_align): New function. * tree.h (expr_align): Likewise. (maximum_field_alignment, set_alignment): Now unsigned. (get_inner_reference): Alignment argument is now pointer to unsigned. * varasm.c (assemble_variable): Add cast to eliminate warning. From-SVN: r31904
2000-02-10Fix ia64 compiler problem with gcc.c-torture/compile/920410-1.c.Jim Wilson2-28/+29
* expmed.c (store_bit_field): If op0 and fieldmode are the same size, then store directly into op0. From-SVN: r31903
2000-02-10Fix for ia64 setjmp miscompilation problem.Jim Wilson2-2/+24
* calls.c (expand_call): When emitting a NOTE_INSN_SETJMP, search for the CALL_INSN, and emit the note immediately after it. From-SVN: r31902
2000-02-10except.c (maybe_start_try): Remove excess argument to `check_start_handlers'.Kaveh R. Ghazi2-1/+2
* except.c (maybe_start_try): Remove excess argument to `check_start_handlers'. From-SVN: r31900
2000-02-10Include a (return) in the epilogue, and emit it using emit_jump_insn notNick Clifton2-3/+12
emit_insn. From-SVN: r31899
2000-02-10function.c (assign_temp): Change zero-sized arrays to size 1.Jan Hubicka4-30/+40
* function.c (assign_temp): Change zero-sized arrays to size 1. * integrate.c (expand_inline_function): Do not update stack_alignment_needed * i386.c (compute_frame_size): Remove #ifdef PREFERRED_FRAME_BOUNDARY, add some sanity checking, remove optimization for function with zero frame size. From-SVN: r31898
2000-02-10* except.c (check_start_handlers): Prototype.Kaveh R. Ghazi2-0/+6
From-SVN: r31896
2000-02-10flow.c (mark_regs_live_at_end): Delete unused variables.Kaveh R. Ghazi6-5/+17
* flow.c (mark_regs_live_at_end): Delete unused variables. * ggc-page.c (ggc_page_print_statistics): bzero -> memset. * integrate.c (copy_rtx_and_substitute): Wrap variable `alignment' in macro FRAME_GROWS_DOWNWARD. * stmt.c (expand_end_bindings): Delete unused variable. * unroll.c (iteration_info): Mark parameter `loop' with ATTRIBUTE_UNUSED. From-SVN: r31895
2000-02-10server.c (load_data): Return NULL if the marker line is not found.Alexandre Oliva2-3/+22
* fixinc/server.c (load_data): Return NULL if the marker line is not found. (run_shell): If load_data returns NULL, retry the command once, in a new shell. From-SVN: r31894
2000-02-10* configure: Rebuilt.Alexandre Oliva2-246/+226
From-SVN: r31893
2000-02-10old fixincludes coup des grasBruce Korb7-3489/+10
From-SVN: r31892
2000-02-10function.c (thread_prologue_and_epilogue_insns): Uncomment last change.Clinton Popetz2-2/+6
* function.c (thread_prologue_and_epilogue_insns): Uncomment last change. From-SVN: r31890
2000-02-10ir.texi (ADDR_EXPR): Document the fact that an ADDR_EXPR can be used to ↵Mark Mitchell2-2/+8
create an implicit temporary. * ir.texi (ADDR_EXPR): Document the fact that an ADDR_EXPR can be used to create an implicit temporary. From-SVN: r31888
2000-02-10Daily bump.Jeff Law2-2/+2
From-SVN: r31887
2000-02-10class.c (dfs_modify_vtables): Tweak calculation of functions to override.Mark Mitchell3-6/+91
* class.c (dfs_modify_vtables): Tweak calculation of functions to override. From-SVN: r31886
2000-02-09* jump.c (delete_insn): Don't delete user labels at -O0.Richard Henderson2-8/+16
From-SVN: r31885
2000-02-10Makefile.in (gen-protos): Don't depend on HOST_LIBDEPS.Robert Lipe2-2/+7
* Makefile.in (gen-protos): Don't depend on HOST_LIBDEPS. Don't link with HOST_LIBS. From-SVN: r31884
2000-02-10configure.in: Correct --help text for --with-dwarf2.Zack Weinberg4-5/+13
* configure.in: Correct --help text for --with-dwarf2. Put tm-dwarf2.h after other tm files, if it's requested. * configure: Regenerate. * config/tm-dwarf2.h: #undef PREFERRED_DEBUGGING_TYPE before defining it. From-SVN: r31883
2000-02-10cpplib.h: Provide HASHNODE typedef and forward decl of struct hashnode only.Zack Weinberg10-144/+151
* cpplib.h: Provide HASHNODE typedef and forward decl of struct hashnode only. Kill cpp_hashnode typedef. MACRODEF, DEFINITION, struct hashnode, struct macrodef, struct definition, scan_decls prototype, default defn of INCLUDE_LEN_FUDGE moved elsewhere. * cpphash.h: MACRODEF, DEFINITION, struct macrodef, struct definition, and struct hashnode moved here. Remove the unused 'predefined' field from struct definition. Replace the 'args' union with its sole member. All users updated (cpphash.c). Delete HASHSTEP and MAKE_POS macros, and hashf prototype. Add multiple include guard. * cpphash.c (hashf): Make static; use better algorithm; drop HASHSIZE parameter; return an unsigned int. (cpp_lookup): Drop HASH parameter. PFILE parameter is used. Calculate HASHSIZE modulus here. (cpp_install): Drop HASH parameter. Calculate HASHSIZE modulus here. (create_definition): Drop PREDEFINITION parameter. * cpplib.c (do_define): Don't calculate a hash value here. Don't pass (keyword == NULL) to create_definition. * scan.h: Prototype scan_decls here. * cppfiles.c: Move INCLUDE_LEN_FUDGE default defn here. * cppexp.c, cppfiles.c, cppinit.c, cpplib.c, fix-header.c: All callers of cpp_lookup and cpp_install updated. From-SVN: r31881
2000-02-10Use -static when testing --gc-sections on native targetsJonathan Larmour2-1/+10
From-SVN: r31880
2000-02-10cpphash.c (macarg): Hoist all the flag diddling out of the function...Zack Weinberg7-94/+172
* cpphash.c (macarg): Hoist all the flag diddling out of the function... (macroexpand): ... and out of the loop that calls macarg. Skip over the initial paren before macro arguments with cpp_get_non_space_token; point may be some distance before that paren. Abort if it's not there. * cpplib.c (parse_clear_mark): Delete function. (parse_set_mark, parse_goto_mark): Make static. (ACTIVE_MARK_P): New macro. (skip_block_comment, skip_line_comment): Do not bump the line if ACTIVE_MARK_P is true. (cpp_pop_buffer): The buffer to be popped may not have an active mark. (cpp_get_token): When looking for the initial paren before macro arguments, only set a mark in a file buffer, Always return to that mark before proceeding to call macroexpand or return a NAME token. * cpplib.h: Remove prototypes of parse_set_mark, parse_clear_mark, parse_goto_mark. (struct cpp_options): Rename 'put_out_comments' to 'discard_comments' and invert its sense. * cppinit.c, cpphash.c, cpplib.c: All users of put_out_comments changed to use discard_comments, with opposite sense. From-SVN: r31879
2000-02-09function.c (thread_prologue_and_epilogue_insns): Don't delete the edge from ↵Clinton Popetz2-0/+12
a block that both jumps and falls through to the... * function.c (thread_prologue_and_epilogue_insns): Don't delete the edge from a block that both jumps and falls through to the fallthru block. From-SVN: r31878
2000-02-09In PIC mode, make sure that a constant source address is legitimate.Scott Bambrough2-7/+46
From-SVN: r31873
2000-02-09decl.c (clear_binding_level): Remove excess initializer.Andrew Haley2-3/+9
2000-02-09 Andrew Haley <aph@cygnus.com> * decl.c (clear_binding_level): Remove excess initializer. (maybe_poplevels): Remove unused variable. (force_poplevels): Ditto. (struct binding_level): Add comment. From-SVN: r31870
2000-02-09Apply Philip Blundell's patch to fix PIC operands.Philip Blundell3-33/+269
From-SVN: r31867
2000-02-09cpplib.c (cpp_define, cpp_undef): Make sure the stacked buffer ends with a ↵Zack Weinberg2-13/+36
newline and a NUL. * cpplib.c (cpp_define, cpp_undef): Make sure the stacked buffer ends with a newline and a NUL. Don't be so clever manipulating strings. From-SVN: r31864
2000-02-09java-except.h (struct eh_range): Add `expanded' field.Andrew Haley6-23/+207
2000-01-25 Andrew Haley <aph@cygnus.com> * java-except.h (struct eh_range): Add `expanded' field. (maybe_start_try): Add end_pc arg. (maybe_end_try): Ditto. * java-tree.h (force_poplevels): new function. * expr.c (expand_byte_code): Don't call maybe_start_try or maybe_end_try. * except.c (add_handler): Reset expanded. (expand_start_java_handler): Set expanded. (check_start_handlers): Don't expand a start handler that's already been expanded. (maybe_start_try): Add end_pc arg. Only expand a handler which ends after end_pc. (expand_end_java_handler): call force_poplevels. (force_poplevels): new function. * decl.c (binding_level): Add start_pc of binding level. (maybe_pushlevels): Call maybe_start_try when pushing binding levels. (maybe_poplevels): Call maybe_end_try when popping binding levels. (LARGEST_PC): Define. (clear_binding_level): Use LARGEST_PC. * java-tree.h (DEBUG_JAVA_BINDING_LEVELS): new define. * decl.c (DEBUG_JAVA_BINDING_LEVELS): new define. (binding_depth, is_class_level, current_pc): new variables. (struct binding_level): ditto. (indent): new function. (push_jvm_slot): add debugging info. (maybe_pushlevels): ditto. (maybe_poplevels): ditto. (pushlevel): ditto. (poplevel): ditto. (start_java_method): ditto. (give_name_to_locals): comment only. * except.c (binding_depth, is_class_level, current_pc): new variables. (expand_start_java_handler): add debugging info. (expand_end_java_handler): ditto. From-SVN: r31861
2000-02-09* reload1.c (reload) Align stack frame to cfun->stack_alignment_needed,Jan Hubicka2-2/+8
not to BIGGEST_ALIGNMENT. From-SVN: r31860
2000-02-09Daily bump.Jeff Law2-2/+2
From-SVN: r31859
2000-02-09dwarf2.h (DW_CFA_GNU_negative_offset_extended): New constant.Geoff Keating4-3/+28
* dwarf2.h (DW_CFA_GNU_negative_offset_extended): New constant. * dwarf2out.c (dwarf_cfi_name): Print name of new constant. (reg_save): Use DW_CFA_GNU_negative_offset_extended when needed. (output_cfi): Handle output of DW_CFA_GNU_negative_offset_extended. * frame.c (execute_cfa_insn): Handle DW_CFA_GNU_negative_offset_extended. From-SVN: r31858
2000-02-08flow.c (tidy_fallthru_edges): Split out from ...Richard Henderson2-34/+52
* flow.c (tidy_fallthru_edges): Split out from ... (delete_unreachable_blocks): ... here. (find_basic_blocks): Use it. From-SVN: r31857
2000-02-08* stmt.c (expand_decl): Do set RTX_UNCHANGING_P for TREE_READONLY.Richard Kenner2-7/+5
From-SVN: r31856
2000-02-08Makefile.in (GEN_PROTOS_OBJS): Remove libcpp.a.Zack Weinberg6-8/+57
* Makefile.in (GEN_PROTOS_OBJS): Remove libcpp.a. (gen_protos.o): Don't depend on cpplib.h or cpphash.h. (fix-header.o): Don't depend on cpphash.h. * scan.c (hashstr): New function. * scan.h: Prototype it. * fix-header.c: Don't include cpphash.h. Use hashstr. * gen-protos.c: Don't include cpphash.h or cpplib.h. Use hashstr. Report hash table statistics. Add private definition of xrealloc. From-SVN: r31854
2000-02-08* i386.h (TARGET_SWITCHES): Fix typo in option name.Kaveh R. Ghazi2-1/+5
From-SVN: r31853
2000-02-08function.c (thread_prologue_and_epilogue_insns): Don't replace jumps with ↵Clinton Popetz2-1/+6
returns unless they are jumps to the fallthru block. * function.c (thread_prologue_and_epilogue_insns): Don't replace jumps with returns unless they are jumps to the fallthru block. From-SVN: r31852
2000-02-08* i386.md (addqi3_cc): Fix contraints.Jan Hubicka2-2/+6
From-SVN: r31851
2000-02-08* g++.old-deja/g++.other/cast5.C: New test.Nathan Sidwell2-0/+42
From-SVN: r31850
2000-02-08typeck.c (strip_all_pointer_quals): Use TYPE_MAIN_VARIANT, to strip array ↵Nathan Sidwell2-2/+8
element qualifiers too. * typeck.c (strip_all_pointer_quals): Use TYPE_MAIN_VARIANT, to strip array element qualifiers too. From-SVN: r31849
2000-02-08Daily bump.Jeff Law2-2/+2
From-SVN: r31848
2000-02-08* function.c (emit_return_into_block): Wrap in #ifdef HAVE_return.Hans-Peter Nilsson2-0/+8
From-SVN: r31847
2000-02-07decl.c (store_parm_decls): Don't build cleanups for parameters while ↵Mark Mitchell3-1/+32
processing_template_decl. * decl.c (store_parm_decls): Don't build cleanups for parameters while processing_template_decl. From-SVN: r31842
2000-02-07cpplib.c (cpp_get_token): Call CPP_BUMP_LINE after reading a carriage return ↵Mark Mitchell2-0/+6
after a macro name. * cpplib.c (cpp_get_token): Call CPP_BUMP_LINE after reading a carriage return after a macro name. From-SVN: r31840
2000-02-07beos-elf.h: (ASM_IDENTIFY_GCC): Define to nothing so the gcc2_compiled ↵Fred Fish2-0/+17
symbol doesn't... * i386/beos-elf.h: (ASM_IDENTIFY_GCC): Define to nothing so the gcc2_compiled symbol doesn't confuse BeOS debuggers. From-SVN: r31838
2000-02-07cp-tree.h (struct saved_scope): Add incomplete field.Jason Merrill11-947/+1200
* cp-tree.h (struct saved_scope): Add incomplete field. (namespace_scope_incomplete): New macro. * decl.c (pushdecl): Use it. (hack_incomplete_structures): Use it. See through artificial binding levels. (mark_saved_scope): Mark it. Implement access control for nested types. * search.c (type_access_control): New fn. (accessible_p): Now we do perform access control for types. * semantics.c (deferred_type_access_control): New fn. (initial_deferred_type_access_control): New fn. (begin_function_definition): Call it. Add lookups parm. * decl.c (struct binding_level): Add this_class field. (pushlevel_class): Set it. (mark_binding_level): Mark it. (lookup_name_real): Use it. Call type_access_control. (mark_saved_scope): Mark lookups field. * cp-tree.h (flagged_type_tree): Add lookups field. (struct saved_scope): Add lookups field. (type_lookups): New macro. * parse.y (declmods): Now <ftype>. (parse_decl): Add lookups parm. Call initial_deferred_type_access_control. (lang_extdef): Clear type_lookups. (typed_declspecs, declmods, typespec): Set lookups field. (initdcl): Call deferred_type_access_control. (fn.def1, fn.def2, typed_declspecs1, initdcl0_innards, nomods_initdcl0, component_decl_1, named_parm): Adjust. * friend.c (is_friend): Nested classes are friends of their enclosing classes. * class.c (currently_open_derived_class): New fn. * method.c (hack_identifier): Use it. * lex.c (do_identifier): Remove obsolete code. * parse.y (typed_typespecs): Propagate new_type_flag properly. From-SVN: r31837
2000-02-07updateJason Merrill10-48/+60
From-SVN: r31836
2000-02-07tweak wordingJason Merrill2-3/+3
From-SVN: r31835
2000-02-07[multiple changes]Zack Weinberg3-7/+15
2000-02-07 Zack Weinberg <zack@wolery.cumb.org> * cppfiles.c (deps_output): Count spacers in deps_column. 2000-02-07 Neil Booth <NeilB@earthling.net> * cppinit.c (initialize_dependency_output): If there is no suffix, don't try to look for known suffixes. Use strrchr. (cpp_start_read): Remove duplicate initialization. From-SVN: r31832
2000-02-07calls.c (compute_argument_block_size): New argument preferred_stack_boundary.Jan Hubicka7-9/+85
* calls.c (compute_argument_block_size): New argument preferred_stack_boundary. (expand_call): update cfun->preferred_stack_boundary, update call of compute_argument_block_size (emit_library_call): Increate cfun->preferred_stack_boundary to PREFERRED_STACK_BOUNDARY (emit_library_call_value): Likewise. * explow.c (allocate_dynamic_stack_spave): Likewise. * function.c (prepare_function_start): Set cfun->preferred_stack_boundary * function.h (struct function): Add preferred_stack_boundary field. * integrate.c (expand_inline_function): Update cfun->preferred_stack_boundary and cfun->stack_alignment_needed. (copy_rtx_and_substitute): Align frame to stack_alignment_needed only. * i386.c (compute_frame_size): Use cfun->preferred_stack_boundary. From-SVN: r31831
2000-02-07Daily bump.Jeff Law2-2/+2
From-SVN: r31830