summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* * config/rs6000/rs6000.c (rs6000_rtx_costs) <MINUS_EXPR>: Handlesayle2004-06-302-0/+9
| | | | | | | subtractions identically to additions, always COSTS_N_INSNS (1). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83906 138bc75d-0d04-0410-961f-82ee72b054a4
* * expmed.c (expand_smod_pow2): Fix sign of mask.amylaar2004-06-302-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83905 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-06-30 David Billinghurst (David.Billinghurst@riotinto.com)billingd2004-06-302-3/+8
| | | | | | | | | PR fortran/16289 * gfortran.fortran-torture/execute/intrinsic_nearest.f90 Use tiny() intrinsic to find smallest non-negative real git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83904 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.dg/compat/struct-by-value-22_main.c: New test.jakub2004-06-304-0/+138
| | | | | | | | * gcc.dg/compat/struct-by-value-22_x.c: New. * gcc.dg/compat/struct-by-value-22_y.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83903 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-ssa-pre.c (phi_trans_add): Use is_gimple_min_invariantdnovillo2004-06-303-34/+25
| | | | | | | | | | | | | to check for constants. (set_remove): Likewise. (value_replace_in_set): Likewise. (find_leader): Likewise. * tree-vn.c (set_value_handle): Likewise. (vn_lookup): Likewise. (vn_lookup_or_add): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83902 138bc75d-0d04-0410-961f-82ee72b054a4
* RTL prologue/epilogue for SPARCebotcazou2004-06-3012-993/+793
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/sparc/sparc-protos.h (sparc_emitting_epilogue): Delete. (sparc_skip_caller_unimp): Likewise. (load_pic_register): Likewise. (leaf_return_peephole_ok): Likewise. (compute_frame_size): Rename into sparc_compute_frame_size. (sparc_expand_prologue): New prototype. (sparc_expand_epilogue): Likewise. (output_return): Likewise. (eligible_for_epilogue_delay): Rename into eligible_for_return_delay. * config/sparc/sparc.h (INITIAL_ELIMINATION_OFFSET): Adjust call to compute_frame_size. Move comment up. (DELAY_SLOTS_FOR_EPILOGUE): Delete. (ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise. (EPILOGUE_USES): Return true for %g1 if the function uses EH return. * config/sparc/sparc.md (UNSPECV_SAVEW): New constant. (type attribute): Add 'return' and 'savew'. (eligible_for_return_delay): New attribute. (return): New delay_slot. (sibcall_epilogue): Call sparc_expand_epilogue. (prologue): Likewise. Move up. (save_register_window): New expander. (save_register_windowsi): New pattern. (save_register_windowdi): Likewise. (epilogue): New expander. (return_internal): New pattern. (Return peepholes): Delete. * config/sparc/sparc.c (SIBCALL_SLOT_EMPTY_P): New macro. (sparc_emitting_epilogue): Delete. (sparc_skip_caller_unimp): Likewise. (sparc_sr_alias_set): New global variable. (frame_base_name): Delete. (frame_base_reg): New global variable. (sparc_override_options): Get new alias set for save/restore. (leaf_return_peephole_ok): Delete. (eligible_for_epilogue_delay): Rename into eligible_for_return_delay. Factor out code into eligible_for_restore_insn_delay. (eligible_for_restore_insn_delay): New function extraced from above. Use IN_UNCOND_BRANCH_DELAY_TRUE instead of IN_BRANCH_DELAY_TRUE. (eligible_for_sibcall_delay): Use SIBCALL_SLOT_EMPTY_P. Factor out code into eligible_for_restore_insn_delay. (load_pic_register): Make static. Remove check. (save_regs): Delete. (restore_regs): Likewise. (compute_frame_size): Rename into sparc_compute_frame_size. Rename leaf_function into leaf_function_p. (build_big_number): Delete. (save_or_restore_regs): New function. (emit_save_regs): Likewise. (emit_restore_regs): Likewise. (emit_stack_pointer_increment ): Likewise. (emit_stack_pointer_decrement): Likewise. (sparc_expand_prologue): Likewise. (sparc_function_prologue): Rename into sparc_asm_function_prologue. Remove all code to emit instructions. (sparc_expand_epilogue): New function. (sparc_function_epilogue): Rename into sparc_asm_function_epilogue. Remove all code to emit instructions. (output_restore): New function. (output_return): Likewise. (output_sibcall): Factor out code into output_restore. (print_operand): Adjust for frame_base_reg. * target.h (struct gcc_target): New field 'late_rtl_prologue_epilogue'. * target-def.h (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): New define. (TARGET_INITIALIZER): Add it. * passes.c (rest_of_compilation): Set the conditional predicate 'current_function_uses_only_leaf_regs' before sched2. If target has 'late_rtl_prologue_epilogue', emit RTL prologue/epilogue right before sched2. * reorg.c (return_insn_p): New predicate. (find_end_label): Use it. (relax_delay_slots): Do not thread an unconditional jump that points to the end return label. * doc/tm.texi (Registers) <Leaf Functions>: Clarify the validity domain of 'current_function_uses_only_leaf_regs'. (Stack and Calling) <Function Entry>: Document new target hook TARGET_LATE_RTL_PROLOGUE_EPILOGUE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83901 138bc75d-0d04-0410-961f-82ee72b054a4
* * simplify-rtx.c (simplify_binary_operation): Simplifyjakub2004-06-305-0/+243
| | | | | | | | | | | | | | ((A & N) + B) & M -> (A + B) & M if M is pow2 minus 1 constant and N has at least all bits in M set as well. PR tree-optimization/15310 * expr.c (expand_assignment): Optimize += or -= on a bit field in most significant bits. * gcc.c-torture/execute/20040629-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83900 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/powerpc/ffi_darwin.c (flush_icache): ';' is a commentgeoffk2004-06-302-5/+10
| | | | | | | character on Darwin, use '\n\t' instead. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83899 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/c4x/c4x.md: Fix comment.steven2004-06-302-18/+8
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83898 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-06-30 Gabriel Dos Reis <gdr@integrable-solutions.net>paolo2004-06-307-98/+302
| | | | | | | | | | | | | | | | | | | | | | | | | Paolo Carlini <pcarlini@suse.de> * include/bits/cpp_type_traits.h: Add __is_pointer and __is_trivially_copyable. * include/bits/stl_algobase.h (fill, fill_n): Slightly tweak to use the latter. (__copy_backward_dispatch): Remove. (__copy_backward_aux): Rewrite to use __is_pointer and __is_trivially_copyable and __copy_backward::copy_b. (__copy_backward): Rewrite as a class template and two specializations. 2004-06-30 Paolo Carlini <pcarlini@suse.de> * testsuite/25_algorithms/copy.cc: Move to... * testsuite/25_algorithms/copy/1.cc: ... here, extend. * testsuite/25_algorithms/copy/2.cc: New. * testsuite/25_algorithms/copy/3.cc: New. * testsuite/25_algorithms/copy/4.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83897 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-0630 Akos Kiss <akiss@inf.u-szeged.hu>rearnsha2004-06-302-0/+5
| | | | | | | * arm.md (cond_return_inverted): Add "length" attribute. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83896 138bc75d-0d04-0410-961f-82ee72b054a4
* * intrinsics/rand.c (rand): Wrap the irand() call from the previoussteven2004-06-302-1/+7
| | | | | | | commit in prefix. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83895 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree.c (build_min_nt, build_min, build_min_non_dep):bothner2004-06-302-3/+5
| | | | | | | Don't set TREE_COMPLEXITY from input_line. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83894 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/winnt.c (i386_pe_encode_section_info): Smash rtlname'sbothner2004-06-302-9/+14
| | | | | | | XSTR in place, so we don't lose SYMBOL_REF_DECL info. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83893 138bc75d-0d04-0410-961f-82ee72b054a4
* * jni.cc (_Jv_JNI_NewGlobalRef, JNICALL _Jv_JNI_DeleteGlobalRef,bothner2004-06-302-186/+192
| | | | | | | | etc etc): Remove needless parenthesis, which causes __stdcall__ attribute on MinGW to get ignored. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83892 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/hpux.h: Target does too support thread-local storage.zack2004-06-302-4/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83891 138bc75d-0d04-0410-961f-82ee72b054a4
* Revert accidental commitzack2004-06-301-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83890 138bc75d-0d04-0410-961f-82ee72b054a4
* * combine.c (distribute_notes): Don't look at global_regs forzack2004-06-303-12/+18
| | | | | | | pseudos. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83889 138bc75d-0d04-0410-961f-82ee72b054a4
* * gimplify.c (gimplify_modify_expr_rhs): Move immediately beforerth2004-06-302-367/+434
| | | | | | | | | | | | gimplify_modify_expr. (gimplify_init_constructor): Likewise. Gimplify the null CONSTRUCTOR assignment. (gimplify_modify_expr_to_memcpy): New. (gimplify_modify_expr_to_memset): New. (gimplify_modify_expr): Use them. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83888 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2004-06-302-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83886 138bc75d-0d04-0410-961f-82ee72b054a4
* * web.c (union_defs): use all defs of an instruction to create arth2004-06-292-5/+12
| | | | | | | union with a read/write use git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83882 138bc75d-0d04-0410-961f-82ee72b054a4
* PR middle-end/16216rth2004-06-293-1/+17
| | | | | | | | * builtins.c (gimplify_va_arg_expr): Check for valist being an error_mark_node. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83881 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>tobi2004-06-293-3/+10
| | | | | | | | | | | Paul Brook <paul@codesourcery.com> * runtime/normalize.c (normalize_r4_i4, normalize_r8_i8): Fix comments. * intrinsics/rand.c (rand): Call irand() in call to normalize_r4_i4. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83880 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-06-29 Frank Ch. Eigler <fche@redhat.com>fche2004-06-298-26/+674
| | | | | | | | | | | | | | | | | Splay tree implementation fork. * splay-tree.c, splay-tree.h: Copied & modified from libiberty. Use hard-coded comparison function for uintptr_t. Remove key/value deallocation logic. Cache last splayed key for consecutive lookups. * Makefile.am, Makefile.in: Use them, don't link to them. * mf-runtime.c (__mf_object_tree): Adapt to simpler splay_tree_new. (__mf_find_objects2): Flip successor/predecessor search sequence. * ansidecl.h, libiberty.h: Removed dummy files. 2004-06-29 Nick Clifton <nickc@redhat.com> git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83879 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c, interface.c, symbol.c, trans-common.c: Add 2004 totobi2004-06-295-5/+11
| | | | | | | copyright years. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83878 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-06-29 Steven Bosscher <stevenb@suse.de>steven2004-06-299-176/+264
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure types in assignments are compatible. Mostly mechanical. * trans-const.h (gfc_index_one_node): New define. * trans-array.c (gfc_trans_allocate_array_storage, gfc_trans_allocate_temp_array, gfc_trans_array_constructor_subarray, gfc_trans_array_constructor_value, gfc_trans_array_constructor, gfc_conv_array_ubound, gfc_conv_array_ref, gfc_trans_scalarized_loop_end, gfc_conv_section_startstride, gfc_conv_ss_startstride, gfc_conv_loop_setup, gfc_array_init_size, gfc_trans_array_bounds, gfc_trans_dummy_array_bias, gfc_conv_expr_descriptor, gfc_trans_deferred_array): Use the correct types in assignments, conversions and conditionals for expressions. * trans-expr.c (gfc_conv_expr_present, gfc_conv_substring, gfc_conv_unary_op, gfc_conv_cst_int_power, gfc_conv_string_tmp, gfc_conv_function_call, gfc_trans_pointer_assignment, gfc_trans_scalar_assign): Likewise. * trans-intrinsic.c (build_fixbound_expr, gfc_conv_intrinsic_bound, gfc_conv_intrinsic_anyall, gfc_conv_intrinsic_count, gfc_conv_intrinsic_minmaxloc, gfc_conv_intrinsic_btest, gfc_conv_intrinsic_singlebitop, gfc_conv_intrinsic_ishft, gfc_conv_intrinsic_ishftc, gfc_conv_intrinsic_strcmp, gfc_conv_allocated, gfc_conv_associated, gfc_conv_intrinsic_rrspacing, gfc_conv_intrinsic_trim): Likewise. * trans-io.c (set_string): Likewise. * trans-stmt.c (gfc_trans_do, gfc_trans_forall_loop, gfc_do_allocate, generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp, compute_inner_temp_size, compute_overall_iter_number, gfc_trans_assign_need_temp, gfc_trans_pointer_assign_need_temp, gfc_trans_forall_1, gfc_evaluate_where_mask, gfc_trans_where_assign, gfc_trans_where_2): Likewise. * trans-types.c (gfc_get_character_type, gfc_build_array_type, gfc_get_nodesc_array_type, gfc_get_array_type_bounds): Likewise. * trans.c (gfc_add_modify_expr): Add sanity check that types for the lhs and rhs are the same for scalar assignments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83877 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix ChangeLog entrytobi2004-06-291-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83876 138bc75d-0d04-0410-961f-82ee72b054a4
* Revert previous accidental commit.tobi2004-06-293-218/+209
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83875 138bc75d-0d04-0410-961f-82ee72b054a4
* * dump-parse-tree.c (show_common): New function.tobi2004-06-295-209/+246
| | | | | | | (gfc_show_namespace): Show commons. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83874 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.dg/compat/vector-defs.h: Use vector_size attributejakub2004-06-292-21/+50
| | | | | | | only for GCC 3.5+, for GCC up to 3.4 mode(V*) attribute instead. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83873 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/16195jakub2004-06-294-3/+64
| | | | | | | | | | | | | * config/rs6000/rs6000.c (rs6000_conditional_register_usage): Make r30 fixed if TARGET_TOC && TARGET_MINIMAL_TOC. (first_reg_to_save): Pretend call_used_regs[30] is 0 if TARGET_TOC && TARGET_MINIMAL_TOC. (rs6000_emit_prologue, rs6000_emit_epilogue): Likewise. * gcc.dg/20040625-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83872 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>tobi2004-06-2911-165/+298
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Andrew Vaught <andyv@firstinter.net> PR fortran/13249 PR fortran/15481 * declc (gfc_match_save): Adapt to new common structures, don't allow saving USE-associated common. * dump-parse-tree (gfc_show_attr): (saved_)common are not symbol attributes any longer. (gfc_show_symbol): Don't show old-style commons any longer. (gfc_show_namespace): Adapt call to gfc_traverse_symtree to new interface. * gfortran.h (symbol_attribute): Remove common and saved_common attributes. (gfc_symbol): Remove common_head element. (gfc_common_head): New struct. (gfc_get_common_head): New macro. (gfc_symtree): Add field 'common' to union. (gfc_namespace): Add field 'common_root'; change type of field 'blank_common' to blank_common. (gfc_add_data): New prototype. (gfc_traverse_symtree): Expect a symtree as first argument instead of namespace. * match.c (gfc_get_common): New function. (match_common_name): Change to take char * as argument, adapt, fix bug with empty name. (gfc_match_common): Adapt to new data structures. Disallow redeclaration of USE-associated COMMON-block. Fix bug with empty common. (var_element): Adapt to new common structures. * match.h (gfc_get_common): Declare. * module.c: Add 2004 to copyright years, add commons to module file layout description. (ab_attribute, attr_bits, mio_symbol_attributes): Remove code for removed attributes. (mio_symbol): Adapt to new way of storing common relations. (load_commons): New function. (read_module): Skip common list on first pass, load_commons at second. (write_commons): New function. (write_module): Call write_commons(). * symbol.c (gfc_add_saved_comon, gfc_add_common): Remove functions related to removed attributes. (gfc_add_data): New function. (gfc_clear_attr): Don't set removed attributes. (gfc_copy_attr): Don't copy removed attributes. (traverse_symtree): Remove. (gfc_traverse_symtree): Don't traverse symbol tree of the passed namespace, but require a symtree to be passed instead. Unify with traverse_symtree. (gfc_traverse_ns): Call gfc_traverse_symtree according to new interface. (save_symbol): Remove setting of removed attribute. * trans-common.c (gfc_sym_mangled_common_id): Change to take 'char *' argument instead of 'gfc_symbol'. (build_common_decl, new_segment, translate_common): Adapt to new data structures, add new argument name. (create_common): Adapt to new data structures, add new argument name. Fix typo in intialization of derived types. (finish_equivalences): Add second argument in call to create_common. (named_common): take 'gfc_symtree' instead of 'gfc_symbol'. (gfc_trans_common): Adapt to new data structures. * trans-decl.c (gfc_create_module_variables): Also output symbols from commons. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83871 138bc75d-0d04-0410-961f-82ee72b054a4
* * io.c: Add 2004 to copyright years.tobi2004-06-292-1/+6
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83870 138bc75d-0d04-0410-961f-82ee72b054a4
* * testsuite/libjava.compile/PR16249.java: New test case. PRbryce2004-06-292-2/+23
| | | | | | | gcc/16249. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83869 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>tobi2004-06-294-0/+219
| | | | | | | | | | | | | | | | | | | | Andrew Vaught <andyv@firstinter.net> * gfortran.h (gfc_gsymbol): New typedef. (gfc_gsym_root): New variable. (gfc_get_gsymbol, gfc_find_gsym): New prototypes. * parse.c (global_used): New function. (parse_block_data): Check for double empty BLOCK DATA, use global symbol table. (parse_module): Use global symbol table. (add_global_procedure, add_global_program): New functions. (gfc_parse_file): Use global symbol table. * symbol.c (gfc_gsym_root): New variable. (gfc_find_gsym, gsym_compare, gfc_get_gsymbol): New functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83868 138bc75d-0d04-0410-961f-82ee72b054a4
* PR java/1262bryce2004-06-294-61/+95
| | | | | | | | | | | | | | | * class.c (layout_class_method): Do not override package-private method if its in a different package. (split_qualified_name): Move here from parse.y. Rename from breakdown_qualified. Add comment. (in_same_package): Move here from parse.y. Add comment. * java-tree.h (break_down_qualified, in_same_package): Declare. (in_same_package): Likewise. * parse.y (breakdown_qualified, in_same_package): Moved to class.c. Callers updated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83867 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix gcc.dg/builtin-apply2.c failures:amylaar2004-06-292-14/+30
| | | | | | | | | | | | | * sh.h (TARGET_VARARGS_PRETEND_ARGS): Define. * sh.c (extra_push): Delete. (sh_expand_prologue): Don't do extra stack adjustment for current_function_pretend_args_size if it comes from varargs setup. Use TARGET_VARARGS_PRETEND_ARGS. Don't set extra_push. (sh_expand_epilogue): Don't use extra_push. (sh_setup_incoming_varargs): Set pretend_arg_size when necessary. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83864 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix gcc.dg/builtin-apply2.c failures:amylaar2004-06-291-0/+11
| | | | | | | | | | | | | * sh.h (TARGET_VARARGS_PRETEND_ARGS): Define. * sh.c (extra_push): Delete. (sh_expand_prologue): Don't do extra stack adjustment for current_function_pretend_args_size if it comes from varargs setup. Use TARGET_VARARGS_PRETEND_ARGS. Don't set extra_push. (sh_expand_epilogue): Don't use extra_push. (sh_setup_incoming_varargs): Set pretend_arg_size when necessary. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83863 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/tobi2004-06-294-2/+26
| | | | | | | | | | | | * module.c (mio_gmp_real): Correct writing of negative numbers. testsuite/ * gfortran.fortran-torture/execute/parameter_2.f90: New test. Also corrected dates in previous ChangeLog entries git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83862 138bc75d-0d04-0410-961f-82ee72b054a4
* * expmed.c (expand_smod_pow2): Provide alternate implementationssayle2004-06-292-11/+42
| | | | | | | | that avoid conditional jumps, and choose between them based upon the target's rtx_costs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83861 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-06-29 Andrew Pinski <apinski@apple.com>pinskia2004-06-293-1/+8
| | | | | | | | * tree-sra.c: Include expr.h for definition of MOVE_RATIO. * Makefile.in (tree-sra.c): Update dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83860 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/tobi2004-06-294-4/+34
| | | | | | | | | | | | | PR fortran/15963 * expr.c (check_intrinsic_op): Allow comparison of characters. Make logic easier. testsuite/ PR fortran/15963 * gfortran.fortran-torture/execute/initialization_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83859 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-sra.c: Rewrite from scratch. Handle nested aggregates.rth2004-06-294-829/+1596
| | | | | | | * gcc.dg/tree-ssa/20040430-1.c: Expect zero if's. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83858 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-06-29 Andrew Haley <aph@redhat.com>aph2004-06-295-96/+94
| | | | | | | | | | | | | | | | | | | | | * except.c (expand_start_java_handler): Push a new binding level. Don't build a TRY_CATCH_EXPR now, we'll do it later. Call register_exception_range() to register where we'll do it. (expand_end_java_handler): Remove old bogus code. Replace with new logic that simply builds TRY_CATCH_EXPRs and inserts them at the top of the expression we're curently building. (maybe_end_try): Delete. * decl.c (binding_level.exception_range): New field. (clear_binding_level): Add field exception_range. Reformat. (poplevel): Call expand_end_java_handler(). (poplevel): Call java_add_stmt only if functionbody is false. (maybe_poplevels): Don't call maybe_end_try() from here. (end_java_method): Clear no longer used trees in function decl. (register_exception_range): New function. * java-tree.h (register_exception_range, struct eh_range): Declare. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83857 138bc75d-0d04-0410-961f-82ee72b054a4
* * vec.h (VEC_T_safe_push, VEC_T_safe_insert): Tweak for whennathan2004-06-292-4/+9
| | | | | | | size_t is bigger than int. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83855 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/pbrook2004-06-2915-41/+188
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * target-def.h (TARGET_CXX_GET_COOKIE_SIZE, TARGET_CXX_COOKIE_HAS_SIZE): Define. (TARGET_CXX): Use them. * target.h (struct gcc_target): Add cxx.get_cookie_size and cxx.cookie_has_size. * targhooks.c (default_cxx_get_cookie_size): New fucntion. * targhooks.h (default_cxx_get_cookie_size): Add prototype. * config/arm/arm.c (TARGET_CXX_GET_COOKIE_SIZE, TARGET_CXX_COOKIE_HAS_SIZE): Define. (arm_get_cookie_size, arm_cookie_has_size): New functions. * Make-lang.in (cp/init.o): Add dependency on $(TARGET_H). * doc/tm.texi: Document TARGET_CXX_GET_COOKIE_SIZE and TARGET_CXX_COOKIE_HAS_SIZE. gcc/cp/ * init.c: Include target.h. (get_cookie_size): Remove and replace with target hook. Update callers. (build_new_1): Store the element size in the cookie. libstdc++-v3/ * libsupc++/vec.cc (__cxa_vec_new2, __cxa_vec_new3): Store the element size in the cookie. testsuite/ * g++.old-deja/g++.abi/arraynew.C: Handle ARM EABI cookies. * g++.old-deja/g++.abi/cxa_vec.C: Allocate larger cookies for AEABI. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83854 138bc75d-0d04-0410-961f-82ee72b054a4
* * lrealpath.c (lrealpath): Add _WIN32 support.dannysmith2004-06-292-0/+34
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83853 138bc75d-0d04-0410-961f-82ee72b054a4
* cp:nathan2004-06-294-10/+29
| | | | | | | | | | | | | PR c++/16260 * parser.c (cp_parser_template_declaration_after_export): Disable access checks here ... (cp_parser_class_specifier): ... not here. testsuite: PR c++/16260 * g++.dg/parse/crash15.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83851 138bc75d-0d04-0410-961f-82ee72b054a4
* configure.ac (AC_CHECK_HEADERS): Add dirent.hnickc2004-06-294-34/+73
| | | | | | | | | configure: Regenerate. mf-hooks2.c: Surround uses of dirent.h with #ifdef HAVE_DIRENT_H. Remove spurious inclusion of <strings.h>. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83850 138bc75d-0d04-0410-961f-82ee72b054a4
* * cfglayout.c (fixup_reorder_chain): Don't do anything foramylaar2004-06-292-2/+6
| | | | | | | e_fall->dest == EXIT_BLOCK_PTR. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83849 138bc75d-0d04-0410-961f-82ee72b054a4