billingd [Wed, 30 Jun 2004 11:50:45 +0000 (11:50 +0000)]
2004-06-30 David Billinghurst (David.Billinghurst@riotinto.com)
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
jakub [Wed, 30 Jun 2004 11:44:50 +0000 (11:44 +0000)]
* gcc.dg/compat/struct-by-value-22_main.c: New test.
* 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
dnovillo [Wed, 30 Jun 2004 11:06:28 +0000 (11:06 +0000)]
* tree-ssa-pre.c (phi_trans_add): Use is_gimple_min_invariant
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
ebotcazou [Wed, 30 Jun 2004 10:31:30 +0000 (10:31 +0000)]
RTL prologue/epilogue for SPARC
* 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
jakub [Wed, 30 Jun 2004 10:09:55 +0000 (10:09 +0000)]
* simplify-rtx.c (simplify_binary_operation): Simplify
((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
geoffk [Wed, 30 Jun 2004 09:55:13 +0000 (09:55 +0000)]
* src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
character on Darwin, use '\n\t' instead.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83899
138bc75d-0d04-0410-961f-
82ee72b054a4
steven [Wed, 30 Jun 2004 09:32:41 +0000 (09:32 +0000)]
* config/c4x/c4x.md: Fix comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83898
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Wed, 30 Jun 2004 09:20:18 +0000 (09:20 +0000)]
2004-06-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
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
rearnsha [Wed, 30 Jun 2004 09:17:43 +0000 (09:17 +0000)]
2004-0630 Akos Kiss <akiss@inf.u-szeged.hu>
* 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
steven [Wed, 30 Jun 2004 08:21:54 +0000 (08:21 +0000)]
* intrinsics/rand.c (rand): Wrap the irand() call from the previous
commit in prefix.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83895
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Wed, 30 Jun 2004 06:42:43 +0000 (06:42 +0000)]
* tree.c (build_min_nt, build_min, build_min_non_dep):
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
bothner [Wed, 30 Jun 2004 05:04:38 +0000 (05:04 +0000)]
* config/i386/winnt.c (i386_pe_encode_section_info): Smash rtlname's
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
bothner [Wed, 30 Jun 2004 04:52:11 +0000 (04:52 +0000)]
* jni.cc (_Jv_JNI_NewGlobalRef, JNICALL _Jv_JNI_DeleteGlobalRef,
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
zack [Wed, 30 Jun 2004 03:50:55 +0000 (03:50 +0000)]
* config/ia64/hpux.h: Target does too support thread-local storage.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83891
138bc75d-0d04-0410-961f-
82ee72b054a4
zack [Wed, 30 Jun 2004 03:29:59 +0000 (03:29 +0000)]
Revert accidental commit
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83890
138bc75d-0d04-0410-961f-
82ee72b054a4
zack [Wed, 30 Jun 2004 03:28:31 +0000 (03:28 +0000)]
* combine.c (distribute_notes): Don't look at global_regs for
pseudos.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83889
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Wed, 30 Jun 2004 00:38:18 +0000 (00:38 +0000)]
* gimplify.c (gimplify_modify_expr_rhs): Move immediately before
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
gccadmin [Wed, 30 Jun 2004 00:16:13 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83886
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Tue, 29 Jun 2004 23:19:20 +0000 (23:19 +0000)]
* web.c (union_defs): use all defs of an instruction to create a
union with a read/write use
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83882
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Tue, 29 Jun 2004 23:10:53 +0000 (23:10 +0000)]
PR middle-end/16216
* 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
tobi [Tue, 29 Jun 2004 22:52:58 +0000 (22:52 +0000)]
2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
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
fche [Tue, 29 Jun 2004 22:30:53 +0000 (22:30 +0000)]
2004-06-29 Frank Ch. Eigler <fche@redhat.com>
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
tobi [Tue, 29 Jun 2004 22:11:38 +0000 (22:11 +0000)]
* decl.c, interface.c, symbol.c, trans-common.c: Add 2004 to
copyright years.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83878
138bc75d-0d04-0410-961f-
82ee72b054a4
steven [Tue, 29 Jun 2004 22:01:35 +0000 (22:01 +0000)]
2004-06-29 Steven Bosscher <stevenb@suse.de>
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
tobi [Tue, 29 Jun 2004 21:33:24 +0000 (21:33 +0000)]
Fix ChangeLog entry
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83876
138bc75d-0d04-0410-961f-
82ee72b054a4
tobi [Tue, 29 Jun 2004 21:22:18 +0000 (21:22 +0000)]
Revert previous accidental commit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83875
138bc75d-0d04-0410-961f-
82ee72b054a4
tobi [Tue, 29 Jun 2004 21:18:10 +0000 (21:18 +0000)]
* dump-parse-tree.c (show_common): New function.
(gfc_show_namespace): Show commons.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83874
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 29 Jun 2004 19:31:55 +0000 (19:31 +0000)]
* gcc.dg/compat/vector-defs.h: Use vector_size attribute
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
jakub [Tue, 29 Jun 2004 19:27:07 +0000 (19:27 +0000)]
PR target/16195
* 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
tobi [Tue, 29 Jun 2004 18:57:25 +0000 (18:57 +0000)]
2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
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
tobi [Tue, 29 Jun 2004 18:55:11 +0000 (18:55 +0000)]
* io.c: Add 2004 to copyright years.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83870
138bc75d-0d04-0410-961f-
82ee72b054a4
bryce [Tue, 29 Jun 2004 18:09:58 +0000 (18:09 +0000)]
* testsuite/libjava.compile/PR16249.java: New test case. PR
gcc/16249.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83869
138bc75d-0d04-0410-961f-
82ee72b054a4
tobi [Tue, 29 Jun 2004 18:01:04 +0000 (18:01 +0000)]
2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
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
bryce [Tue, 29 Jun 2004 17:58:44 +0000 (17:58 +0000)]
PR java/1262
* 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
amylaar [Tue, 29 Jun 2004 17:37:13 +0000 (17:37 +0000)]
Fix gcc.dg/builtin-apply2.c failures:
* 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
amylaar [Tue, 29 Jun 2004 17:37:06 +0000 (17:37 +0000)]
Fix gcc.dg/builtin-apply2.c failures:
* 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
tobi [Tue, 29 Jun 2004 17:21:37 +0000 (17:21 +0000)]
fortran/
* 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
sayle [Tue, 29 Jun 2004 17:13:08 +0000 (17:13 +0000)]
* expmed.c (expand_smod_pow2): Provide alternate implementations
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
pinskia [Tue, 29 Jun 2004 17:04:44 +0000 (17:04 +0000)]
2004-06-29 Andrew Pinski <apinski@apple.com>
* 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
tobi [Tue, 29 Jun 2004 17:01:35 +0000 (17:01 +0000)]
fortran/
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
rth [Tue, 29 Jun 2004 16:25:28 +0000 (16:25 +0000)]
* tree-sra.c: Rewrite from scratch. Handle nested aggregates.
* 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
aph [Tue, 29 Jun 2004 16:18:46 +0000 (16:18 +0000)]
2004-06-29 Andrew Haley <aph@redhat.com>
* 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
nathan [Tue, 29 Jun 2004 15:56:17 +0000 (15:56 +0000)]
* vec.h (VEC_T_safe_push, VEC_T_safe_insert): Tweak for when
size_t is bigger than int.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83855
138bc75d-0d04-0410-961f-
82ee72b054a4
pbrook [Tue, 29 Jun 2004 14:50:35 +0000 (14:50 +0000)]
gcc/
* 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
dannysmith [Tue, 29 Jun 2004 11:37:20 +0000 (11:37 +0000)]
* lrealpath.c (lrealpath): Add _WIN32 support.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83853
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Tue, 29 Jun 2004 11:10:11 +0000 (11:10 +0000)]
cp:
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
nickc [Tue, 29 Jun 2004 10:27:15 +0000 (10:27 +0000)]
configure.ac (AC_CHECK_HEADERS): Add dirent.h
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
amylaar [Tue, 29 Jun 2004 10:19:42 +0000 (10:19 +0000)]
* cfglayout.c (fixup_reorder_chain): Don't do anything for
e_fall->dest == EXIT_BLOCK_PTR.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83849
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Tue, 29 Jun 2004 09:53:50 +0000 (09:53 +0000)]
(pthread_join): Only apply the weak pragma if the function actually exists.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83847
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Tue, 29 Jun 2004 06:59:35 +0000 (06:59 +0000)]
* tree-cfg.c (verify_stmt): Add last_in_block parameter. Verify
that eh stmts can throw.
(verify_stmts): Update verify_stmt call.
(tree_purge_dead_eh_edges, tree_purge_all_dead_eh_edges): New.
* tree-eh.c (remove_stmt_from_eh_region): New.
(lower_eh_constructs): Fix throw_stmt_table delete routine.
(tree_could_trap_p): Match may_trap_p.
(maybe_clean_eh_stmt): New.
* tree-flow.h: Update decls.
* tree-ssa-ccp.c (pass_ccp): Add TODO_verify_stmts.
(substitute_and_fold): Clean eh edges.
* tree-ssa-dce.c (mark_control_dependent_edges_necessary): Handle
empty basic blocks.
* tree-ssa-dom.c (need_eh_cleanup): New.
(tree_ssa_dominator_optimize): Allocate it. Cleanup eh edges.
(optimize_stmt): Cleanup eh stmts; set need_eh_cleanup.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83843
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Tue, 29 Jun 2004 03:54:07 +0000 (03:54 +0000)]
* function.c (assign_parms): Don't abort with zero size stack
parm failing the PARM_BOUNDARY check.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83840
138bc75d-0d04-0410-961f-
82ee72b054a4
pinskia [Tue, 29 Jun 2004 03:18:20 +0000 (03:18 +0000)]
2004-06-28 Andrew Pinski <apinski@apple.com>
* gcc.dg/pr14963.c: Remove the dg-warning as it is dected
by the error already.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83839
138bc75d-0d04-0410-961f-
82ee72b054a4
bryce [Tue, 29 Jun 2004 02:20:14 +0000 (02:20 +0000)]
* testsuite/libjava.jacks/jacks.xfail: Remove
8.1.3-superclass-6.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83838
138bc75d-0d04-0410-961f-
82ee72b054a4
dnovillo [Tue, 29 Jun 2004 01:53:04 +0000 (01:53 +0000)]
* common.opt (ftree-fre): New flag.
* flags.h (flag_tree_fre): Declare.
* opts.c (decode_options): Set.
* timevar.def (TV_TREE_FRE): Define.
* tree-flow-inline.h (may_propagate_copy): Re-arrange for
readability. Handle destinations that are not SSA_NAMEs.
* tree-flow.h (struct ptr_info_def): Move from tree.h
(cprop_into_stmt, cprop_into_successor_phis): Remove.
(vn_compute, vn_lookup_or_add, vn_add, vn_lookup): Add
vuse_optype parameter.
* tree-pass.h (pass_fre): Declare.
* tree-ssa-copy.c (cprop_operand): Move to tree-ssa-dom.c
(cprop_into_stmt): Likewise.
(cprop_into_successor_phis): Likewise.
* tree-ssa-dom.c (eliminate_redundant_computations): Fix
argument ordering in call to may_propagate_copy.
* tree-ssa-pre.c (is_undefined_value): Assume hard registers
to be always defined.
(add_to_sets): New local function.
(create_value_expr_from): New local function.
(compute_avail): Call them.
(eliminate): Don't ignore statements with virtual operands.
(init_pre): New local function.
(fini_pre): New local function.
(execute_pre): Call them.
Add argument DO_FRE. Don't do insertion if DO_FRE is true.
(do_pre): New function.
(do_fre): New function.
(gate_fre): New function.
(pass_fre): Declare.
* tree-ssa.c (init_tree_ssa): Don't call vn_init.
(delete_tree_ssa): Don't call vn_delete.
* tree-vn.c (val_expr_pair_d): Add documentation.
(vn_compute): Add VUSES argument to incorporate in computing
hash values. Update all callers.
(expressions_equal_p): Call operand_equal_p with
OEP_PURE_SAME.
(vn_add): Add VUSES argument. Update all callers.
(vn_lookup): Likewise.
(vn_lookup_or_add): Likewise.
* doc/invoke.texi: Document -ftree-fre and -fdump-tree-fre.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83837
138bc75d-0d04-0410-961f-
82ee72b054a4
jlquinn [Tue, 29 Jun 2004 01:39:37 +0000 (01:39 +0000)]
2004-06-28 Jerry Quinn <jlquinn@optonline.net>
* java/beans/Expression.java: New file.
* java/beans/Statement.java: New file.
* Makefile.am: Added new files.
* Makefile.in: Re-generate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83836
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 29 Jun 2004 00:16:15 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83834
138bc75d-0d04-0410-961f-
82ee72b054a4
bryce [Mon, 28 Jun 2004 23:48:33 +0000 (23:48 +0000)]
* jcf-write.c (get_classfile_modifiers): Formatting fixes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83831
138bc75d-0d04-0410-961f-
82ee72b054a4
steven [Mon, 28 Jun 2004 22:39:21 +0000 (22:39 +0000)]
* config/m32r/m32r.c (m32r_sched_odd_word_p, m32r_adjust_cost,
m32r_sched_init, m32r_sched_reorder, m32r_variable_issue): Remove.
(TARGET_SCHED_ADJUST_COST, TARGET_SCHED_VARIABLE_ISSUE,
TARGET_SCHED_INIT, TARGET_SCHED_REORDER): Don't define.
* config/m32r/m32r.md: Rewrite the pipeline description as a DFA.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83829
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Mon, 28 Jun 2004 22:26:24 +0000 (22:26 +0000)]
* tree.def (REALPART_EXPR, IMAGPART_EXPR): Change class to 'r'.
* fold-const.c (operand_equal_p <case 'r'>): Add REALPART_EXPR,
IMAGPART_EXPR.
* tree-dump.c (dequeue_and_dump): Handle REALPART_EXPR and
IMAGPART_EXPR explicitly.
* tree-inline.c (estimate_num_insns_1): Don't handle REALPART_EXPR
and IMAGPART_EXPR specially.
* tree.c (build1_stat): Copy TREE_THIS_VOLATILE into class 'r'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83825
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Mon, 28 Jun 2004 22:14:48 +0000 (22:14 +0000)]
Typo fix.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83819
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Mon, 28 Jun 2004 22:06:17 +0000 (22:06 +0000)]
* config.gcc (sh*-*elf*): Remove dead assignment of sh_multilibs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83818
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Mon, 28 Jun 2004 21:50:51 +0000 (21:50 +0000)]
* builtins.def (execl, execlp, execle, execv, execvp, execve,
fork): Change to DEF_EXT_LIB_BUILTIN.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83817
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Mon, 28 Jun 2004 21:37:16 +0000 (21:37 +0000)]
* decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
and rest_of_type_compilation; add arg to create_*_decl.
(annotate_decl_with_node): Deleted.
(gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
* gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
(get_current_block_context, gnat_pushdecl): New declarations.
(gnat_init_stmt_group): Likewise.
(create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
* misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
(LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
(gnat_init): Call gnat_init_stmt_group.
* trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
(gnu_pending_elaboration_list): Deleted.
(mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
(gigi): Rearrange initialization calls and move some to last above.
(gnat_to_gnu): If statement and not in procedure, go into elab proc.
Delete calls to add_decl_expr; add arg to create_*_decl.
(gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
(gnat_to_gnu, case N_Subprogram_Body): Move some code to
begin_subprog_body and call it.
Don't push and pop ggc context.
(gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
(add_stmt): Remove handling of DECL_EXPR from here.
If not in function, mark visited.
(add_decl_expr): Put global at top level.
Check for cases of DECL_INITIAL we have to handle here.
(process_type): Add extra arg to create_type_decl.
(build_unit_elab): Rework to just gimplify.
* utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
(block_has_vars, mark_visited, add_pending_elaborations): Likewise.
(get_pending_elaborations, pending_elaborations_p): Likewise.
(push_pending_elaborations, pop_pending_elaborations): Likewise.
(get_elaboration_location, insert_elaboration_list): Likewise.
(gnat_binding_level): Renamed from ada_binding_level.
(init_gnat_to_gnu): Don't clear pending_elaborations.
(global_bindings_p): Treat as global if no current_binding_level.
(set_current_block_context): New function.
(gnat_pushdecl): Renamed from pushdecl; major rework.
All callers changed.
(create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
(finish_record_type): Call call pushdecl for stub decl.
(function_nesting_depth): Deleted.
(begin_subprog_body): Delete obsolete code.
* utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83816
138bc75d-0d04-0410-961f-
82ee72b054a4
sayle [Mon, 28 Jun 2004 20:49:37 +0000 (20:49 +0000)]
* expmed.c (expand_smod_pow2): New function to expand signed
remainder by a constant power of 2, such as "x % 16".
(expand_divmod): Call new expand_smod_pow2 when appropriate.
Minor corrections to comments, e.g. wrapping long lines.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83815
138bc75d-0d04-0410-961f-
82ee72b054a4
pinskia [Mon, 28 Jun 2004 19:20:08 +0000 (19:20 +0000)]
2004-06-28 Andrew Pinski <apinski@apple.com>
* g++.dg/opt/ptrmem4.C: Change to compile only test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83808
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Mon, 28 Jun 2004 19:06:25 +0000 (19:06 +0000)]
Check-in change to this file that got left out of last check-in
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83807
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 28 Jun 2004 19:04:03 +0000 (19:04 +0000)]
2004-06-28 Paolo Carlini <pcarlini@suse.de>
* include/bits/cpp_type_traits.h: Move the additions to
namespace __gnu_internal outside of namespace std; trivial
formatting fixes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83806
138bc75d-0d04-0410-961f-
82ee72b054a4
bkoz [Mon, 28 Jun 2004 18:31:18 +0000 (18:31 +0000)]
2004-06-28 Benjamin Kosnik <bkoz@redhat.com>
* include/debug/safe_base.h (__gnu_debug::_Safe_sequence_base):
Revert -Weffc++ changes that defined copy ctory and or assignment
operator.
* libsupc++/tinfo.cc (__upcast_result): Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83804
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Mon, 28 Jun 2004 18:27:02 +0000 (18:27 +0000)]
* Makefile.in (vec.o): Fix dependencies.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83803
138bc75d-0d04-0410-961f-
82ee72b054a4
andreast [Mon, 28 Jun 2004 18:11:47 +0000 (18:11 +0000)]
2004-06-28 Andreas Tobler <a.tobler@schweiz.ch>
* Makefile.in: Fix parallel make dependency problem on vec.o.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83802
138bc75d-0d04-0410-961f-
82ee72b054a4
zack [Mon, 28 Jun 2004 17:52:45 +0000 (17:52 +0000)]
libiberty:
* cp-demangle.h: Declare cplus_demangle_operators,
cplus_demangle_builtin_types, cplus_demangle_mangled_name, and
cplus_demangle_type as static if IN_GLIBCPP_V3.
libobjc:
* encoding.c: Rename target_flags with a #define to avoid
conflict with a prior declaration.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83800
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Mon, 28 Jun 2004 17:36:27 +0000 (17:36 +0000)]
* testsuite/demangle-expected: Add test case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83799
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 28 Jun 2004 16:23:02 +0000 (16:23 +0000)]
PR target/14041
* config/h8300/h8300.h (ASM_OUTPUT_ALIGNED_BSS): Define.
PR target/14041
* gcc.dg/h8300-bss-align-1.c : New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83797
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Mon, 28 Jun 2004 16:10:55 +0000 (16:10 +0000)]
* cp-tree.h (VAR_OR_FUNCTION_DECL_CHECK,
VAR_FUNCTION_OR_PARM_DECL_CHECK, RECORD_OR_UNION_TYPE_CHECK,
BOUND_TEMPLATE_TEMPLATE_PARM_TYPE_CHECK): Use appropriate
TREE_CHECK macro.:qOR_FUNCTION_DECL_CHECK,
* tree.h (tree_check_failed): Make varadic.
(tree_not_check_failed): New prototype.
(tree_check2_failed, tree_check3_failed,
tree_check4_failed, tree_check5_failed): Remove.
(TREE_CHECK, TREE_CHECK2, TREE_CHECK3, TREE_CHECK4,
TREE_CHECK5): Adjust.
(TREE_NOT_CHECK, TREE_NOT_CHECK2, TREE_NOT_CHECK3, TREE_NOT_CHECK4,
TREE_NOT_CHECK5): New.
(TREE_VEC_ELT_CHECK, PHI_NODE_ELT_CHECK, TREE_OPERAND_CHECK_CODE,
TREE_RTL_OPERAND_CHECK): Adjust.
* tree.c (tree_check_failed): Make varadic.
(tree_not_check_failed): New.
(tree_check2_failed, tree_check3_failed,
tree_check4_failed, tree_check5_failed): Remove.
cp:
* cp-tree.h (VAR_OR_FUNCTION_DECL_CHECK,
VAR_FUNCTION_OR_PARM_DECL_CHECK, RECORD_OR_UNION_TYPE_CHECK,
BOUND_TEMPLATE_TEMPLATE_PARM_TYPE_CHECK): Use appropriate
TREE_CHECK macro.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83796
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Mon, 28 Jun 2004 15:23:33 +0000 (15:23 +0000)]
PR other/16240
* cp-demangle.c (d_expr_primary): Check for a failure return from
cplus_demangle_type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83791
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Mon, 28 Jun 2004 15:06:06 +0000 (15:06 +0000)]
* cp-tree.h (struct deferred_access): Move to ...
* semantics.c (struct deferred_access): ... here. Adjust.
(deferred_access_stack): Make a VEC(deferred_access),
(deferred_access_free_list): Remove.
(deferred_access_no_check): New.
(push_deferring_access_checks, resume_deferring_access_checks,
stop_deferring_access_checks, pop_deferring_access_checks,
get_deferred_access_checks, pop_to_parent_deferring_access_checks,
perform_deferred_access_checks, perform_or_defer_access_check): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83790
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 28 Jun 2004 14:37:05 +0000 (14:37 +0000)]
2004-06-28 Robert Dewar <dewar@gnat.com>
* mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting
* exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
deal with problem of inefficient slices on machines with strict
alignment, when the slice is a component of a composite.
* checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
machines, we need the check there as well.
2004-06-28 Ed Schonberg <schonberg@gnat.com>
* exp_ch5.adb (Expand_Assign_Array): Use correct condition to
determine safe copying direction for overlapping slice assignments
when component is controlled.
* sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
formal derived type in the actual for a formal package are visible in
the enclosing instance.
2004-06-28 Ed Schonberg <schonberg@gnat.com>
PR ada/15600
* sem_util.adb (Trace_Components): Diagnose properly an illegal
circularity involving a private type whose completion includes a
self-referential component.
(Enter_Name): Use Is_Inherited_Operation to distinguish a source
renaming or an instantiation from an implicit derived operation.
2004-06-28 Pascal Obry <obry@gnat.com>
* mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
DLL.
(Library_File_Name_For): Idem.
2004-06-28 Matthew Gingell <gingell@gnat.com>
* g-traceb.ads: Add explanatory note on the format of addresses
expected by addr2line.
2004-06-28 Jerome Guitton <guitton@act-europe.fr>
* Makefile.in: Force debugging information on s-tasdeb.adb,
a-except.adb and s-assert.adb needed by the debugger.
2004-06-28 Vincent Celier <celier@gnat.com>
* make.adb (Collect_Arguments_And_Compile): Change Flag1 to
Need_To_Build_Lib.
(Gnatmake): Ditto.
* mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
* prj.adb: Minor reformatting
(Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
* prj.ads: Comment updates
Minor reformatting
(Project_Data): Change Flag1 to Need_To_Build_Lib.
Remove Flag2: not used.
* prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
declaration.
* gnat_ugn.texi: Put a "null;" declaration in one project file example
* gnat_rm.texi: Document Empty declarations "null;".
* makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
front of the linker options.
(Link_Foreign): Put the global archives and the libraries in front of
the linker options.
2004-06-28 Javier Miranda <miranda@gnat.com>
* rtsfind.adb: (Get_Unit_Name): Fix typo in comment
(RTU_Loaded): Code cleanup
(Set_RTU_Loaded): New procedure to register as *loaded* explicitly
withed predefined units.
* rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
explicitly withed predefined units.
Fix typo in comment
* sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
explicitly withed predefined units.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83789
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Mon, 28 Jun 2004 13:11:44 +0000 (13:11 +0000)]
* combine.c (can_combine_p): Do not prevent building insns that use
and clobber the same fixed hard register.
(reg_dead_at_p): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83785
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Mon, 28 Jun 2004 12:12:51 +0000 (12:12 +0000)]
* tree-sra.c (is_sra_candidate_ref): Remove second arg; all callers
changed.
(is_sra_candidate_complex_ref): New function.
(scalarize_modify_expr): Call it and check for LHS also.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83784
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Mon, 28 Jun 2004 12:08:20 +0000 (12:08 +0000)]
* tree-pretty-print.c (dump_function_declaration): New.
(dump_generic_node, case FUNCTION_TYPE): Call it.
(dump_generic_node, case RECORD_TYPE): Don't output dup semicolon.
(dump_generic_node, case DECL_EXPR): New case.
(dump_generic_node, case PLACEHOLDER_EXPR): Handle.
(print_declaration): Handle type and function declarations.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83782
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Mon, 28 Jun 2004 12:01:30 +0000 (12:01 +0000)]
* tree-nested.c (create_tmp_var_for): Allow ARRAY_TYPE.
(convert_nonlocal_reference, convert_local_reference): Properly
convert nest of handled component references.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83781
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Mon, 28 Jun 2004 11:55:48 +0000 (11:55 +0000)]
Add ChangeLog entry not commited due to typo in CVS command
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83780
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 28 Jun 2004 11:18:03 +0000 (11:18 +0000)]
2004-06-28 Paolo Carlini <pcarlini@suse.de>
* src/localename.cc (locale::_Impl::_Impl): Slightly improve
the algorithm used to name the categories.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83778
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Mon, 28 Jun 2004 11:14:44 +0000 (11:14 +0000)]
2004-06-28 Paolo Bonzini <bonzini@gnu.org>
* include/Makefile.am: Give a .gch extension to
the PCH files, not only to the directory.
* include/Makefile.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83777
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Mon, 28 Jun 2004 11:07:23 +0000 (11:07 +0000)]
cp:
PR C++/16174
* call.c (build_temp): Declare.
(check_constructor_callable): New.
(reference_binding): Only set CHECK_COPY_CONSTRUCTOR if not for
CONSTRUCTOR_CALLABLE.
(convert_like_real, initialize_reference): Use
check_constructor_callable.
* cp-tree.h (LOOKUP_CONSTRUCTOR_CALLABLE): New.
(LOOKUP_*): Renumber.
testsuite:
* PR C++/16174
* g++.dg/template/ctor4.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83775
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Mon, 28 Jun 2004 10:54:57 +0000 (10:54 +0000)]
fix typo
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83774
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Mon, 28 Jun 2004 10:41:19 +0000 (10:41 +0000)]
* friend.c (add_friend): Only perform access checks when context
is a class.
* lex.c (cxx_make_type): Only create a binfo for aggregate types.
* parser.c (cp_parser_class_specifier): Disable access checks here
when parsing the body of a templated class.
* semantics.c (perform_or_defer_access_checks): Reorder to allow
NULL binfos when not checking access.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83771
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Mon, 28 Jun 2004 10:34:42 +0000 (10:34 +0000)]
Use vector API for vbase list.
* cp-tree.h: Include vec.h
(DEF_VEC_P (tree)): New type.
(struct lang_type_class): Change vbase's member type.
(binfo_for_vbase): Declare.
* class.c (determine_primary_base, base_derived_from,
update_vtable_entry_for_fn, walk_subobject_offsets, end_of_class,
warn_about_ambiguous_bases, dfs_accumulate_vtbl_inits,
build_vtbl_initializer): Adjust.
* decl.c (xref_basetypes): Adjust, accumulate upper bound of
vbases.
* init.c (sort_mem_initializers, expand_member_init,
push_base_cleanups): Adjust.
* method.c (do_build_copy_constructor): Adjust.
* search.c (get_pure_virtuals, copied_binfo, original_binfo): Adjust.
(binfo_for_vbase): New.
* tree.c (copy_base_binfos): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83770
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Mon, 28 Jun 2004 10:30:21 +0000 (10:30 +0000)]
* vec.h, vec.c: New, type safe vector API.
* Makefile.in (OBJS-common): Add vec.o.
(vec.o): New target.
(gengtype-lex.o): Depend on vec.h.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83769
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Mon, 28 Jun 2004 10:16:00 +0000 (10:16 +0000)]
2004-06-28 Paolo Bonzini <bonzini@gnu.org>
* fold-const.c (fold_cond_expr_with_comparison): Add ARG1
parameter. Use it instead of ARG00 to produce the result.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83768
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 28 Jun 2004 09:27:18 +0000 (09:27 +0000)]
2004-06-28 Paolo Carlini <pcarlini@suse.de>
* config/locale/gnu/monetary_members.cc
(moneypunct<wchar_t>::_M_initialize_moneypunct): Clean up
assignments of _M_decimal_point and _M_thousands_sep.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83767
138bc75d-0d04-0410-961f-
82ee72b054a4
aoliva [Mon, 28 Jun 2004 08:13:06 +0000 (08:13 +0000)]
* config/mn10300/mn10300-protos.h (legitimate_address_p): Declare.
* config/mn10300/mn10300.c (legitimate_address_p): New. Test that
index is legitimate, compared with code moved from...
* config/mn10300/mn10300.h (GO_IF_LEGITIMATE_ADDRESS): here.
(REG_STRICT): Define, according to REG_OK_STRICT.
(REGNO_IN_RANGE_P, REGNO_DATA_P, REGNO_ADDRESS_P, REGNO_SP_P,
REGNO_EXTENDED_P, REGNO_AM33_P, REGNO_FP_P): Introduce strict
argument.
(REGNO_STRICT_OK_FOR_BASE_P, REGNO_STRICT_OK_FOR_BIT_BASE_P,
REGNO_STRICT_OK_FOR_INDEX_P): New.
(REGNO_OK_FOR_BASE_P, REG_OK_FOR_BASE_P, REGNO_OK_FOR_BIT_BASE_P,
REG_OK_FOR_BIT_BASE_P, REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P,
RTX_OK_FOR_BASE_P): Use them.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83766
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Mon, 28 Jun 2004 07:39:08 +0000 (07:39 +0000)]
* parser.c (cp_parser_set_decl_spec_type): Fix thinko.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83764
138bc75d-0d04-0410-961f-
82ee72b054a4
bje [Mon, 28 Jun 2004 04:01:27 +0000 (04:01 +0000)]
* doc/cfg.texi (Basic Blocks): Define dominators.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83762
138bc75d-0d04-0410-961f-
82ee72b054a4
pinskia [Mon, 28 Jun 2004 02:14:53 +0000 (02:14 +0000)]
2004-06-27 Andrew Pinski <pinskia@physics.uc.edu>
PR c++/16205
* g++.dg/warn/Wsequence-point-1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83760
138bc75d-0d04-0410-961f-
82ee72b054a4
pinskia [Mon, 28 Jun 2004 02:11:55 +0000 (02:11 +0000)]
2004-06-27 Andrew Pinski <pinskia@physics.uc.edu>
PR c++/16205
* c-common.c (warn_for_collisions_1): Warn for only decls which
have a name.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83759
138bc75d-0d04-0410-961f-
82ee72b054a4
pinskia [Mon, 28 Jun 2004 01:58:24 +0000 (01:58 +0000)]
2004-06-27 Andrew Pinski <pinskia@physics.uc.edu>
PR c++/15145
* c.opt (Wsequence-point): Enable for C++ and ObjC++.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83758
138bc75d-0d04-0410-961f-
82ee72b054a4
bdavis [Mon, 28 Jun 2004 01:30:26 +0000 (01:30 +0000)]
2004-06-27 Bud Davis <bdavis9659@comcast.net>
PR gfortran/12839
* io/write.c (write_float): check signbit for Infinity.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83757
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 28 Jun 2004 00:16:15 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83755
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 28 Jun 2004 00:16:10 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83754
138bc75d-0d04-0410-961f-
82ee72b054a4