Tobias Burnus [Sun, 19 Aug 2007 20:08:14 +0000 (22:08 +0200)]
[multiple changes]
2007-08-18 Tobias Burnus <burnus@net-b.de>
* gfortran.h (gfc_is_intrinsic_typename): Add declaration.
* symbol.c (gfc_is_intrinsic_typename): New function.
* parse.c (decode_statement): Check for space in ABSTRACT INTERFACE.
(parse_interface): Use gfc_is_intrinsic_typename.
* decl.c (gfc_match_derived_decl): Ditto.
* module.c (gfc_match_use): Use gcc_unreachable() for
INTERFACE_ABSTRACT in switch().
2007-08-19 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/interface_abstract_2.f90: New.
* gfortran.dg/interface_abstract_1.f90: Fix typo.
From-SVN: r127626
Andrew Pinski [Sun, 19 Aug 2007 18:33:06 +0000 (11:33 -0700)]
tree-pretty-print.c (debug_generic_expr): Add a comment about the function.
2007-08-19 Andrew Pinski <pinskia@gmail.com>
* tree-pretty-print.c (debug_generic_expr): Add a comment about
the function.
(debug_generic_stmt): Likewise.
(debug_tree_chain): Likewise.
From-SVN: r127625
Dorit Nuzman [Sun, 19 Aug 2007 12:02:48 +0000 (12:02 +0000)]
tree-data-refs.c (split_constant_offset): Expose.
* tree-data-refs.c (split_constant_offset): Expose.
* tree-data-refs.h (split_constant_offset): Add declaration.
* tree-vectorizer.h (dr_alignment_support): Renamed
dr_unaligned_software_pipeline to dr_explicit_realign_optimized.
Added a new value dr_explicit_realign.
(_stmt_vec_info): Added new fields: dr_base_address, dr_init,
dr_offset, dr_step, and dr_aligned_to, along with new access
functions for these fields: STMT_VINFO_DR_BASE_ADDRESS,
STMT_VINFO_DR_INIT, STMT_VINFO_DR_OFFSET, STMT_VINFO_DR_STEP, and
STMT_VINFO_DR_ALIGNED_TO.
* tree-vectorizer.c (vect_supportable_dr_alignment): Add
documentation.
In case of outer-loop vectorization with non-fixed misalignment - use
the dr_explicit_realign scheme instead of the optimized realignment
scheme.
(new_stmt_vec_info): Initialize new fields.
* tree-vect-analyze.c (vect_compute_data_ref_alignment): Handle the
'nested_in_vect_loop' case. Change verbosity level.
(vect_analyze_data_ref_access): Handle the 'nested_in_vect_loop' case.
Don't fail on zero step in the outer-loop for loads.
(vect_analyze_data_refs): Call split_constant_offset to calculate base,
offset and init relative to the outer-loop.
* tree-vect-transform.c (vect_create_data_ref_ptr): Replace the unused
BSI function argument with a new function argument - at_loop.
Simplify the condition that determines STEP. Takes additional argument
INV_P. Support outer-loop vectorization (handle the nested_in_vect_loop
case), including zero step in the outer-loop. Call
vect_create_addr_base_for_vector_ref with additional argument.
(vect_create_addr_base_for_vector_ref): Takes additional argument LOOP.
Updated function documentation. Handle the 'nested_in_vect_loop' case.
Fixed and simplified calculation of step.
(vectorizable_store): Call vect_create_data_ref_ptr with loop instead
of bsi, and with additional argument. Call bump_vector_ptr with
additional argument. Fix typos. Handle the 'nested_in_vect_loop' case.
(vect_setup_realignment): Takes additional arguments INIT_ADDR and
DR_ALIGNMENT_SUPPORT. Returns another value AT_LOOP. Handle the case
when the realignment setup needs to take place inside the loop. Support
the dr_explicit_realign scheme. Allow generating the optimized
realignment scheme for outer-loop vectorization. Added documentation.
(vectorizable_load): Support the dr_explicit_realign scheme. Handle the
'nested_in_vect_loop' case, including loads that are invariant in the
outer-loop and the realignment schemes. Handle the case when the
realignment setup needs to take place inside the loop. Call
vect_setup_realignment with additional arguments. Call
vect_create_data_ref_ptr with additional argument and with loop instead
of bsi. Fix 80-column overflow. Fix typos. Rename PHI_STMT to PHI.
(vect_gen_niters_for_prolog_loop): Call
vect_create_addr_base_for_vector_ref with additional arguments.
(vect_create_cond_for_align_checks): Likewise.
(bump_vector_ptr): Updated to support the new dr_explicit_realign
scheme: takes additional argument bump; argument ptr_incr is now
optional; updated documentation.
(vect_init_vector): Takes additional argument (bsi). Use it, if
available, to insert the vector initialization.
(get_initial_def_for_induction): Pass additional argument in call to
vect_init_vector.
(vect_get_vec_def_for_operand): Likewise.
(vect_setup_realignment): Likewise.
(vectorizable_load): Likewise.
From-SVN: r127624
Dorit Nuzman [Sun, 19 Aug 2007 09:39:50 +0000 (09:39 +0000)]
tree-vectorizer.h (vect_is_simple_reduction): Takes a loop_vec_info as argument instead of struct loop.
* tree-vectorizer.h (vect_is_simple_reduction): Takes a loop_vec_info
as argument instead of struct loop.
(nested_in_vect_loop_p): New function.
(vect_relevant): Add enum values vect_used_in_outer_by_reduction and
vect_used_in_outer.
(is_loop_header_bb_p): New. Used to differentiate loop-header phis
from other phis in the loop.
(destroy_loop_vec_info): Add additional argument to declaration.
* tree-vectorizer.c (supportable_widening_operation): Also check if
nested_in_vect_loop_p (don't allow changing the order in this case).
(vect_is_simple_reduction): Takes a loop_vec_info as argument instead
of struct loop. Call nested_in_vect_loop_p and don't require
flag_unsafe_math_optimizations if it returns true.
(new_stmt_vec_info): When setting def_type for phis differentiate
loop-header phis from other phis.
(bb_in_loop_p): New function.
(new_loop_vec_info): Inner-loop phis already have a stmt_vinfo, so just
update their loop_vinfo. Order of BB traversal now matters - call
dfs_enumerate_from with bb_in_loop_p.
(destroy_loop_vec_info): Takes additional argument to control whether
stmt_vinfo of the loop stmts should be destroyed as well.
(vect_is_simple_reduction): Allow the "non-reduction" use of a
reduction stmt to be defines by a non loop-header phi.
(vectorize_loops): Call destroy_loop_vec_info with additional argument.
* tree-vect-transform.c (vectorizable_reduction): Call
nested_in_vect_loop_p. Check for multitypes in the inner-loop.
(vectorizable_call): Likewise.
(vectorizable_conversion): Likewise.
(vectorizable_operation): Likewise.
(vectorizable_type_promotion): Likewise.
(vectorizable_type_demotion): Likewise.
(vectorizable_store): Likewise.
(vectorizable_live_operation): Likewise.
(vectorizable_reduction): Likewise. Also pass loop_info to
vect_is_simple_reduction instead of loop.
(vect_init_vector): Call nested_in_vect_loop_p.
(get_initial_def_for_reduction): Likewise.
(vect_create_epilog_for_reduction): Likewise.
(vect_init_vector): Check which loop to work with, in case there's an
inner-loop.
(get_initial_def_for_inducion): Extend to handle outer-loop
vectorization. Fix indentation.
(vect_get_vec_def_for_operand): Support phis in the case vect_loop_def.
In the case vect_induction_def get the vector def from the induction
phi node, instead of calling get_initial_def_for_inducion.
(get_initial_def_for_reduction): Extend to handle outer-loop
vectorization.
(vect_create_epilog_for_reduction): Extend to handle outer-loop
vectorization.
(vect_transform_loop): Change assert to just skip this case. Add a
dump printout.
(vect_finish_stmt_generation): Add a couple asserts.
(vect_estimate_min_profitable_iters): Multiply
cost of inner-loop stmts (in outer-loop vectorization) by estimated
inner-loop bound.
(vect_model_reduction_cost): Don't add reduction epilogue cost in case
this is an inner-loop reduction in outer-loop vectorization.
* tree-vect-analyze.c (vect_analyze_scalar_cycles_1): New function.
Same code as what used to be vect_analyze_scalar_cycles, only with
additional argument loop, and loop_info passed to
vect_is_simple_reduction instead of loop.
(vect_analyze_scalar_cycles): Code factored out into
vect_analyze_scalar_cycles_1. Call it for each relevant loop-nest.
Updated documentation.
(analyze_operations): Check for inner-loop loop-closed exit-phis during
outer-loop vectorization that are live or not used in the outerloop,
cause this requires special handling.
(vect_enhance_data_refs_alignment): Don't consider versioning for
nested-loops.
(vect_analyze_data_refs): Check that there are no datarefs in the
inner-loop.
(vect_mark_stmts_to_be_vectorized): Also consider vect_used_in_outer
and vect_used_in_outer_by_reduction cases.
(process_use): Also consider the case of outer-loop stmt defining an
inner-loop stmt and vice versa.
(vect_analyze_loop_1): New function.
(vect_analyze_loop_form): Extend, to allow a restricted form of nested
loops. Call vect_analyze_loop_1.
(vect_analyze_loop): Skip (inner-)loops within outer-loops that have
been vectorized. Call destroy_loop_vec_info with additional argument.
* tree-vect-patterns.c (vect_recog_widen_sum_pattern): Don't allow
in the inner-loop when doing outer-loop vectorization. Add
documentation and printout.
(vect_recog_dot_prod_pattern): Likewise. Also add check for
GIMPLE_MODIFY_STMT (in case we encounter a phi in the loop).
From-SVN: r127623
Dorit Nuzman [Sun, 19 Aug 2007 09:32:22 +0000 (09:32 +0000)]
pr20122.c: Fix test (now vectorized, with versioning for aliasing).
* testsuite/gcc.dg/vect/pr20122.c: Fix test (now vectorized, with
versioning for aliasing).
* testsuite/gcc.dg/vect/vect-35.c: Likewise.
* testsuite/gcc.dg/vect/vect-iv-6.c: Fix test for vect_no_align targets.
* testsuite/gcc.dg/vect/vect-multitypes-11.c: Likewise.
From-SVN: r127621
Roger Sayle [Sun, 19 Aug 2007 01:52:23 +0000 (01:52 +0000)]
primary.c (match_logical_constant_string): New function to match a ".true." or a ".false.".
* primary.c (match_logical_constant_string): New function to match
a ".true." or a ".false.".
(match_logical_constant): Use it instead of gfc_match_strings.
From-SVN: r127620
GCC Administrator [Sun, 19 Aug 2007 00:18:54 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r127618
Andrew Pinski [Sat, 18 Aug 2007 20:53:02 +0000 (13:53 -0700)]
tree-affine.h (print_aff): New prototype.
2007-08-18 Andrew Pinski <pinskia@gmail.com>
* tree-affine.h (print_aff): New prototype.
(debug_aff): Likewise.
* tree-affine.c (print_aff): New function.
(debug_aff): Likewise.
From-SVN: r127615
Tom Tromey [Sat, 18 Aug 2007 17:54:11 +0000 (17:54 +0000)]
re PR preprocessor/32974 (#pragma GCC dependency generates extra token error.)
gcc/testsuite
PR preprocessor/32974:
* gcc.dg/cpp/pr32974.c: New file.
libcpp
PR preprocessor/32974:
* directives.c (parse_include): Don't check for EOL when
processing #pragma dependency.
From-SVN: r127614
Paul Brook [Sat, 18 Aug 2007 15:15:39 +0000 (15:15 +0000)]
Makefile.tpl (DEBUG_PREFIX_CFLAGS_FOR_TARGET): New.
2007-08-18 Paul Brook <paul@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
* Makefile.tpl (DEBUG_PREFIX_CFLAGS_FOR_TARGET): New.
(CFLAGS_FOR_TARGET, CXXFLAGS_FOR_TARGET): Include it.
* Makefile.in: Regenerate.
* configure.ac (--with-debug-prefix-map): New.
* configure: Regenerate.
config:
2007-08-18 Paul Brook <paul@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
* mt-gnu (CXXFLAGS_FOR_TARGET): Add
$(DEBUG_PREFIX_CFLAGS_FOR_TARGET).
gcc:
2007-08-18 Paul Brook <paul@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
* common.opt (-fdebug-prefix-map=): New option.
* opts.c: Include debug.h.
(common_handle_option): Handle -fdebug-prefix-map.
* final.c: Include ggc.h.
(struct debug_prefix_map, debug_prefix_maps, add_debug_prefix_map,
remap_debug_filename): New.
* Makefile.in (final.o, opts.o): Update dependencies.
* debug.h (remap_debug_filename, add_debug_prefix_map): Declare.
* configure.ac: Check for assembler --debug-prefix-map support.
* configure, config.in: Regenerate.
* gcc.c (ASM_MAP): Define conditional on HAVE_AS_DEBUG_PREFIX_MAP.
(ASM_DEBUG_SPEC): Include ASM_MAP.
* doc/install.texi (--with-debug-prefix-map): Document.
* doc/invoke.texi (-fdebug-prefix-map): Document.
* dbxout.c (dbxout_init, dbxout_start_source_file,
dbxout_source_file): Call remap_debug_filename.
* dwarf2out.c (add_comp_dir_attribute, maybe_emit_file,
dwarf2out_start_source_file, dwarf2out_finish): Call
remap_debug_filename.
(file_table_relative_p): Do not check d->emitted_number.
* toplev.c (output_file_directive): Call remap_debug_filename.
* vmsdbgout.c (write_srccorr): Call remap_debug_filename.
* xcoffout.c (xcoffout_source_file): Call remap_debug_filename.
Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
From-SVN: r127613
Tobias Burnus [Sat, 18 Aug 2007 14:57:21 +0000 (16:57 +0200)]
[multiple changes]
2007-08-18 Paul Thomas <pault@gcc.gnu.org>
Janus Weil <jaydub66@gmail.com>
* interface.c (gfc_match_interface,gfc_match_abstract_interface,
gfc_match_end_interface,gfc_add_interface): Add abstract interface.
* dump-parse-tree.c (gfc_show_attr): Ditto.
* gfortran.h (interface_type,symbol_attribute): Ditto.
* module.c (gfc_match_use,ab_attribute,attr_bits,
mio_symbol_attribute): Ditto.
* resolve.c (resolve_function): Ditto.
* match.h: Ditto.
* parse.c (decode_statement): Ditto.
(parse_interface): Ditto, check for C1203 (name of abstract interface
cannot be the same as an intrinsic type).
* decl.c (gfc_match_bind_c): Check for NAME= with abstract interfaces.
(access_attr_decl): Handle Abstract interfaces.
2007-08-17 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/interface_abstract_1.f90: New.
From-SVN: r127612
Paul Thomas [Sat, 18 Aug 2007 10:47:58 +0000 (10:47 +0000)]
re PR fortran/32881 (PURE attribute escapes from contained procedure)
2007-08-18 Paul Thomas <pault@gcc.gnu.org>
PR fortran/32881
* expr.c (gfc_check_pointer_assign): If the rhs is the
initialization expression for the rhs, there is no error.
2007-08-18 Paul Thomas <pault@gcc.gnu.org>
PR fortran/32881
* gfortran.dg/pure_initializer_1.f90: New test.
From-SVN: r127611
Paul Thomas [Sat, 18 Aug 2007 08:34:42 +0000 (08:34 +0000)]
re PR fortran/32875 (Not Implemented: complex character array constructor)
2007-08-18 Paul Thomas <pault@gcc.gnu.org>
PR fortran/32875
* trans-array.c (get_array_ctor_strlen): Set the character
length of a zero length array to zero.
2007-08-18 Paul Thomas <pault@gcc.gnu.org>
PR fortran/32875
* gfortran.dg/array_constructor_18.f90: New test.
From-SVN: r127608
GCC Administrator [Sat, 18 Aug 2007 00:18:03 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r127606
Andrew Pinski [Fri, 17 Aug 2007 22:14:47 +0000 (22:14 +0000)]
re PR c++/28989 (post-increment of bool variable accepted as lvalue)
2007-08-17 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR c++/28989
* tree.c (lvalue_p_1 <case SAVE_EXPR>): SAVE_EXPRs are never
lvalues.
2007-08-17 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR c++/28989
* g++.dg/expr/lval3.C: New test.
* g++.dg/expr/lval4.C: New test.
From-SVN: r127603
Tom Tromey [Fri, 17 Aug 2007 22:08:04 +0000 (22:08 +0000)]
typeck.c (find_method_in_interfaces): Update.
* typeck.c (find_method_in_interfaces): Update.
* jcf-parse.c (load_class): Update.
* java-gimplify.c (java_gimplify_component_ref): Removed.
(java_gimplify_modify_expr): Update. Removed pre_p and post_p
arguments.
(java_gimplify_expr): Update.
* decl.c (java_init_decl_processing): Update.
* class.c (set_constant_value): Update.
(make_class_data): Update.
(finish_class): Update.
(build_static_field_ref): Update.
(is_compiled_class): Update.
(maybe_layout_super_class): Update.
(layout_class): Update.
(layout_class_method): Update.
* java-tree.h (CAN_COMPLETE_NORMALLY): Removed.
(lang_decl_var) <am, final_iud, cif>: Removed fields.
(lang_decl_func) <init_calls_this>: Removed field.
(lang_type) <dot_class, verify_method>: Removed fields.
(FIELD_NESTED_ACCESS): Removed.
(FIELD_NESTED_ACCESS_P): Removed.
(DECL_FIELD_FINAL_IUD): Removed.
(DECL_LOCAL_FINAL_IUD): Removed
(LOCAL_FINAL_P): Removed.
(FINAL_VARIABLE_P): Removed.
(CLASS_FINAL_VARIABLE_P): Removed.
(DECL_BIT_INDEX): Removed.
(DECL_INIT_CALLS_THIS): Removed.
(FIELD_LOCAL_ALIAS): Removed.
(FIELD_LOCAL_ALIAS_USED): Removed.
(FIELD_THISN): Removed.
(DECL_FUNCTION_INIT_TEST_CLASS): Removed.
(LOCAL_CLASS_INITIALIZATION_FLAG): Removed.
(LOCAL_CLASS_INITIALIZATION_FLAG_P): Removed.
(TYPE_DOT_CLASS): Removed.
(TYPE_VERIFY_METHOD): Removed.
(ID_CLASSDOLLAR_P): Removed.
(enum java_tree_index) <JTI_CLASSDOLLAR_IDENTIFIER_NODE>:
Removed.
(classdollar_identifier_node): Removed.
(TYPE_UNKNOWN): Removed.
(CLASS_FROM_SOURCE_P): Removed.
* expr.c (build_jni_stub): Update.
(force_evaluation_order): Update.
(build_java_empty_stmt): Update.
(build_class_init): Update.
(java_stack_swap): Update.
(build_jni_stub): Update.
From-SVN: r127602
Ollie Wild [Fri, 17 Aug 2007 21:42:38 +0000 (21:42 +0000)]
re PR c++/31749 (ICE with invalid redeclaration of builtin)
PR c++/31749
gcc/cp/
* name-lookup.c (do_nonmember_using_decl): Shift implicit type
declarations into appropriate slots for comparison. Fix type
comparison.
gcc/testsuite/
* g++.dg/lookup/builtin3.C: New test.
* g++.dg/lookup/builtin4.C: New test.
* g++.dg/lookup/using19.C: New test.
From-SVN: r127600
Paolo Carlini [Fri, 17 Aug 2007 21:31:40 +0000 (21:31 +0000)]
re PR c++/32190 (wrong error recovery on parsing template arguments)
2007-08-17 Paolo Carlini <pcarlini@suse.de>
PR c++/32190
* g++.dg/parse/error31.C: New.
From-SVN: r127597
Paolo Carlini [Fri, 17 Aug 2007 20:46:59 +0000 (20:46 +0000)]
re PR c++/32112 (#'unbound_class_template' not supported by dump_decl#)
/cp
2007-08-17 Paolo Carlini <pcarlini@suse.de>
PR c++/32112
* error.c (dump_decl): Deal with UNBOUND_CLASS_TEMPLATE.
* cxx-pretty-print.c (pp_cxx_unqualified_id): Likewise.
/testsuite
2007-08-17 Paolo Carlini <pcarlini@suse.de>
PR c++/32112
* g++.dg/template/error26.C: New.
From-SVN: r127596
Michael Snyder [Fri, 17 Aug 2007 19:28:22 +0000 (19:28 +0000)]
make-relative-prefix.c (make_relative_prefix_1): Resource leaks.
2007-08-17 Michael Snyder <msnyder@access-company.com>
* make-relative-prefix.c (make_relative_prefix_1): Resource leaks.
From-SVN: r127595
Kaveh R. Ghazi [Fri, 17 Aug 2007 17:56:28 +0000 (17:56 +0000)]
loop-invariant.c (find_invariants_to_move): Add missing macro argument.
* loop-invariant.c (find_invariants_to_move): Add missing macro
argument.
From-SVN: r127591
Daniel Jacobowitz [Fri, 17 Aug 2007 17:24:22 +0000 (17:24 +0000)]
re PR testsuite/31884 (priority_queue_dijkstra.cc operates on deallocated memory)
PR testsuite/31884
* testsuite/ext/pb_ds/example/priority_queue_dijkstra.cc (main): Do
not access deleted nodes.
* testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc,
testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc,
testsuite/27_io/basic_filebuf/open/char/4.cc,
testsuite/27_io/objects/char/9.cc: Use dg-require-fileio.
* testsuite/ext/forced_exception_error/cons_virtual_derivation.cc,
testsuite/ext/pb_ds/regression/hash_data_map_rand.cc,
testsuite/ext/pb_ds/regression/trie_data_map_rand.cc,
testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc,
testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc,
testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc,
testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc,
testsuite/ext/pb_ds/regression/priority_queue_rand.cc,
testsuite/ext/pb_ds/regression/tree_data_map_rand.cc,
testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc,
testsuite/ext/throw_allocator/deallocate_global.cc,
testsuite/ext/throw_allocator/check_delete.cc,
testsuite/ext/throw_allocator/check_allocate_max_size.cc,
testsuite/ext/throw_allocator/check_deallocate_null.cc,
testsuite/ext/throw_allocator/check_new.cc,
testsuite/ext/throw_allocator/deallocate_local.cc,
testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/cons/gen1.cc,
testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/cons/gen1.cc,
testsuite/tr1/5_numerical_facilities/random/linear_congruential/cons/gen1.cc,
testsuite/tr1/5_numerical_facilities/random/mersenne_twister/cons/gen1.cc,
testsuite/23_containers/list/modifiers/insert/25288.cc: Use
dg-require-time.
From-SVN: r127590
Paolo Carlini [Fri, 17 Aug 2007 16:50:35 +0000 (16:50 +0000)]
typedefs_neg.cc: Adjust dg-error lines.
2007-08-17 Paolo Carlini <pcarlini@suse.de>
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
dg-error lines.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Ditto.
From-SVN: r127589
Chris Fairles [Fri, 17 Aug 2007 16:39:10 +0000 (16:39 +0000)]
re PR libstdc++/33098 ([c++0x] __is_convertible_helper in type_traits uses deprecated add_reference)
2007-08-17 Chris Fairles <chris.fairles@gmail.com>
PR libstdc++/33098
* include/std/type_traits (__is_convertible_helper):
Use add_lvalue_reference.
From-SVN: r127588
Tom Tromey [Fri, 17 Aug 2007 15:19:39 +0000 (15:19 +0000)]
tree.h (struct tree_label_decl): Removed old "java" fields.
gcc:
* tree.h (struct tree_label_decl): Removed old "java" fields.
gcc/java:
* java-tree.h (LABEL_TYPE_STATE): Removed.
(load_type_state): Removed.
(LABEL_PC): Removed.
(LABEL_VERIFIED): Removed.
(type_states): Declare.
* expr.c (type_states): New global.
(load_type_state): Now static. Use type_states. Changed
argument.
(lookup_label): Don't set LABEL_PC.
(expand_byte_code): Don't use LABEL_VERIFIED.
(note_instructions): Initialize type_states.
* verify-glue.c (vfy_note_stack_depth): Rewrote.
(vfy_note_stack_type): Use type_states.
(vfy_note_local_type): Likewise.
From-SVN: r127587
Richard Sandiford [Fri, 17 Aug 2007 13:12:22 +0000 (13:12 +0000)]
mt-sde: New file.
2007-08-17 Richard Sandiford <richard@codesourcery.com>
Nigel Stephens <nigel@mips.com>
* config/mt-sde: New file.
* configure.ac (mips*-sde-elf*): New stanza. Use config/mt-sde
as target_makefile_frag.
* configure: Regenerate.
gcc/
2007-08-17 Richard Sandiford <richard@codesourcery.com>
Nigel Stephens <nigel@mips.com>
* config/mips/sde.h (DRIVER_SELF_SPECS): Add commas.
Treat -mno-data-in-code and -mcode-xonly as aliases for
-mcode-readable=no and -mcode-readable=pcrel respectively.
* config/mips/t-sde (TARGET_LIBGCC2_CFLAGS): Add -mcode-xonly.
(MULTILIB_OPTIONS): Add -mcode-readable=no multilibs.
(MULTILIB_DIRNAMES): Update accordingly.
Co-Authored-By: Nigel Stephens <nigel@mips.com>
From-SVN: r127586
Francois-Xavier Coudert [Fri, 17 Aug 2007 13:09:23 +0000 (13:09 +0000)]
re PR libfortran/33079 (Optional empty strings do not appear to be 'PRESENT')
PR fortran/33079
* intrinsics/string_intrinsics.c (string_trim, string_minmax): Fix
the zero-length result case.
* gfortran.dg/zero_length_2.f90: New test.
From-SVN: r127584
H.J. Lu [Fri, 17 Aug 2007 13:08:36 +0000 (06:08 -0700)]
Makefile.in (version.o): Depend on $(REVISION) only if REVISION_s is defined.
2007-08-17 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.in (version.o): Depend on $(REVISION) only if
REVISION_s is defined.
From-SVN: r127583
Tobias Burnus [Fri, 17 Aug 2007 11:01:56 +0000 (13:01 +0200)]
kind_tests_2.f03: Add cleanup-modules.
2007-08-17 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/kind_tests_2.f03: Add cleanup-modules.
* gfortran.dg/kind_tests_3.f03: Ditto.
* gfortran.dg/global_vars_f90_init.f90: Ditto.
* gfortran.dg/interface_13.f90: Ditto.
* gfortran.dg/pr32738.f90: Ditto.
* gfortran.dg/module_private_1.f90: Ditto.
* gfortran.dg/test_only_clause.f90: Ditto.
* gfortran.dg/bind_c_vars.f90: Ditto.
* gfortran.dg/bind_c_dts.f90: Ditto.
* gfortran.dg/use_9.f90: Ditto.
* gfortran.dg/generic_8.f90: Ditto.
* gfortran.dg/bind_c_implicit_vars.f03: Ditto.
* gfortran.dg/private_type_6.f90: Ditto.
* gfortran.dg/c_assoc.f90: Ditto.
* gfortran.dg/private_type_7.f90: Ditto.
* gfortran.dg/global_vars_c_init.f90: Ditto.
* gfortran.dg/bind_c_dts_2.f03: Ditto.
* gfortran.dg/c_f_pointer_tests.f90: Ditto.
* gfortran.dg/c_size_t_test.f03: Ditto.
* gfortran.dg/used_types_12.f90: Ditto.
* gfortran.dg/pr25923.f90: Ditto.
* gfortran.dg/test_com_block.f90: Ditto.
* gfortran.dg/iso_c_binding_rename_1.f03: Ditto.
* gfortran.dg/equiv_constraint_7.f90: Ditto.
* gfortran.dg/com_block_driver.f90: Ditto.
* gfortran.dg/iso_c_binding_rename_2.f03: Ditto.
* gfortran.dg/use_iso_c_binding.f90: Ditto.
* gfortran.dg/c_loc_test.f90: Ditto.
* gfortran.dg/c_ptr_tests.f03: Ditto.
* gfortran.dg/module_interface_1.f90: Ditto.
From-SVN: r127582
Paolo Carlini [Fri, 17 Aug 2007 09:35:23 +0000 (09:35 +0000)]
re PR c++/32870 (Unclear error message when declaring struct in wrong namespace)
/cp
2007-08-17 Paolo Carlini <pcarlini@suse.de>
PR c++/32870
* parser.c (cp_parser_class_head): Improve error message.
/testsuite
2007-08-17 Paolo Carlini <pcarlini@suse.de>
PR c++/32870
* g++.dg/other/error17.C: Adjust.
From-SVN: r127581
Johannes Willkomm [Fri, 17 Aug 2007 09:27:06 +0000 (09:27 +0000)]
re PR libstdc++/33084 (Small typo in valarray header)
2007-08-17 Johannes Willkomm <willkomm@sc.rwth-aachen.de>
PR libstdc++/33084
* include/std/valarray (operator _Op(const _Tp&,
const valarray<>&)): Fix typo.
* testsuite/26_numerics/numeric_arrays/valarray/33084.cc: New.
From-SVN: r127579
Ben Elliston [Fri, 17 Aug 2007 05:24:24 +0000 (15:24 +1000)]
re PR middle-end/32970 (C++ frontend can not handle vector pointer constant parameter)
PR middle-end/32970
gcc/
* tree.c (reconstruct_complex_type): For a pointer to a vector,
use build_qualified_type to retain qualifiers of the base type.
testsuite/
* g++.dg/ext/altivec-14.C: New test.
From-SVN: r127578
Chen Liqin [Fri, 17 Aug 2007 03:38:47 +0000 (03:38 +0000)]
score.md: Update pattern tablejump.
2007-08-17 Chen Liqin <liqin@sunnorth.com.cn>
* config/score/score.md : Update pattern tablejump.
* config/score/score.c : Update score_initialize_trampoline
function.
* config/score/score.h (TRAMPOLINE_TEMPLATE): Added macro.
(TRAMPOLINE_INSNS, TRAMPOLINE_SIZE) Update macro.
* doc/contrib.texi: Add my entry.
From-SVN: r127577
GCC Administrator [Fri, 17 Aug 2007 00:17:35 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r127574
Alexandre Oliva [Fri, 17 Aug 2007 00:00:00 +0000 (00:00 +0000)]
Makefile.def (STAGE2_CFLAGS, [...]): Add to flags_to_pass.
ChangeLog:
* Makefile.def (STAGE2_CFLAGS, STAGE3_CFLAGS, STAGE4_CFLAGS):
Add to flags_to_pass. Adjust uses of BOOT_CFLAGS.
(bootstrap2-debug, bootstrap-debug): New bootstrap stages.
* Makefile.tpl (STAGE2_CFLAGS, STAGE3_CFLAGS, STAGE4_CFLAGS): New.
(do-compare, do-compare3, do-compare-debug): New.
([+compare-target+]): Use them.
contrib/ChangeLog:
* compare-debug: New.
From-SVN: r127570
H.J. Lu [Thu, 16 Aug 2007 21:10:14 +0000 (21:10 +0000)]
Makefile.in (REVISION): New.
2007-08-16 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.in (REVISION): New.
(REVISION_c): New.
(REVISION_s): New.
(version.o): Also depend on $(REVISION). Add
-DREVISION=$(REVISION_s).
* version.c (version_string): Add REVISION.
From-SVN: r127568
Uros Bizjak [Thu, 16 Aug 2007 20:28:43 +0000 (22:28 +0200)]
ssa-dse-10.c: Clean up all dse dump files.
* gcc.dg/tree-ssa/ssa-dse-10.c: Clean up all dse dump files.
* gcc.dg/vect/dump-tree-dceloop-pr26359.c: Clean up all dceloop
dump files.
* gcc.dg/vect/pr25371.c: Clean up vect dump file.
* gcc.dg/vect/pr32366.c: Ditto.
From-SVN: r127567
H.J. Lu [Thu, 16 Aug 2007 19:05:48 +0000 (19:05 +0000)]
gcc_update: Use "svn info" for revision number.
2007-08-16 H.J. Lu <hongjiu.lu@intel.com>
Andreas Schwab <schwab@suse.de>
* gcc_update: Use "svn info" for revision number. Create
gcc/REVISION with branch name and revision number.
Co-Authored-By: Andreas Schwab <schwab@suse.de>
From-SVN: r127566
Uros Bizjak [Thu, 16 Aug 2007 18:30:14 +0000 (20:30 +0200)]
re PR testsuite/33082 (Revision 127491 causes FAIL: gcc.dg/dfp/convert-bfp-fold.c (test for excess errors))
PR testsuite/33082
* gcc.dg/dfp/convert-dfp-fold.c: Use -O2 instead of -O in dg-options.
* gcc.dg/dfp/convert-bfp-fold.c: Ditto.
* gcc.dg/dfp/convert-int-fold.c: Ditto.
* gcc.dg/dfp/operator-arith-fold.c: Ditto.
From-SVN: r127565
Tobias Burnus [Thu, 16 Aug 2007 18:17:46 +0000 (20:17 +0200)]
re PR fortran/33072 ("use mod, only: operator(.sub.)" matches any procedure "sub")
2007-08-16 Tobias Burnus <burnus@net-b.de>
PR fortran/33072
* module.c (gfc_match_use): Mark user operators as such.
(find_use_name_n): Distinguish between operators and other symbols.
(find_use_name,number_use_names,mio_namelist,
load_operator_interfaces,load_generic_interfaces,read_module,
write_generic): Update find_use_name_n calls.
2007-08-16 Tobias Burnus <burnus@net-b.de>
PR fortran/33072
* gfortran.dg/use_9.f90: New.
From-SVN: r127564
Seongbae Park [Thu, 16 Aug 2007 17:36:01 +0000 (17:36 +0000)]
gcov-5.C: New test.
gcc/testsuite/ChangeLog:
2007-08-16 Seongbae Park <seongbae.park@gmail.com>
* g++.dg/gcov/gcov-5.C: New test.
gcc/cp/ChangeLog:
2007-08-16 Seongbae Park <seongbae.park@gmail.com>
* pt.c (instantiate_decl): Set input_location
for the function end.
From-SVN: r127563
Seongbae Park [Thu, 16 Aug 2007 17:30:20 +0000 (17:30 +0000)]
tree-eh.c (lower_try_finally_onedest): Reset the locus of GOTO that's relocated to a different block.
gcc/ChangeLog:
2007-08-16 Seongbae Park <seongbae.park@gmail.com>
* tree-eh.c (lower_try_finally_onedest): Reset the locus
of GOTO that's relocated to a different block.
gcc/testsuite/ChangeLog:
2007-08-16 Seongbae Park <seongbae.park@gmail.com>
* g++.dg/gcov/gcov-4.C: New test.
* lib/gcov.exp (verify-lines): Add support for
checking no-coverage lines.
From-SVN: r127562
Kaveh R. Ghazi [Thu, 16 Aug 2007 14:31:21 +0000 (14:31 +0000)]
c-common.c (const_strip_array_types): New.
* c-common.c (const_strip_array_types): New.
* c-common.h (lang_missing_noreturn_ok_p): Delete.
(const_strip_array_types): New.
* c-objc-common.c (c_disregard_inline_limits,
c_warn_unused_global_decl): Constify.
* c-tree.h (c_disregard_inline_limits, c_warn_unused_global_decl,
c_vla_type_p, c_incomplete_type_error): Likewise.
* c-typeck.c (c_incomplete_type_error, c_vla_type_p): Likewise.
* hooks.c (hook_bool_const_tree_false): New.
* hooks.h (hook_bool_const_tree_false): Likewise.
* langhooks-def.h (lhd_warn_unused_global_decl,
lhd_incomplete_type_error, lhd_expr_size,
lhd_tree_inlining_disregard_inline_limits,
lhd_tree_inlining_auto_var_in_fn_p, lhd_tree_dump_type_quals,
LANG_HOOKS_GENERIC_TYPE_P, LANG_HOOKS_TYPE_MAX_SIZE): Constify.
* langhooks.c (lhd_warn_unused_global_decl,
lhd_incomplete_type_error,
lhd_tree_inlining_disregard_inline_limits,
lhd_tree_inlining_auto_var_in_fn_p, lhd_tree_dump_type_quals,
lhd_expr_size): Likewise.
* langhooks.h (lang_hooks_for_tree_inlining,
lang_hooks_for_tree_dump, lang_hooks_for_types,
lang_hooks_for_decls, lang_hooks): Likewise.
* pointer-set.c (pointer_set_t, pointer_set_create,
pointer_set_contains, insert_aux, pointer_set_insert,
pointer_set_traverse, pointer_map_t, pointer_map_create,
pointer_map_contains, pointer_map_insert, pointer_map_traverse):
Likewise.
* pointer-set.h (pointer_set_contains, pointer_set_insert,
pointer_set_traverse, pointer_map_contains, pointer_map_insert,
pointer_map_traverse): Likewise.
* predict.c (assert_is_empty): Likewise.
* tree-affine.c (free_name_expansion): Likewise.
* tree-cfg.c (edge_to_cases_cleanup): Likewise.
* tree.c (size_in_bytes, max_int_size_in_bytes): Likewise.
* tree.h (size_in_bytes, max_int_size_in_bytes): Likewise.
ada:
* misc.c (gnat_type_max_size): Constify.
cp:
* cp-objcp-common.c (cxx_warn_unused_global_decl, cp_expr_size):
Constify.
* cp-tree.h (local_variable_p, nonstatic_local_decl_p,
class_tmpl_impl_spec_p, cp_auto_var_in_fn_p, cp_type_quals,
cxx_incomplete_type_diagnostic, cxx_incomplete_type_error,
cxx_warn_unused_global_decl, cp_expr_size): Likewise.
* decl.c (local_variable_p, nonstatic_local_decl_p): Likewise.
* tree.c (class_tmpl_impl_spec_p, cp_auto_var_in_fn_p): Likewise.
* typeck.c (cp_type_quals): Likewise.
* typeck2.c (cxx_incomplete_type_diagnostic,
cxx_incomplete_type_error): Likewise.
From-SVN: r127560
Victor Kaplansky [Thu, 16 Aug 2007 14:20:39 +0000 (14:20 +0000)]
tree-vectorizer.c (new_loop_vec_info): Initialize new field.
gcc/ChangeLog
* tree-vectorizer.c (new_loop_vec_info): Initialize new
field.
(destroy_loop_vec_info): Add call to VEC_free.
* tree-vectorizer.h (may_alias_ddrs): Define.
(LOOP_VINFO_MAY_ALIAS_DDRS): Define.
* tree-vect-analyze.c (vect_analyze_data_ref_dependence):
Change reporting to dump.
(vect_is_duplicate_ddr): New.
(vect_mark_for_runtime_alias_test): New.
(vect_analyze_data_ref_dependences) Add call to
vect_mark_for_runtime_alias_test.
(vect_enhance_data_refs_alignment): Define local variable
vect_versioning_for_alias_required, don't perform
peeling for alignment if versioning for alias is
required.
(vect_enhance_data_refs_alignment): Use
PARAM_VECT_MAX_VERSION_FOR_ALIGNMENT_CHECKS instead of
PARAM_VECT_MAX_VERSION_CHECKS.
* tree-vect-transform.c
(vect_create_cond_for_alias_checks): New.
(vect_transform_loop): Add call to
vect_create_cond_for_alias_checks.
(vect_vfa_segment_size): New.
* params.def (PARAM_VECT_MAX_VERSION_FOR_ALIGNMENT_CHECKS):
Rename.
(PARAM_VECT_MAX_VERSION_FOR_ALIAS_CHECKS): Define.
* gcc/doc/invoke.texi
(vect-max-version-for-alignment-checks): Document.
(vect-max-version-for-alias-checks): Document.
(vect-max-version-checks): Remove.
gcc/testsuite/ChangeLog
* gcc.dg/vect/vect-vfa-01.c: New.
* gcc.dg/vect/vect-vfa-02.c: New.
* gcc.dg/vect/vect-vfa-03.c: New.
* gcc.dg/vect/vect-vfa-04.c: New.
* gcc.dg/vect/vect-102a.c, gcc.dg/vect/vect-51.c,
gcc.dg/vect/pr29145.c, gcc.dg/vect/vect-43.c,
gcc.dg/vect/vect-61.c, gcc.dg/vect/vect-53.c,
gcc.dg/vect/vect-45.c, gcc.dg/vect/vect-101.c,
gcc.dg/vect/vect-37.c, gcc.dg/vect/vect-79.c,
gcc.dg/vect/vect-102.c, gcc.dg/vect/vect-dv-2.c,
gcc.dg/vect/vect-57.c, gcc.dg/vect/vect-49.c,
gfortran.dg/vect/pr19049.f90: Rename to start with
prefix no-vfa-.
* gcc.dg/vect/vect.exp: Disable versioning for alias
when test starts with no-vfa-.
* gfortran.dg/vect/vect.exp: Likewise.
From-SVN: r127559
Uros Bizjak [Thu, 16 Aug 2007 14:01:53 +0000 (16:01 +0200)]
i386.md (*rep_movdi_rex64): Emit "rep" prefix on the same line as the instruction for all asm dialects.
* config/i386/i386.md (*rep_movdi_rex64): Emit "rep" prefix on
the same line as the instruction for all asm dialects.
(*rep_movsi): Ditto.
(*rep_movsi_rex64): Ditto.
(*rep_movqi): Ditto.
(*rep_movqi_rex64): Ditto.
(*rep_stosdi_rex64): Ditto.
(*rep_stossi): Ditto.
(*rep_stossi_rex64): Ditto.
(*rep_stosqi): Ditto.
(*rep_stosqi_rex64): Ditto.
(*cmpstrnqi_nz_1): Ditto.
(*cmpstrnqi_nz_rex_1): Ditto.
(*cmpstrnqi_1): Ditto.
(*cmpstrnqi_rex_1): Ditto.
(*strlenqi_1): Ditto.
(*strlenqi_rex_1): Ditto.
* config/i386/sync.md (*sync_compare_and_swap<mode>): Emit "lock"
prefix on the same line as the instruction for all asm dialects.
(sync_double_compare_and_swap<mode>): Ditto.
(*sync_double_compare_and_swapdi_pic): Ditto.
(*sync_compare_and_swap_cc<mode>): Ditto.
(sync_double_compare_and_swap_cc<mode>): Ditto.
(*sync_double_compare_and_swap_ccdi_pic): Ditto.
(sync_old_add<mode>): Ditto.
(sync_add<mode>): Ditto.
(sync_sub<mode>): Ditto.
(sync_ior<mode>): Ditto.
(sync_and<mode>): Ditto.
(sync_xor<mode>): Ditto.
From-SVN: r127558
Arnaud Charlet [Thu, 16 Aug 2007 13:58:54 +0000 (15:58 +0200)]
Add new tests.
From-SVN: r127556
Arnaud Charlet [Thu, 16 Aug 2007 13:51:43 +0000 (15:51 +0200)]
Add new tests.
From-SVN: r127555
Arnaud Charlet [Thu, 16 Aug 2007 13:29:34 +0000 (15:29 +0200)]
Add new tests.
From-SVN: r127554
Arnaud Charlet [Thu, 16 Aug 2007 12:22:05 +0000 (14:22 +0200)]
Resync
From-SVN: r127553
Arnaud Charlet [Thu, 16 Aug 2007 12:21:37 +0000 (14:21 +0200)]
[multiple changes]
2007-08-16 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Add note on preprocessing (output file not written)
2007-08-16 Thomas Quinot <quinot@adacore.com>
* a-tags.adb: Minor reformatting.
2007-08-16 Bob Duff <duff@adacore.com>
* sem_type.ads, sem_ch4.adb: Minor reformatting.
From-SVN: r127552
Vincent Celier [Thu, 16 Aug 2007 12:21:20 +0000 (14:21 +0200)]
vms_conv.adb (Process_Argument): Ensure that project related options are not put in the -cargs section when...
2007-08-16 Vincent Celier <celier@adacore.com>
* vms_conv.adb (Process_Argument): Ensure that project related options
are not put in the -cargs section when using GNAT COMPILE.
From-SVN: r127551
Hristian Kirtchev [Thu, 16 Aug 2007 12:21:07 +0000 (14:21 +0200)]
sem_res.adb (Comes_From_Predefined_Lib_Unit): New.
2007-08-16 Hristian Kirtchev <kirtchev@adacore.com>
Bob Duff <duff@adacore.com>
Nicolas Setton <setton@adacore.com>
* sem_res.adb (Comes_From_Predefined_Lib_Unit): New.
(Resolve): Alphabetize local variables. Add new variable From_Lib. When
the statement which is being resolved comes from a predefined library
unit, all non-predefined library interpretations are skipped.
(Resolve_Op_Concat): If string concatenation was folded in the parser,
but the "&" is user defined, give an error, because the folding would
be wrong.
* sinfo.ads, sinfo.adb (Is_Folded_In_Parser): New flag to indicate that
the parser has folded a long sequence of concatenations of string
literals.
* trans.c (Handled_Sequence_Of_Statements_to_gnu): Mark "JMPBUF_SAVE"
and "JMP_BUF" variables as artificial.
(N_String_Literal): Do not use alloca for very long string literals. Use
xmalloc/free instead. Otherwise the stack might overflow.
* utils.c (init_gigi_decls): Mark "JMPBUF_T" type as created by the
compiler.
From-SVN: r127550
Ed Schonberg [Thu, 16 Aug 2007 12:20:50 +0000 (14:20 +0200)]
sem_disp.adb (Check_Dispatching_Operation): If the operation implements an operation inherited from a progenitor interface...
2007-08-16 Ed Schonberg <schonberg@adacore.com>
* sem_disp.adb (Check_Dispatching_Operation): If the operation
implements an operation inherited from a progenitor interface, verify
that they are subtype-conformant.
From-SVN: r127549
Robert Dewar [Thu, 16 Aug 2007 12:20:32 +0000 (14:20 +0200)]
sem_ch5.adb (Analyze_Assignment): Make sure we still note update in exception case
2007-08-16 Robert Dewar <dewar@adacore.com>
* sem_ch5.adb (Analyze_Assignment): Make sure we still note update in
exception case
From-SVN: r127548
Gary Dismukes [Thu, 16 Aug 2007 12:20:13 +0000 (14:20 +0200)]
sem_ch3.adb (OK_For_Limited_Init_In_05): Allow calls to 'Input to initialize a limited object.
2007-08-16 Gary Dismukes <dismukes@adacore.com>
Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (OK_For_Limited_Init_In_05): Allow calls to 'Input to
initialize a limited object.
(Build_Derived_Record_Type): Add missing check of rules ARM 3.9.4
13/2 and 14/2.
Make sure Has_Complex_Representation is inherited by derived type.
From-SVN: r127547
Ed Schonberg [Thu, 16 Aug 2007 12:20:00 +0000 (14:20 +0200)]
sem_ch12.adb (Copy_Generic_Node): A reference to a child unit of the generic for an enclosing instance is a...
2007-08-16 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Copy_Generic_Node): A reference to a child unit of the
generic for an enclosing instance is a global reference, even though
its scope is the enclosing instance.
From-SVN: r127546
Hristian Kirtchev [Thu, 16 Aug 2007 12:19:50 +0000 (14:19 +0200)]
sem_ch10.adb (Has_With_Clause): If the name of the with clause currently inspected is a selected component...
2007-08-16 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch10.adb (Has_With_Clause): If the name of the with clause
currently inspected is a selected component, retrieve the entity of
its selector.
(Install_Limited_Withed_Unit): Call Has_Limited_With_Clause starting
from the immediate ancestor of Main_Unit_Entity.
(Install_Limited_Withed_Unit): Do not install the limited view of
package P if P is reachable through an ancestor chain from package C
and C also has a with clause for P in its body.
(Has_Limited_With_Clause): New routine.
(Has_With_Clause): New routine.
From-SVN: r127545
Vincent Celier [Thu, 16 Aug 2007 12:19:39 +0000 (14:19 +0200)]
prj.ads (Project_Data): Add comments.
2007-08-16 Vincent Celier <celier@adacore.com>
* prj.ads (Project_Data): Add comments.
* prj-attr.adb: New attribute Removed_Source_Dirs
* prj-nmsc.adb (Get_Directories): Take into account new attribute
Removed_Source_Dirs
* snames.ads, snames.adb: New standard name Removed_Source_Dirs
From-SVN: r127544
Nicolas Roche [Thu, 16 Aug 2007 12:19:24 +0000 (14:19 +0200)]
Makefile.in (gnatlib): Propagate FORCE_DEBUG_ADAFLAGS value to sub makefiles
2007-08-16 Nicolas Roche <roche@adacore.com>
* Makefile.in (gnatlib): Propagate FORCE_DEBUG_ADAFLAGS value to sub
makefiles
* Make-lang.in: Update dependencies
From-SVN: r127543
Vincent Celier [Thu, 16 Aug 2007 12:19:13 +0000 (14:19 +0200)]
make.adb (Collect_Arguments): Call Test_If_Relative_Path with Including_Non_Switch set to False.
2007-08-16 Vincent Celier <celier@adacore.com>
* make.adb (Collect_Arguments): Call Test_If_Relative_Path with
Including_Non_Switch set to False.
(Gnatmake): For the compiler, call Test_If_Relative_Path with
Including_Non_Switch set to False.
* makeutl.adb, makeutl.ads (Test_If_Relative_Path): New Boolean
parameter Including_Non_Switch, defaulted to True. When
Including_Non_Switch is False, options that are not switches and
appear as relative path are not converted to absolute paths.
From-SVN: r127542
Thomas Quinot [Thu, 16 Aug 2007 12:19:02 +0000 (14:19 +0200)]
g-dyntab.adb, [...]: (Set_Item): Suppress Range_Check on Allocated_Table.
2007-08-16 Thomas Quinot <quinot@adacore.com>
* g-dyntab.adb, g-table.adb, table.adb: (Set_Item): Suppress
Range_Check on Allocated_Table.
From-SVN: r127541
Javier Miranda [Thu, 16 Aug 2007 12:18:37 +0000 (14:18 +0200)]
exp_ch9.adb (Build_Protected_Entry): Undo previous change because it is not really required and can introduce...
2007-08-16 Javier Miranda <miranda@adacore.com>
* exp_ch9.adb (Build_Protected_Entry): Undo previous change because it
is not really required and can introduce regression with the debugger.
The original problem is fixed with the patch written for checks.adb.
From-SVN: r127540
Javier Miranda [Thu, 16 Aug 2007 12:18:26 +0000 (14:18 +0200)]
exp_attr.adb (Attribute_Priority): Add missing support for entries and entry barriers.
2007-08-16 Javier Miranda <miranda@adacore.com>
* exp_attr.adb (Attribute_Priority): Add missing support for entries
and entry barriers.
From-SVN: r127539
Gary Dismukes [Thu, 16 Aug 2007 12:18:16 +0000 (14:18 +0200)]
exp_aggr.adb (Build_Record_Aggr_Code): Extend the test for an ancestor part given by an aggregate to test for an...
2007-08-16 Gary Dismukes <dismukes@adacore.com>
Ed Schonberg <schonberg@adacore.com>
Javier Miranda <miranda@adacore.com>
* exp_aggr.adb (Build_Record_Aggr_Code): Extend the test for an
ancestor part given by an aggregate to test for an unchecked conversion,
since this can occur in some cases when the ancestor part is a function
call, and we don't want to fall into the recursive call to this
procedure in that case.
* exp_ch3.adb (Stream_Operation_OK): Revise tests for availability of
stream attributes on limited types to account for user-specified
attributes as well as whether Input (resp. Output) becomes available
due to Read (resp. Write) being available for the type. Change Boolean
variable to the more accurate name
Has_Predefined_Or_Specified_Stream_Attribute. Change convoluted
double-"not" predicate at beginning of return statement to more
understandable form.
* exp_ch5.adb (Expand_N_Extended_Return_Statement): If the extended
return has an associated N_Handled_Sequence_Of_Statements, then wrap it
in a block statement and use that as the first statement of the
expanded return rather than incorrectly using the handled sequence as
the first statement.
* exp_ch6.adb (Expand_N_Subprogram_Declaration): If this is a protected
operation, generate an explicit freeze node for it rather than
generating extra formals, to ensure that gigi has the proper order of
elaboration for anonymous subtypes in the signature of the subprograms.
(Build_In_Place_Formal): Move assertion to beginning of loop.
(Is_Build_In_Place_Function_Call): Allow for an unchecked conversion
applied to a function call (occurs for some cases of 'Input).
(Make_Build_In_Place_Call_In_*): Allow for an unchecked conversion
applied to a function call (occurs for some cases of 'Input).
* exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For Ada
2005, generate an extended return statement enclosing the result object
and 'Read call.
* freeze.adb (Freeze_Record_Type): Extend the current management of
components that are access type with an allocator as default value: add
missing support to the use of qualified expressions of the
allocator (which also cause freezing of the designated type!)
(Freeze_Entity): Call Freeze_Subprogram in the case of a predefined
dispatching operation, since extra formals may be needed by calls to
build-in-place functions (such as stream 'Input).
* sem_ch6.adb (Create_Extra_Formals): Skip creation of the extra
formals for 'Constrained and accessibility level in the case of a
predefined dispatching operation.
* exp_util.adb (Insert_Actions): A protected body is a valid insertion
point, no need to find the parent node.
From-SVN: r127538
Gary Dismukes [Thu, 16 Aug 2007 12:17:54 +0000 (14:17 +0200)]
cstand.adb (Create_Standard): Create an entity for a zero-sized type associated with...
2007-08-16 Gary Dismukes <dismukes@adacore.com>
* cstand.adb (Create_Standard): Create an entity for a zero-sized type
associated with Standard_Debug_Renaming_Type, to be used as the type of
the special variables whose names provide debugger encodings for
renaming declarations.
* einfo.ads, einfo.adb (Debug_Renaming_Link): Change to return Node25.
(Set_Debug_Renaming_Link): Change to set Node25.
(Write_Field13_Name): Remove case for E_Enumeration_Literal.
(Write_Field25_Name): Add case for E_Variable to output
"Debug_Renaming_Link".
(Write_Field23_Name): Correct the output string for "Limited_View".
* exp_dbug.adb: Add with and use of Tbuild.
(Debug_Renaming_Declaration): Replace creation of an enumeration type
and literal with creation of a variable of type
Standard_Debug_Renaming_Type whose name encodes both the renamed object
and the entity of the renaming declaration.
(Qualify_Entity_Name): Add the delayed qualification of the entity name
part of the name of a variable that has a Debug_Renaming_Link.
* stand.ads (Standard_Debug_Renaming_Type): New Entity_Id denoting a
special type to be associated with variables that provide debugger
encodings for renaming declarations.
From-SVN: r127537
Richard Sandiford [Thu, 16 Aug 2007 10:16:15 +0000 (10:16 +0000)]
re PR middle-end/32897 (Invalid rematerialisation of subregs)
gcc/
PR middle-end/32897
* reload.c (find_reloads): Check that the memory returned by
find_reloads_toplev was not the result of forcing a constant
to memory.
(find_reloads_toplev): Always use simplify_gen_subreg to get
the subreg of a constant. If the result is also a constant,
but not a legitimate one, force it into the constant pool
and reload its address.
gcc/testsuite/
* gcc.dg/torture/pr32897.c: New test.
From-SVN: r127536
Paolo Carlini [Thu, 16 Aug 2007 09:05:17 +0000 (09:05 +0000)]
re PR c++/31132 (ICE on inconsistent friend declaration)
/cp
2007-08-16 Paolo Carlini <pcarlini@suse.de>
PR c++/31132
* pt.c (tsubst_friend_function): When check_classfn
returns error_mark_node likewise return it.
/testsuite
2007-08-16 Paolo Carlini <pcarlini@suse.de>
PR c++/31132
* g++.dg/template/crash69.C: New.
From-SVN: r127535
Arnaud Charlet [Thu, 16 Aug 2007 08:18:31 +0000 (10:18 +0200)]
Add test cases
From-SVN: r127534
Arnaud Charlet [Thu, 16 Aug 2007 08:06:48 +0000 (10:06 +0200)]
Add test cases.
From-SVN: r127533
David Edelsohn [Thu, 16 Aug 2007 00:40:27 +0000 (00:40 +0000)]
rs6000.c (rs6000_rtx_costs): Add CLZ, CTZ, and POPCOUNT.
* config/rs6000/rs6000.c (rs6000_rtx_costs): Add CLZ, CTZ, and
POPCOUNT.
From-SVN: r127532
GCC Administrator [Thu, 16 Aug 2007 00:17:49 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r127530
Samuel Thibault [Wed, 15 Aug 2007 22:49:49 +0000 (22:49 +0000)]
configure.host (gnu*): Set use_libgcj_bc to yes.
2007-08-16 Samuel Thibault <samuel.thibault@ens-lyon.org>
* configure.host (gnu*): Set use_libgcj_bc to yes.
From-SVN: r127527
Daniel Jacobowitz [Wed, 15 Aug 2007 22:29:25 +0000 (22:29 +0000)]
rs6000.c (rs6000_file_start): Output a .gnu_attribute directive for the current vector ABI.
* config/rs6000/rs6000.c (rs6000_file_start): Output a .gnu_attribute
directive for the current vector ABI.
From-SVN: r127526
Steve Ellcey [Wed, 15 Aug 2007 20:08:43 +0000 (20:08 +0000)]
re PR target/32963 (ICE in failed_reload, could not find a spill register)
PR target/32963
caller-save.c (reg_save_code): Set invalide status on restore code.
From-SVN: r127523
Daniel Jacobowitz [Wed, 15 Aug 2007 17:44:51 +0000 (17:44 +0000)]
target-supports.exp (check_effective_target_arm32): Use check_no_compiler_messages.
* lib/target-supports.exp (check_effective_target_arm32): Use
check_no_compiler_messages.
From-SVN: r127522
Diego Novillo [Wed, 15 Aug 2007 17:37:33 +0000 (13:37 -0400)]
tree-ssa-alias.c (compute_memory_partitions): Use alias_bitmap_obstack to allocate bitmaps.
* tree-ssa-alias.c (compute_memory_partitions): Use
alias_bitmap_obstack to allocate bitmaps.
(reset_alias_info): Factor out of init_alias_info.
Mark all name tags not associated to an SSA name for renaming.
(init_alias_info): Call it.
(create_name_tags): Tidy. Add comments.
(dump_points_to_info_for): Do not call get_mem_sym_stats_for.
testsuite/ChangeLog
gcc.dg/tree-ssa/
20070815.c: New test.
From-SVN: r127520
Tom Tromey [Wed, 15 Aug 2007 16:56:17 +0000 (16:56 +0000)]
Class.java (internalGetFields): Use LinkedHashSet.
* java/lang/Class.java (internalGetFields): Use LinkedHashSet.
* classpath/lib/java/lang/Class.class: Rebuilt.
From-SVN: r127518
Maxim Kuvyrkov [Wed, 15 Aug 2007 13:42:55 +0000 (13:42 +0000)]
mips.c (vr4130_swap_insns_p): Use new interface to scheduler dependencies.
* config/mips/mips.c (vr4130_swap_insns_p): Use new interface to
scheduler dependencies.
From-SVN: r127516
Rask Ingemann Lambertsen [Wed, 15 Aug 2007 13:36:21 +0000 (15:36 +0200)]
i386.md (subsi3_carry_zext): Remove "m" constraint for "register_operand".
* config/i386/i386.md (subsi3_carry_zext): Remove "m" constraint for
"register_operand".
(*iorsi_1_zext): Likewise.
(*iorsi_1_zext_imm): Likewise.
* config/i386/sse.md: (*sse4_1_extractps): Use "nonimmediate_operand"
with "rm"/"xm" constraint.
(sse2_vmsqrtv2df2): Likewise.
From-SVN: r127515
Jack Howarth [Wed, 15 Aug 2007 13:11:40 +0000 (13:11 +0000)]
re PR target/32765 (Testsuite failures due to undefined symbol ___emutls_get_address)
PR target/32765
* testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
* testsuite/libgomp.fortran/crayptr2.f90: Likwise.
From-SVN: r127514
Francois-Xavier Coudert [Wed, 15 Aug 2007 12:39:18 +0000 (12:39 +0000)]
re PR fortran/29459 (Spurious warnings about anonymous variables)
PR fortran/29459
* trans.c (gfc_create_var_np): Do not emit warnings for
anonymous variables.
From-SVN: r127513
Francois-Xavier Coudert [Wed, 15 Aug 2007 12:35:57 +0000 (12:35 +0000)]
re PR fortran/33077 (RANDOM_SEED failure for integer(kind=8))
PR fortran/33077
* intrinsics/random.c (random_seed_i8): Fix code logic.
* gfortran.dg/random_7.f90: Initialize variable.
From-SVN: r127512
Jakub Jelinek [Wed, 15 Aug 2007 12:11:38 +0000 (14:11 +0200)]
re PR middle-end/33074 (ICE in copy_insn_1, at emit-rtl.c:4925)
PR middle-end/33074
* emit-rtl.c (try_split): Use INSN_LIST instead of EXPR_LIST for
REG_LIBCALL note.
* gfortran.dg/pr33074.f90: New test.
From-SVN: r127511
Jakub Jelinek [Wed, 15 Aug 2007 12:08:42 +0000 (14:08 +0200)]
re PR c++/32992 (Incorrect code generated for anonymous union and return)
PR c++/32992
* typeck.c (check_return_expr): Don't NRV optimize vars in
anonymous unions.
* decl.c (finish_function): Comment fix.
* g++.dg/opt/nrv14.C: New test.
From-SVN: r127510
Uros Bizjak [Wed, 15 Aug 2007 09:21:06 +0000 (11:21 +0200)]
* ChangeLog: Remove gcc/ prefix from file names.
From-SVN: r127509
Paolo Carlini [Wed, 15 Aug 2007 09:06:42 +0000 (09:06 +0000)]
re PR c++/33035 (ICE on local class destructor)
/cp
2007-08-15 Paolo Carlini <pcarlini@suse.de>
PR c++/33035
* pt.c (push_template_decl_real): Depending on TYPE_P
use either TYPE_CONTEXT or DECL_CONTEXT.
/testsuite
2007-08-15 Paolo Carlini <pcarlini@suse.de>
PR c++/33035
* g++.dg/template/crash68.C: New.
From-SVN: r127508
Samuel Thibault [Wed, 15 Aug 2007 08:19:32 +0000 (08:19 +0000)]
natPosixProcess.cc (sigchld_handler): Remove 'si' and 'third' parameters.
2007-08-15 Samuel Thibault <samuel.thibault@ens-lyon.org>
* java/lang/natPosixProcess.cc (sigchld_handler) [!SA_SIGINFO]: Remove
'si' and 'third' parameters. Disable calling
pmi->old_sigaction.sa_sigaction.
(java::lang::PosixProcess*ProcessManager::init) [!SA_SIGINFO]: Set
sa.sa_handler instead of sa.sa_sigaction, don't set SA_SIGINFO flag.
From-SVN: r127507
David Daney [Wed, 15 Aug 2007 06:42:16 +0000 (06:42 +0000)]
* include/private/gcconfig.h: Handle mips64-linux n64 ABI.
From-SVN: r127506
Maxim Kuvyrkov [Wed, 15 Aug 2007 04:15:31 +0000 (04:15 +0000)]
sibcall-3.c: Remove m68k from XFAIL list.
* gcc.dg/sibcall-3.c: Remove m68k from XFAIL list.
* gcc.dg/sibcall-4.c: Ditto.
From-SVN: r127505
Ben Elliston [Wed, 15 Aug 2007 00:40:52 +0000 (10:40 +1000)]
Remove stray conflict marker.
From-SVN: r127504
GCC Administrator [Wed, 15 Aug 2007 00:17:12 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r127502
Mark Mitchell [Wed, 15 Aug 2007 00:02:44 +0000 (00:02 +0000)]
semantics.c (finish_omp_clauses): Strip a NOP_EXPR if constructors and destructors return this.
* semantics.c (finish_omp_clauses): Strip a NOP_EXPR if
constructors and destructors return this.
From-SVN: r127499
Francois-Xavier Coudert [Tue, 14 Aug 2007 23:26:23 +0000 (23:26 +0000)]
re PR fortran/33066 ("type, bind(C) t": Diagnose missing "::")
PR fortran/33066
* decl.c (gfc_get_type_attr_spec): Fix whitespace.
(gfc_match_derived_decl): Fix logic.
* gfortran.dg/use_8.f90: New test.
* gfortran.dg/c_loc_tests_2.f03: Fix code.
From-SVN: r127497
Francois-Xavier Coudert [Tue, 14 Aug 2007 22:40:00 +0000 (22:40 +0000)]
re PR fortran/33073 (Type mismatch in build_fixbound_expr())
PR fortran/33073
* trans-intrinsic.c (build_fixbound_expr): Convert to result type
in all cases.
From-SVN: r127494
Paolo Carlini [Tue, 14 Aug 2007 22:13:45 +0000 (22:13 +0000)]
re PR c++/27211 (Bogus error "template definition of non-template" when there is no non-template)
/cp
2007-08-14 Paolo Carlini <pcarlini@suse.de>
PR c++/27211
* decl2.c (check_classfn): Return error_mark_node in case of error;
in that case, do not call add_method.
* decl.c (start_decl): Deal with check_classfn returning
error_mark_node.
(grokfndecl): Likewise.
* pt.c (tsubst_friend_function): Likewise.
/testsuite
2007-08-14 Paolo Carlini <pcarlini@suse.de>
PR c++/27211
* g++.dg/template/error27.C: New.
* g++.dg/template/error28.C: New.
* g++.dg/other/pr28304.C: Adjust.
* g++.old-deja/g++.mike/p811.C: Likewise.
From-SVN: r127493
Paolo Carlini [Tue, 14 Aug 2007 22:07:31 +0000 (22:07 +0000)]
re PR c++/27211 (Bogus error "template definition of non-template" when there is no non-template)
/cp
2007-08-14 Paolo Carlini <pcarlini@suse.de>
PR c++/27211
* decl2.c (check_classfn): Return error_mark_node in case of error;
in that case, do not call add_method.
* decl.c (start_decl): Deal with check_classfn returning
error_mark_node.
(grokfndecl): Likewise.
* pt.c (tsubst_friend_function): Likewise.
/testsuite
2007-08-14 Paolo Carlini <pcarlini@suse.de>
PR c++/27211
* g++.dg/template/error27.C: New.
* g++.dg/template/error28.C: New.
* g++.dg/other/pr28304.C: Adjust.
* g++.old-deja/g++.mike/p811.C: Likewise.
From-SVN: r127492
Daniel Berlin [Tue, 14 Aug 2007 20:52:47 +0000 (20:52 +0000)]
tree-pass.h (PROP_pta): Removed.
2007-08-14 Daniel Berlin <dberlin@dberlin.org>
* tree-pass.h (PROP_pta): Removed.
(TODO_rebuild_alias): New.
(pass_may_alias): Removed.
* tree-ssa-ccp.c (execute_fold_all_builtins): Only rebuild
aliasing if we changed something.
* tree-ssa-alias.c (compute_may_aliases): Make non-static. Update
SSA internally.
(pass_may_alias): Removed.
(create_structure_vars): Return TODO_rebuild_alias.
* tree-ssa-pre.c (do_pre): Return TODO_rebuild_alias.
* tree-sra.c (tree_sra): Only rebuild aliasing if something
changed.
(tree_sra_early): We never affect aliasing right now.
* tree-flow.h (compute_may_aliases): New prototype.
* passes.c: Remove pass_may_alias from the passes.
(execute_function_todo): Support TODO_rebuild_alias.
From-SVN: r127491
Kai Tietz [Tue, 14 Aug 2007 18:24:48 +0000 (18:24 +0000)]
i386.c: (legitimize_address): Move dllimported variable check infront of legitimizing...
* i386.c: (legitimize_address): Move dllimported variable check
infront of legitimizing pic address of CONST symbols.
From-SVN: r127488
Steve Ellcey [Tue, 14 Aug 2007 18:12:34 +0000 (18:12 +0000)]
re PR tree-optimization/32941 (Bootstrap comparison failure)
PR tree-optimization/32941
* tree-eh.c (struct leh_tf_state): Add goto_queue_map field.
(goto_queue_cmp): Remove.
(find_goto_replacement): Change search method.
(maybe_record_in_goto_queue): Add assert.
(lower_try_finally): Remove qsort call, add pointer_map_destroy call.
* Makefile.in (tree-eh.o): Add pointer-set.h dependency.
From-SVN: r127487
Kaveh R. Ghazi [Tue, 14 Aug 2007 15:18:11 +0000 (15:18 +0000)]
alias.c (component_uses_parent_alias_set): Constify.
* alias.c (component_uses_parent_alias_set): Constify.
* alias.h (component_uses_parent_alias_set): Likewise.
* cfgrtl.c (print_rtl_with_bb): Likewise.
* double-int.c (tree_to_double_int, double_int_fits_to_tree_p,
mpz_get_double_int): Likewise.
* double-int.h (double_int_fits_to_tree_p, tree_to_double_int,
mpz_get_double_int): Likewise.
* expr.c (is_aligning_offset, undefined_operand_subword_p,
mostly_zeros_p, all_zeros_p, safe_from_p, is_aligning_offset):
Likewise.
* expr.h (safe_from_p): Likewise.
* gimple-low.c (try_catch_may_fallthru, block_may_fallthru):
Likewise.
* gimplify.c (should_carry_locus_p, zero_sized_field_decl,
zero_sized_type, goa_lhs_expr_p): Likewise.
* omp-low.c (is_variable_sized, use_pointer_for_field): Likewise.
* rtl.h (print_rtl_with_bb): Likewise.
* sched-vis.c (print_exp, print_value, print_pattern): Likewise.
* tree-cfg.c (const_first_stmt, const_last_stmt): New.
* tree-flow-inline.h (bb_stmt_list): Constify.
(cbsi_start, cbsi_last, cbsi_end_p, cbsi_next, cbsi_prev,
cbsi_stmt): New.
* tree-flow.h (const_block_stmt_iterator, cbsi_start, cbsi_last,
const_first_stmt, const_last_stmt): New.
(block_may_fallthru, empty_block_p): Constify.
* tree-iterator.c (EXPR_FIRST_BODY, EXPR_LAST_BODY,
EXPR_ONLY_BODY): New.
(expr_first, expr_last, expr_only): Use macro for body.
(const_expr_first, const_expr_last, const_expr_only): New.
* tree-iterator.h (const_tree_stmt_iterator, ctsi_start,
ctsi_last, ctsi_end_p, ctsi_one_before_end_p, ctsi_next,
ctsi_prev, ctsi_stmt): New.
* tree-scalar-evolution.c (get_loop_exit_condition): Constify.
* tree-scalar-evolution.h (get_loop_exit_condition): Likewise.
* tree-ssa-loop-niter.c (loop_only_exit_p,
derive_constant_upper_bound): Likewise.
* tree-ssa-phiopt.c (empty_block_p): Likewise.
* tree-ssa-threadupdate.c (redirection_block_p): Likewise.
* tree-vectorizer.c (slpeel_can_duplicate_loop_p): Likewise.
* tree-vectorizer.h (slpeel_can_duplicate_loop_p): Likewise.
* tree-vrp.c (vrp_bitmap_equal_p): Likewise.
* tree.c (get_type_static_bounds): Likewise.
* tree.h (const_expr_first, const_expr_last, const_expr_only): New.
(get_type_static_bounds): Constify.
From-SVN: r127483