Paolo Carlini [Fri, 25 Jun 2010 23:04:11 +0000 (23:04 +0000)]
2010-06-25 Paolo Carlini <paolo.carlini@oracle.com>
Reformat last ChangeLog entry.
From-SVN: r161419
Jerry DeLisle [Fri, 25 Jun 2010 21:32:37 +0000 (21:32 +0000)]
re PR testsuite/38946 (gcc trunk 143562 - Testsuite - gfortran failing tests that worked previously)
2010-06-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR testsuite/38946
* gfortran.dg/array_constructor_23.f: Update test to allow for small
error in comparing reals.
From-SVN: r161416
Alexandre Oliva [Fri, 25 Jun 2010 21:11:32 +0000 (21:11 +0000)]
re PR debug/44610 (VTA produces wrong variable location information)
PR debug/44610
* simplify-rtx.c (delegitimize_mem_from_attrs): Don't use a base
address if the offset is unknown.
From-SVN: r161413
Tobias Burnus [Fri, 25 Jun 2010 19:40:37 +0000 (21:40 +0200)]
intrinsic.h (gfc_check_selected_real_kind, [...]): Update prototypes.
2010-06-25 Tobias Burnus <burnus@net-b.de>
* intrinsic.h (gfc_check_selected_real_kind,
gfc_simplify_selected_real_kind): Update prototypes.
* intrinsic.c (add_functions): Add radix support to
selected_real_kind.
* check.c (gfc_check_selected_real_kind): Ditto.
* simplify.c (gfc_simplify_selected_real_kind): Ditto.
* trans-decl.c (gfc_build_intrinsic_function_decls):
Change call from selected_real_kind to selected_real_kind2008.
* intrinsic.texi (SELECTED_REAL_KIND): Update for radix.
(PRECISION, RANGE, RADIX): Add cross @refs.
2010-06-25 Tobias Burnus <burnus@net-b.de>
* intrinsics/selected_real_kind.f90
(_gfortran_selected_real_kind2008): Add function.
(_gfortran_selected_real_kind): Stub which calls
_gfortran_selected_real_kind2008.
* gfortran.map (GFORTRAN_1.4): Add
_gfortran_selected_real_kind2008.
* mk-srk-inc.sh: Save also RADIX.
2010-06-25 Tobias Burnus <burnus@net-b.de>
* selected_real_kind_2.f90: New.
* selected_real_kind_3.f90: New.
From-SVN: r161411
Stephen M. Webb [Fri, 25 Jun 2010 19:27:16 +0000 (19:27 +0000)]
Initial regex implementation.
2010-06-25 Stephen M. Webb <stephen.webb@bregmasoft.ca>
Initial regex implementation.
* include/std/regex: Modified to use bits/regex_* headers.
* include/bits/regex_compiler.h: New file.
* include/bits/regex_constants.h: New file.
* include/bits/regex_cursor.h: New file.
* include/bits/regex_error.h: New file.
* include/bits/regex_grep_matcher.h: New file.
* include/bits/regex_grep_matcher.tcc: New file.
* include/bits/regex.h: New file.
* include/bits/regex_nfa.h: New file.
* include/bits/regex_nfa.tcc: New file.
* include/Makefile.am: Added above new files.
* include/Makefile.in: Regenerated.
* testsuite/28_regex/02_definitions: New file.
* testsuite/28_regex/03_requirements: New file.
* testsuite/28_regex/03_requirements/typedefs.cc: New file.
* testsuite/28_regex/04_header: New file.
* testsuite/28_regex/04_header/regex: New file.
* testsuite/28_regex/04_header/regex/std_c++0x_neg.cc: New file.
* testsuite/28_regex/05_constants: New file.
* testsuite/28_regex/05_constants/error_type.cc: New file.
* testsuite/28_regex/05_constants/match_flag_type.cc: New file.
* testsuite/28_regex/05_constants/syntax_option_type.cc: New file.
* testsuite/28_regex/06_exception_type: New file.
* testsuite/28_regex/06_exception_type/regex_error.cc: New file.
* testsuite/28_regex/07_traits: New file.
* testsuite/28_regex/07_traits/char: New file.
* testsuite/28_regex/07_traits/char/ctor.cc: New file.
* testsuite/28_regex/07_traits/char/isctype.cc: New file.
* testsuite/28_regex/07_traits/char/length.cc: New file.
* testsuite/28_regex/07_traits/char/lookup_classname.cc: New file.
* testsuite/28_regex/07_traits/char/lookup_collatename.cc: New file.
* testsuite/28_regex/07_traits/char/transform.cc: New file.
* testsuite/28_regex/07_traits/char/transform_primary.cc: New file.
* testsuite/28_regex/07_traits/char/translate.cc: New file.
* testsuite/28_regex/07_traits/char/translate_nocase.cc: New file.
* testsuite/28_regex/07_traits/char/value.cc: New file.
* testsuite/28_regex/07_traits/wchar_t: New file.
* testsuite/28_regex/07_traits/wchar_t/ctor.cc: New file.
* testsuite/28_regex/07_traits/wchar_t/length.cc: New file.
* testsuite/28_regex/07_traits/wchar_t/transform.cc: New file.
* testsuite/28_regex/07_traits/wchar_t/translate.cc: New file.
* testsuite/28_regex/07_traits/wchar_t/translate_nocase.cc: New file.
* testsuite/28_regex/07_traits/wchar_t/value.cc: New file.
* testsuite/28_regex/08_basic_regex: New file.
* testsuite/28_regex/08_basic_regex/assign: New file.
* testsuite/28_regex/08_basic_regex/assign/char: New file.
* testsuite/28_regex/08_basic_regex/assign/char/cstring.cc: New file.
* testsuite/28_regex/08_basic_regex/assign/char/cstring_op.cc: New file.
* testsuite/28_regex/08_basic_regex/assign/char/moveable.cc: New file.
* testsuite/28_regex/08_basic_regex/assign/char/pstring.cc: New file.
* testsuite/28_regex/08_basic_regex/assign/char/range.cc: New file.
* testsuite/28_regex/08_basic_regex/assign/char/string.cc: New file.
* testsuite/28_regex/08_basic_regex/assign/char/string_op.cc: New file.
* testsuite/28_regex/08_basic_regex/assign/wchar_t: New file.
* testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring.cc: New file.
* testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring_op.cc: New file.
* testsuite/28_regex/08_basic_regex/assign/wchar_t/pstring.cc: New file.
* testsuite/28_regex/08_basic_regex/assign/wchar_t/range.cc: New file.
* testsuite/28_regex/08_basic_regex/assign/wchar_t/string.cc: New file.
* testsuite/28_regex/08_basic_regex/assign/wchar_t/string_op.cc: New file.
* testsuite/28_regex/08_basic_regex/ctors: New file.
* testsuite/28_regex/08_basic_regex/ctors/basic: New file.
* testsuite/28_regex/08_basic_regex/ctors/basic/cstring.cc: New file.
* testsuite/28_regex/08_basic_regex/ctors/basic/pstring_char.cc: New file.
* testsuite/28_regex/08_basic_regex/ctors/basic/pstring_wchar_t.cc: New file.
* testsuite/28_regex/08_basic_regex/ctors/basic/string_range_01_02_03.cc: New file.
* testsuite/28_regex/08_basic_regex/ctors/char: New file.
* testsuite/28_regex/08_basic_regex/ctors/char/cstring_awk.cc: New file.
* testsuite/28_regex/08_basic_regex/ctors/char/cstring.cc: New file.
* testsuite/28_regex/08_basic_regex/ctors/char/cstring_ecma.cc: New file.
* testsuite/28_regex/08_basic_regex/ctors/char/cstring_egrep.cc: New file.
* testsuite/28_regex/08_basic_regex/ctors/char/cstring_grep.cc: New file.
* testsuite/28_regex/08_basic_regex/ctors/char/default.cc: New file.
* testsuite/28_regex/08_basic_regex/ctors/char/range.cc: New file.
* testsuite/28_regex/08_basic_regex/ctors/copy_char.cc: New file.
* testsuite/28_regex/08_basic_regex/ctors/extended: New file.
* testsuite/28_regex/08_basic_regex/ctors/extended/cstring.cc: New file.
* testsuite/28_regex/08_basic_regex/ctors/extended/string_range_01_02_03.cc: New file.
* testsuite/28_regex/08_basic_regex/ctors/move_char.cc: New file.
* testsuite/28_regex/08_basic_regex/ctors/string_char.cc: New file.
* testsuite/28_regex/08_basic_regex/ctors/string_wchar_t.cc: New file.
* testsuite/28_regex/08_basic_regex/ctors/wchar_t: New file.
* testsuite/28_regex/08_basic_regex/ctors/wchar_t/cstring.cc: New file.
* testsuite/28_regex/08_basic_regex/ctors/wchar_t/default.cc: New file.
* testsuite/28_regex/08_basic_regex/ctors/wchar_t/range.cc: New file.
* testsuite/28_regex/08_basic_regex/regex.cc: New file.
* testsuite/28_regex/09_sub_match: New file.
* testsuite/28_regex/09_sub_match/cast_char.cc: New file.
* testsuite/28_regex/09_sub_match/cast_wchar_t.cc: New file.
* testsuite/28_regex/09_sub_match/length.cc: New file.
* testsuite/28_regex/09_sub_match/typedefs.cc: New file.
* testsuite/28_regex/10_match_results: New file.
* testsuite/28_regex/10_match_results/ctors: New file.
* testsuite/28_regex/10_match_results/ctors/char: New file.
* testsuite/28_regex/10_match_results/ctors/char/default.cc: New file.
* testsuite/28_regex/10_match_results/ctors/wchar_t: New file.
* testsuite/28_regex/10_match_results/ctors/wchar_t/default.cc: New file.
* testsuite/28_regex/10_match_results/typedefs.cc: New file.
* testsuite/28_regex/11_algorithms: New file.
* testsuite/28_regex/11_algorithms/02_match: New file.
* testsuite/28_regex/11_algorithms/02_match/basic: New file.
* testsuite/28_regex/11_algorithms/02_match/basic/string_01.cc: New file.
* testsuite/28_regex/11_algorithms/02_match/basic/string_range_00_03.cc: New file.
* testsuite/28_regex/11_algorithms/02_match/basic/string_range_01_03.cc: New file.
* testsuite/28_regex/11_algorithms/02_match/basic/string_range_02_03.cc: New file.
* testsuite/28_regex/11_algorithms/02_match/extended: New file.
* testsuite/28_regex/11_algorithms/02_match/extended/cstring_plus.cc: New file.
* testsuite/28_regex/11_algorithms/02_match/extended/cstring_questionmark.cc: New file.
* testsuite/28_regex/11_algorithms/02_match/extended/string_any.cc: New file.
* testsuite/28_regex/11_algorithms/02_match/extended/string_range_00_03.cc: New file.
* testsuite/28_regex/11_algorithms/02_match/extended/string_range_01_03.cc: New file.
* testsuite/28_regex/11_algorithms/02_match/extended/string_range_02_03.cc: New file.
* testsuite/28_regex/12_iterators: New file.
* testsuite/28_regex/12_iterators/regex_iterator: New file.
* testsuite/28_regex/12_iterators/regex_iterator/ctors: New file.
* testsuite/28_regex/12_iterators/regex_iterator/ctors/char: New file.
* testsuite/28_regex/12_iterators/regex_iterator/ctors/char/default.cc: New file.
* testsuite/28_regex/12_iterators/regex_iterator/ctors/wchar_t: New file.
* testsuite/28_regex/12_iterators/regex_iterator/ctors/wchar_t/default.cc: New file.
* testsuite/28_regex/12_iterators/regex_iterator/typedefs.cc: New file.
* testsuite/28_regex/12_iterators/regex_token_iterator: New file.
* testsuite/28_regex/12_iterators/regex_token_iterator/ctors: New file.
* testsuite/28_regex/12_iterators/regex_token_iterator/ctors/char: New file.
* testsuite/28_regex/12_iterators/regex_token_iterator/ctors/char/default.cc: New file.
* testsuite/28_regex/12_iterators/regex_token_iterator/ctors/wchar_t: New file.
* testsuite/28_regex/12_iterators/regex_token_iterator/ctors/wchar_t/default.cc: New file.
* testsuite/28_regex/12_iterators/regex_token_iterator/typedefs.cc: New file.
* testsuite/28_regex/13_ecmascript: New file.
From-SVN: r161410
Tobias Burnus [Fri, 25 Jun 2010 19:17:21 +0000 (21:17 +0200)]
decl.c (gfc_match_entry): Mark ENTRY as GFC_STD_F2008_OBS.
2010-06-25 Tobias Burnus <burnus@net-b.de>
* decl.c (gfc_match_entry): Mark ENTRY as GFC_STD_F2008_OBS.
* gfortran.texi (_gfortran_set_options): Update for
GFC_STD_F2008_OBS addition.
* libgfortran.h: Add GFC_STD_F2008_OBS.
* options.c (set_default_std_flags, gfc_handle_option): Handle
GFC_STD_F2008_OBS.
io.c (check_format): Fix allow_std check.
2010-06-25 Tobias Burnus <burnus@net-b.de>
* runtime/compile_options.c (init_compile_options): Update
compile_options.allow_std for GFC_STD_F2008_OBS.
* io/transfer.c (formatted_transfer_scalar_read,
formatted_transfer_scalar_write): Fix allow_std check.
* io/list_read.c (nml_parse_qualifier): Ditto.
2010-06-25 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/entry_19.f90: New.
From-SVN: r161409
Tobias Burnus [Fri, 25 Jun 2010 19:02:47 +0000 (21:02 +0200)]
decl.c (gfc_match_entry): Allow END besides END SUBROUTINE/END FUNCTION for contained procedures.
2010-06-25 Tobias Burnus <burnus@net-b.de>
* decl.c (gfc_match_entry): Allow END besides
END SUBROUTINE/END FUNCTION for contained procedures.
2010-06-25 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/end_subroutine_1.f90: New.
* gfortran.dg/end_subroutine_2.f90: New.
* gfortran.dg/interface_proc_end.f90: Update.
From-SVN: r161406
Tobias Burnus [Fri, 25 Jun 2010 19:01:04 +0000 (21:01 +0200)]
parse.c (next_free, next_fixed): Allow ";" as first character.
2010-06-25 Tobias Burnus <burnus@net-b.de>
* parse.c (next_free, next_fixed): Allow ";" as first character.
2010-06-25 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/semicolon_fixed.f: Update.
* gfortran.dg/semicolon_fixed_2.f: New.
* gfortran.dg/semicolon_free_2.f90: New.
* gfortran.dg/semicolon_free.f90: Update.
From-SVN: r161405
Douglas B Rupp [Fri, 25 Jun 2010 18:49:36 +0000 (18:49 +0000)]
dwarf2out.c (dwarf2out_vms_debug_main_pointer): New function.
* dwarf2out.c (dwarf2out_vms_debug_main_pointer): New function.
* dwarf2out.h (dwarf2out_vms_debug_main_pointer): Declare new function.
* config/ia64/ia64-protos.h (ia64_start_function): Declare.
* config/ia64/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Move contents
to ia64_start_function. Invoke it.
* config/ia64/ia64.c (ia64_start_function): Call new function
dwarf2out_vms_debug_main_pointer.
From-SVN: r161402
Sebastian Pop [Fri, 25 Jun 2010 18:38:25 +0000 (18:38 +0000)]
Do not insert statements computing the true predicate.
2010-06-25 Sebastian Pop <sebastian.pop@amd.com>
* tree-if-conv.c (insert_gimplified_predicates): Do not insert
statements computing the true predicate.
From-SVN: r161398
Sebastian Pop [Fri, 25 Jun 2010 18:38:14 +0000 (18:38 +0000)]
Use reset_bb_predicate whenever the predicate of a BB should be reset to true.
2010-06-25 Sebastian Pop <sebastian.pop@amd.com>
* tree-if-conv.c (init_bb_predicate): Initialize the predicate
to boolean_true_node.
(reset_bb_predicate): New.
(predicate_bbs): Call reset_bb_predicate.
From-SVN: r161397
Sebastian Pop [Fri, 25 Jun 2010 18:38:04 +0000 (18:38 +0000)]
Call cleanup_tree_cfg after if-conversion.
2010-06-25 Sebastian Pop <sebastian.pop@amd.com>
* tree-if-conv.c (combine_blocks): Remove FIXME comment.
(tree_if_conversion): Returns true when something has been changed.
(main_tree_if_conversion): Return TODO_cleanup_cfg when if-conversion
changed something.
From-SVN: r161396
Sebastian Pop [Fri, 25 Jun 2010 18:37:50 +0000 (18:37 +0000)]
Add a debug counter for the tree-ssa level if-conversion.
2010-06-25 Sebastian Pop <sebastian.pop@amd.com>
* Makefile.in (tree-if-conv.o): Depends on DBGCNT_H.
* dbgcnt.def (if_conversion_tree): New DEBUG_COUNTER.
* tree-if-conv.c: Include dbgcnt.h.
(tree_if_conversion): Use if_conversion_tree to count the number of
if-convertible loops.
From-SVN: r161395
Jerry DeLisle [Fri, 25 Jun 2010 18:31:33 +0000 (18:31 +0000)]
re PR fortran/44448 (32-bit gfortran.dg/atan2_1.f90 fails on Solaris 1[01]/x86 at -O0)
2010-06-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/44448
* gfortran.dg/atan2_1.f90: Add -ffloat-store.
From-SVN: r161392
Changpeng Fang [Fri, 25 Jun 2010 18:25:00 +0000 (18:25 +0000)]
Enable prefetching at -O3 for AMD cpus.
2010-06-25 Changpeng Fang <changpeng.fang@amd.com>
* common.opt (fprefetch-loop-arrays): Re-define
-fprefetch-loop-arrays as a tri-state option with the initial
value of -1.
* tree-ssa-loop.c (gate_tree_ssa_loop_prefetch): Invoke prefetch
pass only when flag_prefetch_loop_arrays > 0.
* toplev.c (process_options): Note that, with tri-states,
flag_prefetch_loop_arrays>0 means prefetching is enabled.
* config/i386/i386.c (override_options): Enable prefetching at -O3
for a set of CPUs that sw prefetching is helpful.
(software_prefetching_beneficial_p): New. Return TRUE if software
prefetching is beneficial for the given CPU.
From-SVN: r161391
Paolo Carlini [Fri, 25 Jun 2010 17:06:06 +0000 (17:06 +0000)]
profiler_list_to_slist.h: Remove spurious semicolon; prefer pre-increment.
2010-06-25 Paolo Carlini <paolo.carlini@oracle.com>
* include/profile/impl/profiler_list_to_slist.h: Remove spurious
semicolon; prefer pre-increment.
* include/profile/impl/profiler_container_size.h: Use everywhere
qualified std::size_t.
* include/profile/impl/profiler_trace.h (__trace_base<>::
__collect_warnings): Tidy loop.
* include/profile/impl/profiler_vector_to_list.h: Minor formatting
changes.
From-SVN: r161390
H.J. Lu [Fri, 25 Jun 2010 15:33:21 +0000 (15:33 +0000)]
Don't search DEBUG_INSNs for removable zero extends.
2010-06-25 H.J. Lu <hongjiu.lu@intel.com>
PR rtl-optimization/44326
* implicit-zee.c (find_removable_zero_extends): Replace
INSN_P with NONDEBUG_INSN_P.
From-SVN: r161389
Martin Jambor [Fri, 25 Jun 2010 14:27:47 +0000 (16:27 +0200)]
ipa-prop.h (struct ipa_param_descriptor): Removed the modified flag.
2010-06-25 Martin Jambor <mjambor@suse.cz>
* ipa-prop.h (struct ipa_param_descriptor): Removed the modified flag.
(struct ipa_node_params): Removed the modification_analysis_done flag.
(ipa_is_param_modified): Removed.
(ipa_analyze_node): Declare.
(ipa_compute_jump_functions): Remove declaration.
(ipa_count_arguments): Likewise.
(ipa_detect_param_modifications): Likewise.
(ipa_analyze_params_uses): Likewise.
* ipa-prop.c (struct param_analysis_info): New type.
(visit_store_addr_for_mod_analysis): Removed.
(visit_load_for_mod_analysis): Renamed to visit_ref_for_mod_analysis,
moved down in the file.
(ipa_detect_param_modifications): Merged into ipa_analyze_params_uses.
(ipa_count_arguments): Made static.
(mark_modified): New function.
(is_parm_modified_before_call): New function.
(compute_pass_through_member_ptrs): New parameter parms_info, call
is_parm_modified_before_call instead of ipa_is_param_modified.
(ipa_compute_jump_functions_for_edge): New parameter parms_info, pass
it to compute_pass_through_member_ptrs.
(ipa_compute_jump_functions): New parameter parms_info, pass it to
ipa_compute_jump_functions_for_edge. Call ipa_initialize_node_params
on the callee if it is analyzed. Made static.
(ipa_analyze_indirect_call_uses): New parameter parms_info, call
is_parm_modified_before_call instead of ipa_is_param_modified.
(ipa_analyze_call_uses): New parameter parms_info, pass it to
ipa_analyze_indirect_call_uses.
(ipa_analyze_stmt_uses): New parameter parms_info, pass it to
ipa_analyze_call_uses.
(ipa_analyze_params_uses): New parameter parms_info, pass it to
ipa_analyze_stmt_uses. Also perform the used analysis. Made static.
(ipa_analyze_node): New function.
(ipa_print_node_params): Do not dump the modified flag.
(ipa_write_node_info): Assert uses_analysis_done rather than streaming
it. Do not stream the modified parameter flag.
(ipa_read_node_info): Set uses_analysis_done to 1 instead of streaming
it. Do not stream the modified parameter flag.
* ipa-cp.c (ipcp_analyze_node): Removed.
(ipcp_init_stage): Iterate only once over the nodes, analyze each one
with only a call to ipa_analyze_node.
* ipa-inline.c (inline_indirect_intraprocedural_analysis): Analyze the
node with only a call to ipa_analyze_node.
* testsuite/g++.dg/ipa/iinline-3.C: New test.
* testsuite/gcc.dg/ipa/modif-1.c: Removed.
From-SVN: r161384
Manuel López-Ibáñez [Fri, 25 Jun 2010 13:23:08 +0000 (13:23 +0000)]
invoke.texi (-Wsuggest-attribute): Add item for noreturn.
2010-06-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
* doc/invoke.texi (-Wsuggest-attribute): Add item for noreturn.
From-SVN: r161383
Jan Hubicka [Fri, 25 Jun 2010 13:13:31 +0000 (15:13 +0200)]
tree-pass.h (pass_split_functions): Declare.
* tree-pass.h (pass_split_functions): Declare.
* opts.c (decode_options): Enable function splitting at -O2
* timevar.def (TV_IPA_FNSPLIT): New macro.
* ipa-split.c: New file.
* common.opt (-fpartial-inlining): New flag.
* Makefile.in (ipa-split.o): New object file.
* passes.c (init_optimization_passes): Add ipa-split.
* params.def (max-inline-insns-auto): Reduce max-inline-insns-auto to 40.
(partial-inlining-entry-probability): New parameters.
* doc/invoke.texi (-fpartial-inlining): New.
* testsuite/gcc.dg/tree-ssa/ipa-split.c
From-SVN: r161382
Manuel López-Ibáñez [Fri, 25 Jun 2010 13:09:28 +0000 (13:09 +0000)]
re PR middle-end/44665 (typo in comment, incorrect/out-of-date comment)
2010-06-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR 44665
* tree-inline.c (gimple_expand_calls_inline): Fix typo in comment.
* gimplify.c (is_gimple_reg_rhs_or_call): Likewise.
(gimplify_expr): Likewise.
From-SVN: r161380
Martin Jambor [Fri, 25 Jun 2010 12:46:41 +0000 (14:46 +0200)]
ipa-prop.c (determine_cst_member_ptr): Ignore non-clobbering statements instead of bailing out on them.
2010-06-25 Martin Jambor <mjambor@suse.cz>
* ipa-prop.c (determine_cst_member_ptr): Ignore non-clobbering
statements instead of bailing out on them.
(ipa_analyze_indirect_call_uses): Do not require that loads from the
parameter are in the same BB as the condition. Update comments.
* testsuite/g++.dg/ipa/iinline-2.C: New test.
From-SVN: r161377
Jakub Jelinek [Fri, 25 Jun 2010 12:10:42 +0000 (14:10 +0200)]
re PR middle-end/43866 (wrong code with -fbounds-check -funswitch-loops)
PR middle-end/43866
* tree-ssa-loop-unswitch.c (tree_may_unswitch_on): If stmt is always
true or always false, return NULL_TREE.
(tree_unswitch_single_loop): Optimize conditions even when reaching
max-unswitch-level parameter. If num > 0, optimize first all conditions
using entry checks, then do still reachable block discovery and consider
only conditions in still reachable basic blocks in the loop.
* gfortran.dg/pr43866.f90: New test.
From-SVN: r161375
Jakub Jelinek [Fri, 25 Jun 2010 12:07:00 +0000 (14:07 +0200)]
re PR tree-optimization/44539 (ICE: verify_ssa failed: type mismatch between an SSA_NAME and its symbol)
PR tree-optimization/44539
* tree-cfgcleanup.c (fixup_noreturn_call): Call update_stmt even when
the call doesn't have LHS, but has VDEF.
* gcc.dg/pr44539.c: New test.
From-SVN: r161374
Paolo Carlini [Fri, 25 Jun 2010 11:37:54 +0000 (11:37 +0000)]
profiler_list_to_slist.h: Remove spurious semicolon; prefer pre-increment.
2010-06-25 Paolo Carlini <paolo.carlini@oracle.com>
* include/profile/impl/profiler_list_to_slist.h: Remove spurious
semicolon; prefer pre-increment.
* include/profile/impl/profiler_container_size.h: Use everywhere
qualified std::size_t.
* include/profile/impl/profiler_trace.h (__trace_base<>::
__collect_warnings): Tidy loop.
* include/profile/impl/profiler_vector_to_list.h: Minor formatting
changes.
From-SVN: r161373
Joseph Myers [Fri, 25 Jun 2010 11:12:01 +0000 (12:12 +0100)]
pa.h (MODIFY_TARGET_NAME): Remove.
* config/pa/pa.h (MODIFY_TARGET_NAME): Remove.
* doc/tm.texi (MODIFY_TARGET_NAME): Don't document.
* gcc.c (enum add_del, struct modify_target, modify_target):
Remove.
(process_command): Remove code conditional on MODIFY_TARGET_NAME.
* system.h (MODIFY_TARGET_NAME): Poison.
From-SVN: r161372
Alan Modra [Fri, 25 Jun 2010 10:42:41 +0000 (20:12 +0930)]
invoke.texi: Delete mcmodel=medium from powerpc options.
* doc/invoke.texi: Delete mcmodel=medium from powerpc options.
* config/rs6000/rs6000.h (enum rs6000_cmodel): Delete CMODEL_MEDIUM.
* config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
CMODEL_LARGE as default.
* config/rs6000/rs6000.c (rs6000_handle_option): Remove mcmodel=medium.
(offsettable_ok_by_alignment): Delete.
(rs6000_emit_move): Remove mcmodel=medium optimization.
From-SVN: r161371
Paolo Carlini [Fri, 25 Jun 2010 09:43:18 +0000 (09:43 +0000)]
profiler_trace.h: Uglify it to __it, use everywhere std::size_t instead of size_t.
2010-06-25 Paolo Carlini <paolo.carlini@oracle.com>
* include/profile/impl/profiler_trace.h: Uglify it to __it, use
everywhere std::size_t instead of size_t.
From-SVN: r161368
Bernd Schmidt [Fri, 25 Jun 2010 08:56:24 +0000 (08:56 +0000)]
With large parts from Jim Wilson:
PR target/43902
* tree-pretty-print.c (dump_generic_node, op_code_prio): Add
WIDEN_MULT_PLUS_EXPR and WIDEN_MULT_MINUS_EXPR.
* optabs.c (optab_for_tree_code): Likewise.
(expand_widen_pattern_expr): Likewise.
* tree-ssa-math-opts.c (convert_mult_to_widen): New function, broken
out of execute_optimize_widening_mul.
(convert_plusminus_to_widen): New function.
(execute_optimize_widening_mul): Use the two new functions.
* expr.c (expand_expr_real_2): Add support for GIMPLE_TERNARY_RHS.
Remove code to generate widening multiply-accumulate. Add support
for WIDEN_MULT_PLUS_EXPR and WIDEN_MULT_MINUS_EXPR.
* gimple-pretty-print.c (dump_ternary_rhs): New function.
(dump_gimple_assign): Call it when appropriate.
* tree.def (WIDEN_MULT_PLUS_EXPR, WIDEN_MULT_MINUS_EXPR): New codes.
* cfgexpand.c (gimple_assign_rhs_to_tree): Likewise.
(expand_gimple_stmt_1): Likewise.
(expand_debug_expr): Support WIDEN_MULT_PLUS_EXPR and
WIDEN_MULT_MINUS_EXPR.
* tree-ssa-operands.c (get_expr_operands): Likewise.
* tree-inline.c (estimate_operator_cost): Likewise.
* gimple.c (extract_ops_from_tree_1): Renamed from
extract_ops_from_tree. Add new arg for a third operand; fill it.
(gimple_build_assign_stat): Support operations with three operands.
(gimple_build_assign_with_ops_stat): Likewise.
(gimple_assign_set_rhs_from_tree): Likewise.
(gimple_assign_set_rhs_with_ops_1): Renamed from
gimple_assign_set_rhs_with_ops. Add new arg for a third operand.
(get_gimple_rhs_num_ops): Support GIMPLE_TERNARY_RHS.
(get_gimple_rhs_num_ops): Handle WIDEN_MULT_PLUS_EXPR and
WIDEN_MULT_MINUS_EXPR.
* gimple.h (enum gimple_rhs_class): Add GIMPLE_TERNARY_RHS.
(extract_ops_from_tree_1): Adjust declaration.
(gimple_assign_set_rhs_with_ops_1): Likewise.
(gimple_build_assign_with_ops): Pass NULL for last operand.
(gimple_build_assign_with_ops3): New macro.
(gimple_assign_rhs3, gimple_assign_rhs3_ptr, gimple_assign_set_rhs3,
gimple_assign_set_rhs_with_ops, extract_ops_from_tree): New inline
functions.
* tree-cfg.c (verify_gimple_assign_ternary): New static function.
(verify_gimple_assign): Call it.
* doc/gimple.texi (Manipulating operands): Document GIMPLE_TERNARY_RHS.
(Tuple specific accessors, subsection GIMPLE_ASSIGN): Document new
functions for dealing with three-operand statements.
* tree.c (commutative_ternary_tree_code): New function.
* tree.h (commutative_ternary_tree_code): Declare it.
* tree-vrp.c (gimple_assign_nonnegative_warnv_p): Return false for ternary
statements.
(gimple_assign_nonzero_warnv_p): Likewise.
* tree-ssa-sccvn.c (stmt_has_constants): Handle GIMPLE_TERNARY_RHS.
* tree-ssa-ccp.c (get_rhs_assign_op_for_ccp): New static function.
(ccp_fold): Use it. Handle GIMPLE_TERNARY_RHS.
* tree-ssa-dom.c (enum expr_kind): Add EXPR_TERNARY.
(struct hashtable_expr): New member ternary in the union.
(initialize_hash_element): Handle GIMPLE_TERNARY_RHS.
(hashable_expr_equal_p): Fix indentation. Handle EXPR_TERNARY.
(iterative_hash_hashable_expr): Likewise.
(print_expr_hash_elt): Handle EXPR_TERNARY.
* gimple-fold.c (fold_gimple_assign): Handle GIMPLE_TERNARY_RHS.
* tree-ssa-threadedge.c (fold_assignment_stmt): Remove useless break
statements. Handle GIMPLE_TERNARY_RHS.
testsuite/
PR target/43902
* gcc.target/mips/madd-9.c: New test.
From-SVN: r161366
Jan Hubicka [Fri, 25 Jun 2010 07:56:43 +0000 (09:56 +0200)]
* doc/invoke.texi (-Wsuggest-attribute): Add noreturn.
From-SVN: r161364
Shujing Zhao [Fri, 25 Jun 2010 07:31:49 +0000 (07:31 +0000)]
re PR c/44517 (improve diagnostic for mispelled typename in function declaration)
gcc/
2010-06-25 Shujing Zhao <pearly.zhao@oracle.com>
PR c/44517
* c-parser.c (c_parser_parms_list_declarator): Return NULL if one of
parameters are not good.
(c_parser_parameter_declaration): Error unknown type name if the type
name can't start declaration specifiers.
gcc/testsuite/
2010-06-25 Shujing Zhao <pearly.zhao@oracle.com>
PR c/44517
* gcc.dg/noncompile/pr44517.c: New.
* gcc.dg/noncompile/990416-1.c: Adjust expected error.
From-SVN: r161363
Joseph Myers [Fri, 25 Jun 2010 00:26:24 +0000 (01:26 +0100)]
gcc.c (translate_options): Don't mention +e in comment.
* gcc.c (translate_options): Don't mention +e in comment.
(process_command): Don't handle +e specially.
cp:
* lang-specs.h: Remove +e handling.
objcp:
* lang-specs.h: Remove +e handling.
From-SVN: r161355
GCC Administrator [Fri, 25 Jun 2010 00:18:17 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r161354
Bernd Schmidt [Thu, 24 Jun 2010 23:30:28 +0000 (23:30 +0000)]
ira-int.h (struct live_range, [...]): Renamed from struct ira_allocno_live_range and allocno_live_range_t...
* ira-int.h (struct live_range, live_range_t): Renamed from struct
ira_allocno_live_range and allocno_live_range_t; all uses changed.
* ira-build.c (live_range_pool): Renamed from allocno_live_range_pool.
All uses changed.
From-SVN: r161350
Bernd Schmidt [Thu, 24 Jun 2010 23:29:44 +0000 (23:29 +0000)]
ira-int.h (SET_MINMAX_SET_BIT, [...]): Renamed from SET_ALLOCNO_SET_BIT...
* ira-int.h (SET_MINMAX_SET_BIT, CLEAR_MINMAX_SET_BIT,
TEST_MINMAX_SET_BIT, minmax_set_iterator, minmax_set_iter_init,
minmax_set_iter_cond, minmax_set_iter_next,
FOR_EACH_BIT_IN_MINMAX_SET): Renamed from SET_ALLOCNO_SET_BIT,
CLEAR_ALLOCNO_SET_BIT, TEST_ALLOCNO_SET_BIT, ira_allocno_set_iterator,
ira_allocno_set_iter_init, ira_allocno_set_iter_cond,
ira_allocno_set_iter_Next and FOR_EACH_ALLOCNO_IN_ALLOCNO_SET. All
uses changed.
From-SVN: r161349
Bernd Schmidt [Thu, 24 Jun 2010 23:28:35 +0000 (23:28 +0000)]
ira-color.c (assign_hard_reg): Improve formatting of multi-line for statement.
* ira-color.c (assign_hard_reg): Improve formatting of multi-line for
statement.
From-SVN: r161348
Bernd Schmidt [Thu, 24 Jun 2010 23:27:58 +0000 (23:27 +0000)]
ira-int.h (ira_parent_allocno, [...]): Declare.
* ira-int.h (ira_parent_allocno, ira_parent_or_cap_allocno): Declare.
* ira-build.c (ira_parent_allocno, ira_parent_or_cap_allocno): New
functions.
(ira_flattening): Use ira_parent_allocno.
* ira-conflicts.c (process_regs_for_copy, propagate_copies)
build_allocno_conflicts): Use ira_parent_or_cap_allocno.
From-SVN: r161347
Bernd Schmidt [Thu, 24 Jun 2010 23:27:09 +0000 (23:27 +0000)]
ira-build.c (merge_hard_reg_conflicts): New function.
* ira-build.c (merge_hard_reg_conflicts): New function.
(create_cap_allocno, copy_info_to_removed_store_destinations,
propagate_some_info_from_allocno, propagate_allocno_info): Use it.
(move_allocno_live_ranges, copy_allocno_live_ranges): New functions.
(remove_unnecessary_allocnos, remove_low_level_allocnos)
copy_nifo_to_removed_store_destination): Use them.
* ira-lives.c (make_hard_regno_born): New function, split out of
make_regno_born.
(make_allocno_born): Likewise.
(make_hard_regno_dead): New function, split out of make_regno_dead.
(make_allocno_dead): Likewise.
(inc_register_pressure): New function, split out of set_allocno_live.
(dec_register_pressure): New function, split out of clear_allocno_live.
(mark_pseudo_regno_live): New function, split out of mark_reg_live.
(mark_hard_reg_live): Likewise. Use inc_register_pressure.
(mark_pseudo_regno_dead): New function, split out of mark_reg_dead.
(mark_hard_reg_dead): Likewise. Use dec_register_pressure.
(make_pseudo_conflict): Use mark_pseudo_regno_dead and
mark_pseudo_regno_live.
(process_bb_node_lives): Use mark_pseudo_regno_live,
make_hard_regno_born and make_allocno_dead.
(make_regno_born, make_regno_dead, mark_reg_live, mark_reg_dead,
set_allocno_live, clear_allocno_live): Delete functions.
From-SVN: r161346
Bernd Schmidt [Thu, 24 Jun 2010 23:25:23 +0000 (23:25 +0000)]
* ira.c (allocno_pool, copy_pool, allocno_live_range_pool): Delete.
From-SVN: r161345
Richard Earnshaw [Thu, 24 Jun 2010 22:46:54 +0000 (22:46 +0000)]
thumb2.md (thumb2_tlobits_cbranch): Delete.
* thumb2.md (thumb2_tlobits_cbranch): Delete.
(peephole2 to convert zero_extract/compare of single bit to
lshift/compare): New.
From-SVN: r161344
Steve Ellcey [Thu, 24 Jun 2010 22:38:15 +0000 (22:38 +0000)]
Fix type in last checkin. (Added \t that should not have been there.)
From-SVN: r161343
Steve Ellcey [Thu, 24 Jun 2010 22:31:23 +0000 (22:31 +0000)]
re PR testsuite/43283 (ld: Unsatisfied symbol "start" in file c_lto_20091216-1_0.o)
2010-06-24 Steve Ellcey <sje@cup.hp.com>
PR testsuite/43283
* gcc.dg/lto/
20091216-1_0.c: Use newline instead of semicolon
and add argument to nop for IA64.
From-SVN: r161342
Anatoly Sokolov [Thu, 24 Jun 2010 19:11:19 +0000 (23:11 +0400)]
fold-const.c (const_binop): Remove 'notrunc' argement.
* fold-const.c (const_binop): Remove 'notrunc' argement. Adjust
recursive call and call to 'int_const_binop'.
(build_range_check, fold_cond_expr_with_comparison, unextend,
fold_truthop, extract_muldiv_1, fold_comparison, fold_binary_loc,
multiple_of_p): Adjust call to const_binop.
From-SVN: r161336
Paolo Carlini [Thu, 24 Jun 2010 18:52:42 +0000 (18:52 +0000)]
profiler_trace.h (__trace_base<>:: __trace_base()): Move inline, simplify; formatting tweaks.
2010-06-24 Paolo Carlini <paolo.carlini@oracle.com>
* include/profile/impl/profiler_trace.h (__trace_base<>::
__trace_base()): Move inline, simplify; formatting tweaks.
* include/profile/impl/profiler_hash_func.h: Formatting tweaks.
From-SVN: r161334
Paolo Carlini [Thu, 24 Jun 2010 18:52:31 +0000 (18:52 +0000)]
profiler_trace.h (__trace_base<>:: __trace_base()): Move inline, simplify; formatting tweaks.
2010-06-24 Paolo Carlini <paolo.carlini@oracle.com>
* include/profile/impl/profiler_trace.h (__trace_base<>::
__trace_base()): Move inline, simplify; formatting tweaks.
* include/profile/impl/profiler_hash_func.h: Formatting tweaks.
From-SVN: r161333
Uros Bizjak [Thu, 24 Jun 2010 18:35:52 +0000 (20:35 +0200)]
i386.md (XFmode push splitter): Use GET_MODE_SIZE to determine size of XFmode operand.
* config/i386/i386.md (XFmode push splitter): Use GET_MODE_SIZE to
determine size of XFmode operand.
(XFmode extended DFmode push splitter): Ditto.
(XFmode extended SFmode push splitter): Ditto.
From-SVN: r161332
H.J. Lu [Thu, 24 Jun 2010 18:21:21 +0000 (11:21 -0700)]
Add missing testcases for PR 44588.
From-SVN: r161330
H.J. Lu [Thu, 24 Jun 2010 18:20:28 +0000 (18:20 +0000)]
Implement 8bit divmod patterns.
gcc/
2010-06-24 H.J. Lu <hongjiu.lu@intel.com>
PR target/44588
* config/i386/i386.md (extract_code): New.
(<u>divmodqi4): Likewise.
(divmodhiqi3): Likewise.
(udivmodhiqi3): Likewise.
(<u>divqi3): Remvoved.
gcc/testsuite/
2010-06-24 H.J. Lu <hongjiu.lu@intel.com>
PR target/44588
* gcc.target/i386/mod-1.c: New.
* gcc.target/i386/umod-1.c: Likewise.
* gcc.target/i386/umod-2.c: Likewise.
* gcc.target/i386/umod-3.c: Likewise.
From-SVN: r161329
Jakub Jelinek [Thu, 24 Jun 2010 17:48:16 +0000 (19:48 +0200)]
re PR middle-end/44492 (auto-inc-dec pushes PRE_MODIFY/PRE_INC into inline asm operands)
PR middle-end/44492
* recog.h (struct recog_data): Add is_asm field.
* recog.c (asm_operand_ok, constrain_operands): If neither < nor > is
present in constraints of inline-asm operand and memory operand
contains {PRE,POST}_{INC,DEC,MODIFY}, return 0.
(extract_insn): Initialize recog_data.is_asm.
* doc/md.texi (Constraints): Document operand side-effect rules.
* g++.dg/torture/pr44492.C: New test.
From-SVN: r161328
Paolo Carlini [Thu, 24 Jun 2010 16:17:55 +0000 (16:17 +0000)]
profiler_trace.h (__warning_data:: __warning_message): Change to std::string...
2010-06-24 Paolo Carlini <paolo.carlini@oracle.com>
* include/profile/impl/profiler_trace.h (__warning_data::
__warning_message): Change to std::string; clean-up includes,
qualify size_t, fprintf, etc, with std everywhere.
(struct __warn::operator()): Adjust.
* include/profile/impl/profiler_list_to_slist.h
(__list2slist_info::__advice): Change to return a std::string;
clean-up includes, qualify size_t, fprintf, etc, with std.
* include/profile/impl/profiler_container_size.h
(__container_size_info::__advice): Likewise.
* include/profile/impl/profiler_hash_func.h (__hashfunc_info::
__advice): Likewise.
* include/profile/impl/profiler_list_to_vector.h
(__list2vector_info::__advice): Likewise.
* include/profile/impl/profiler_vector_to_list.h
(__vector2list_info::__advice): Likewise.
* include/profile/impl/profiler_map_to_unordered_map.h
(__map2umap_info::__advice): Likewise.
* include/profile/impl/profiler.h: Likewise.
* include/profile/impl/profiler_hashtable_size.h: Likewise.
* include/profile/impl/profiler_node.h: Likewise.
* include/profile/impl/profiler_vector_size.h: Likewise.
* include/profile/iterator_tracker.h: Formatting and stylistic
tweaks.
* include/profile/base.h: Likewise.
* include/profile/map.h: Likewise.
From-SVN: r161325
Joseph Myers [Thu, 24 Jun 2010 15:52:46 +0000 (16:52 +0100)]
update_web_docs_svn: Also pass -I option pointing to ada/ source directory for Ada manual.
* update_web_docs_svn: Also pass -I option pointing to ada/ source
directory for Ada manual.
From-SVN: r161324
Andi Kleen [Thu, 24 Jun 2010 12:47:30 +0000 (12:47 +0000)]
c-parser.c (c_parser_conditional_expression): Call warn_for_omitted_condop.
2010-06-24 Andi Kleen <ak@linux.intel.com>
* c-parser.c (c_parser_conditional_expression):
Call warn_for_omitted_condop.
* doc/invoke.texi: Document omitted condop warning.
c-family/
* c-common.c (warn_for_omitted_condop): New.
* c-common.h (warn_for_omitted_condop): Add prototype.
testsuite/
* c-c++-common/warn-omitted-condop.c: New.
cp/
* parser.c: (cp_parser_question_colon_clause):
Switch to use cp_lexer_peek_token.
Call warn_for_omitted_condop. Call pedwarn for omitted
middle operand.
From-SVN: r161318
Nick Clifton [Thu, 24 Jun 2010 10:01:57 +0000 (10:01 +0000)]
loop-unswitch.c (compare_and_jump_seq): Assert that the last insn in the sequence is a jump insn before setting its label.
* loop-unswitch.c (compare_and_jump_seq): Assert that the last
insn in the sequence is a jump insn before setting its label.
From-SVN: r161313
Alan Modra [Thu, 24 Jun 2010 08:39:11 +0000 (18:09 +0930)]
collect2.c (main): Match exactly --version and --help.
* collect2.c (main): Match exactly --version and --help.
From-SVN: r161311
Tobias Burnus [Thu, 24 Jun 2010 07:51:22 +0000 (09:51 +0200)]
re PR fortran/44614 ([OOP] Wrongly importing a symbol into an interface without IMPORT)
2010-06-24 Tobias Burnus <burnus@net-b.de>
PR fortran/44614
* decl.c (variable_decl): Fix IMPORT diagnostic for CLASS.
2010-06-24 Tobias Burnus <burnus@net-b.de>
PR fortran/44614
* gfortran.dg/import8.f90: New.
From-SVN: r161310
DJ Delorie [Thu, 24 Jun 2010 04:26:04 +0000 (00:26 -0400)]
* config/m32c/m32c-pragma.c: Don't include rtl.h.
From-SVN: r161307
GCC Administrator [Thu, 24 Jun 2010 00:17:50 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r161305
Anatoly Sokolov [Wed, 23 Jun 2010 19:18:10 +0000 (23:18 +0400)]
decl.c (java_init_decl_processing): Use double_int_to_tree instead of build_int_cst_wide.
/java
* decl.c (java_init_decl_processing): Use double_int_to_tree instead
of build_int_cst_wide.
* boehm.c (set_bit): Remove.
(mark_reference_fields): Use double_int type for 'mask' argument.
Use double_int_setbit instead of set_bit.
(get_boehm_type_descriptor): Use double_int_setbit instead of
set_bit. Use double_int_to_tree instead of build_int_cst_wide.
From-SVN: r161288
Uros Bizjak [Wed, 23 Jun 2010 19:02:42 +0000 (21:02 +0200)]
i386 (mov<mode>): Macroize expander from mov{sf,df,xf} using X87MODEF mode iterator.
* config/i386/i386 (mov<mode>): Macroize expander from mov{sf,df,xf}
using X87MODEF mode iterator.
(pushsf splitter): Macroize splitter using P mode iterator.
(*swap<mode>): Macroize insn from *swap{sf,df} using MODEF
mode iterator.
(*movxf_internal): Rename from *movxf_integer.
(*movxf_internal_nointeger): Rename from *movxf_nointeger.
(*movdf_internal_rex64): Rename from *movdf_integer_rex64.
(*movdf_internal): Rename from *movdf_integer.
(*movdf_internal_nointeger): Rename from *movdf_nointeger.
(*movsf_internal): Rename from *movdf_1.
From-SVN: r161287
Basile Starynkevitch [Wed, 23 Jun 2010 16:10:01 +0000 (16:10 +0000)]
coretypes.h: (gimple_seq_node_d, gimple_seq_node)
2010-06-23 Basile Starynkevitch <basile@starynkevitch.net>
* coretypes.h: (gimple_seq_node_d, gimple_seq_node)
(const_gimple_seq_node): Removed typedefs.
* gimple.h: (gimple_seq_node_d, gimple_seq_node)
(const_gimple_seq_node): Added typedefs moved from coretypes.h.
From-SVN: r161283
Joern Rennecke [Wed, 23 Jun 2010 14:25:33 +0000 (14:25 +0000)]
re PR other/44644 (type/data name clash makes --enable-build-with-cxx cc1 hard to debug)
PR other/44644
* df-core.c (struct df): Rename to df_d.
* df.h (struct df): Likewise.
* dse.h (struct df): Remove forward declaration.
* recog.h (struct insn_data): Rename to:
(struct_insn_data_d). Adjusted all users.
From-SVN: r161281
H.J. Lu [Wed, 23 Jun 2010 14:11:23 +0000 (14:11 +0000)]
Split AVX vec_extract_lo_XXX and 128bit to 256bit cast.
Remove 256bit to 128bit cast.
2010-06-23 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (bdesc_args): Replace CODE_FOR_avx_si_si256,
CODE_FOR_avx_ps_ps256 and CODE_FOR_avx_pd_pd256 with
CODE_FOR_vec_extract_lo_v8si, CODE_FOR_vec_extract_lo_v8sf
and CODE_FOR_vec_extract_lo_v4df.
* config/i386/sse.md (vec_extract_lo_<AVX256MODE4P:mode>):
Changed to define_insn_and_split.
(vec_extract_lo_<AVX256MODE8P:mode>): Likewise.
(vec_extract_lo_v16hi): Likewise.
(vec_extract_lo_v32qi): Likewise.
(avx_<avxmodesuffixp><avxmodesuffix>_<avxmodesuffixp>): Likewise.
(avx_<avxmodesuffixp>_<avxmodesuffixp><avxmodesuffix>): Removed.
From-SVN: r161279
Arnaud Charlet [Wed, 23 Jun 2010 12:51:37 +0000 (14:51 +0200)]
Fix header.
From-SVN: r161278
Arnaud Charlet [Wed, 23 Jun 2010 12:44:34 +0000 (14:44 +0200)]
[multiple changes]
2010-06-23 Thomas Quinot <quinot@adacore.com>
* exp_attr.adb (Expand_Access_To_Protected_Op): When rewriting a
reference to a protected subprogram outside of the protected's scope,
ensure the corresponding external subprogram is frozen before the
reference.
2010-06-23 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb: Fix typo in error message.
* sem.adb: Refine previous change.
2010-06-23 Robert Dewar <dewar@adacore.com>
* impunit.adb, a-suewen.adb, a-suewen.ads, a-suenco.adb, a-suenco.ads,
a-suezen.adb, a-suezen.ads, a-stuten.adb, a-stuten.ads, Makefile.rtl:
Implement Ada 2012 string encoding packages.
2010-06-23 Arnaud Charlet <charlet@adacore.com>
* a-stwiun-shared.adb, a-stwiun-shared.ads, a-stzunb-shared.adb,
a-stzunb-shared.ads, a-swunau-shared.adb, a-swuwti-shared.adb,
a-szunau-shared.adb, a-szuzti-shared.adb: New files.
* gcc-interface/Makefile.in: Enable use of above files.
From-SVN: r161277
Joern Rennecke [Wed, 23 Jun 2010 12:40:04 +0000 (13:40 +0100)]
Add PR markers.
From-SVN: r161276
Joern Rennecke [Wed, 23 Jun 2010 12:31:08 +0000 (12:31 +0000)]
* config/spu/spu.c (ea_load_store_inline): Use add_reg_note.
From-SVN: r161275
Joern Rennecke [Wed, 23 Jun 2010 12:29:32 +0000 (12:29 +0000)]
* config/spu/spu-protos.h (spu_expand_epilogue) Use bool.
* config/spu/spu.c (spu_scalar_mode_supported_p): Declare with bool.
(spu_vector_mode_supported_p, spu_handle_fndecl_attribute): Likewise.
(spu_handle_vector_attribute, spu_pass_by_reference): Likewise.
(spu_rtx_costs, spu_function_ok_for_sibcall): Likewise.
From-SVN: r161274
Arnaud Charlet [Wed, 23 Jun 2010 10:21:23 +0000 (12:21 +0200)]
[multiple changes]
2010-06-23 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb (Check_Constant_Address_Clauses): Do not check legality
of address clauses if if Ignore_Rep_Clauses is active.
* freeze.adb (Check_Address_Clause): If Ignore_Rep_Clauses is active,
remove address clause from tree so that it does not reach the backend.
2010-06-23 Arnaud Charlet <charlet@adacore.com>
* exp_attr.adb (Expand_N_Attribute_Reference [Attribute_Valid]): Do not
expand 'Valid from user code in CodePeer mode, will be handled by the
back-end directly.
2010-06-23 Bob Duff <duff@adacore.com>
* g-comlin.ads: Minor comment improvements.
2010-06-23 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Uses_SS): The expression that initializes a controlled
component of a record type may be a user-defined operator that is
rewritten as a function call.
From-SVN: r161271
Bob Duff [Wed, 23 Jun 2010 10:13:57 +0000 (10:13 +0000)]
g-comlin.ads, [...]: Minor comment fix.
2010-06-23 Bob Duff <duff@adacore.com>
* g-comlin.ads, sem_ch13.adb: Minor comment fix.
From-SVN: r161270
Arnaud Charlet [Wed, 23 Jun 2010 09:53:24 +0000 (11:53 +0200)]
[multiple changes]
2010-06-23 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch11.adb (Expand_Local_Exception_Handlers): Propagate the end
label to the new sequence of statements. Set the sloc of the raise
statement onto the new goto statements.
2010-06-23 Robert Dewar <dewar@adacore.com>
* a-stuten.ads, a-stuten.adb: New files.
* impunit.adb: Add engtry for Ada.Strings.UTF_Encoding (a-stuten.ads)
* Makefile.rtl: Add entry for a-stuten (Ada.Strings.UTF_Encoding)
2010-06-23 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Add documentation of -gnat12 switch
Add documentation of -gnatX switch.
2010-06-23 Ed Schonberg <schonberg@adacore.com>
* inline.ads: Include the current Ada_Version in the info for pending
instance bodies, so that declaration and body are compiled with the
same Ada_Version.
* inline.adb: Move with_clause for Opt to spec.
* sem_ch12.adb (Analyze_Package_Instantiation,
Analyze_Subprogram_Instantiation): Save current Ada_Version in
Pending_Instantiation information.
(Instantiate_Package_Body, Instantiate_Subprogram_Body,
Inline_Package_Body): Use the Ada_Version present in the body
information.
2010-06-23 Robert Dewar <dewar@adacore.com>
* usage.adb: Add documentation for -gnat12 switch.
* errout.ads: Add VMS alias entry for -gnat12 switch
* gnat_rm.texi: Add documentation for pragma Ada_12 and Ada_2012
Add documentation for pragma Extensions_Allowed.
* opt.ads: Add entry for Ada 2012 mode.
* sem_ch4.adb, par-ch3.adb, par-ch4.adb: Use new Ada 2012 mode for 2012
features.
* sem_prag.adb, par-prag.adb: Add processing for pragma Ada_12 and
Ada_2012.
* sem_ch13.adb: Add handling for Ada 2012 mode.
* snames.ads-tmpl: Add entries for pragma Ada_2012 and Ada_12.
* switch-c.adb: Add handling for -gnat12 switch.
Implement -gnat2005 and -gnat2012.
* usage.adb: Add documentation for -gnat12 switch.
* vms_data.ads: Add /12 switch for Ada 2012 mode.
From-SVN: r161268
Paolo Carlini [Wed, 23 Jun 2010 09:50:42 +0000 (09:50 +0000)]
stl_tree.h (erase(iterator), [...]): Remove inline specifier.
2010-06-23 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/stl_tree.h (erase(iterator), erase(const_iterator)):
Remove inline specifier.
From-SVN: r161267
Arnaud Charlet [Wed, 23 Jun 2010 09:29:04 +0000 (09:29 +0000)]
exp_ch4.adb (Expand_N_Allocator): Fix potential crash when using No_Task_Hierarchy restriction.
2010-06-23 Arnaud Charlet <charlet@adacore.com>
* exp_ch4.adb (Expand_N_Allocator): Fix potential crash when using
No_Task_Hierarchy restriction. Add comment.
* exp_ch9.adb, exp_ch3.adb: Update comments.
From-SVN: r161266
Arnaud Charlet [Wed, 23 Jun 2010 09:23:47 +0000 (11:23 +0200)]
[multiple changes]
2010-06-23 Robert Dewar <dewar@adacore.com>
* sem_ch5.adb (Process_Bounds): Remove some junk initializations.
* sem_res.adb: Add comments.
* sem_util.adb: Minor reformatting. Add comments.
Change increment on Actuals_In_Call table.
* opt.ads: Minor: add 'constant'.
2010-06-23 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Make_DT): Initialize the Size_Func component of the
TSD to Null_Address if No_Dispatching_Calls is active.
2010-06-23 Vincent Celier <celier@adacore.com>
* a-comlin.ads: Indicate that use of this package is not supported
during the elaboration of an auto-initialized Stand-Alone Library.
2010-06-23 Ed Schonberg <schonberg@adacore.com>
* exp_util.adb (Is_Possibly_Misaligned_Object): Do not rely on an
alignment clause on a record type to determine if a component may be
misaligned. The decision must be taken in the back-end where target
alignment information is known.
2010-06-23 Arnaud Charlet <charlet@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Enable some restrictions
systematically in CodePeer mode to simplify generated code.
* restrict.adb (Check_Restriction): Do nothing in CodePeer mode.
* exp_ch4.adb (Expand_N_Allocator): Generate proper code when
No_Task_Hierarchy is set instead of crasshing.
From-SVN: r161265
Arnaud Charlet [Wed, 23 Jun 2010 09:14:55 +0000 (11:14 +0200)]
[multiple changes]
2010-06-23 Thomas Quinot <quinot@adacore.com>
* sem_util.adb: Minor code cleanup: test for proper entity instead of
testing just Chars attribute when checking whether a given scope is
System.
* exp_ch4.adb, einfo.adb: Minor reformatting.
2010-06-23 Vincent Celier <celier@adacore.com>
PR ada/44633
* switch-m.adb (Normalize_Compiler_Switches): Take into account
switches -gnatB, -gnatD=nn, -gnatG (incuding -gnatG=nn), -gnatI,
-gnatl=file, -gnatS, -gnatjnn, -gnateI=nn and -gnatWx.
2010-06-23 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Resolve_Membership_Op): If left operand is a mixed mode
operation with a universal real operand, and the right operand is a
range with universal bounds, find unique fixed point that may be
candidate, and warn appropriately.
From-SVN: r161264
Arnaud Charlet [Wed, 23 Jun 2010 09:08:31 +0000 (11:08 +0200)]
[multiple changes]
2010-06-23 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Resolve_Intrinsic_Operator): Add guards to handle
properly the rare cases where VMS operators are visible through
Extend_System, but the default System is being used and Address is a
private type.
* sem_util.adb: Widen predicate Is_VMS_Operator.
2010-06-23 Vincent Celier <celier@adacore.com>
* switch-m.adb (Normalize_Compiler_Switches): Take into account -gnatC
and -gnateS.
From-SVN: r161263
Arnaud Charlet [Wed, 23 Jun 2010 09:01:32 +0000 (11:01 +0200)]
[multiple changes]
2010-06-23 Olivier Hainque <hainque@adacore.com>
* einfo.adb (Has_Foreign_Convention): Consider Intrinsic with
Interface_Name as foreign. These are GCC builtin imports for
which Ada specific processing doesn't apply.
2010-06-23 Thomas Quinot <quinot@adacore.com>
* sem_ch12.adb: Minor reformatting.
2010-06-23 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb (Is_VMS_Operator): Use scope of system extension to
determine whether an intrinsic subprogram is VMS specific.
2010-06-23 Hristian Kirtchev <kirtchev@adacore.com>
* treepr.adb (Print_Entity_Info): Output the contents of Field28 if it
is present in the entity.
From-SVN: r161262
Olivier Hainque [Wed, 23 Jun 2010 08:56:20 +0000 (08:56 +0000)]
(gnat_to_gnu_param): Use void_ptr GCC type for System.Address argument
of GCC builtin imports.
From-SVN: r161261
Arnaud Charlet [Wed, 23 Jun 2010 08:53:09 +0000 (08:53 +0000)]
xr_tabls.adb, [...]: Update to latest lib-xref.ads Fix handling of parameters.
2010-06-23 Arnaud Charlet <charlet@adacore.com>
* xr_tabls.adb, xref_lib.adb: Update to latest lib-xref.ads
Fix handling of parameters.
Add protection against unexpected cases.
* sem_ch6.adb (Create_Extra_Formals): Use suffix "L" instead of "A" for
access level, since "A" suffix is already used elsewhere. Similarly,
use suffix "O" instead of "C" for 'Constrained since "C" suffix is used
for xxx'Class.
From-SVN: r161260
Arnaud Charlet [Wed, 23 Jun 2010 08:46:08 +0000 (10:46 +0200)]
[multiple changes]
2010-06-23 Thomas Quinot <quinot@adacore.com>
* sem_util.adb, sem_util.ads: Minor reformatting.
2010-06-23 Vincent Celier <celier@adacore.com>
* prj.ads (Gprclean_Flags.Missing_Source_Files): Set to Error to keep
the previous behavior of gprclean when there are missing files.
2010-06-23 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Load_Body_Of_Generic): In CodePeer mode, a missing
generic body is not a fatal error.
(Mark_Context): Handle properly names of child units.
* sem.adb (Walk_Library_Items.Do_Action): Remove assertion on
instantiations.
2010-06-23 Vincent Celier <celier@adacore.com>
* ali.adb (Scan_ALI): When ignoring R lines, do not skip the next
non-empty line.
2010-06-23 Bob Duff <duff@adacore.com>
* g-pehage.ads, g-pehage.adb: Switch default optimization mode to
Memory_Space, because CPU_Time doesn't seem to provide any significant
speed advantage in practice. Cleanup: Get rid of constant
Default_Optimization; doesn't seem to add anything. Use case
statements instead of if statements; seems cleaner.
From-SVN: r161259
Olivier Hainque [Wed, 23 Jun 2010 08:40:22 +0000 (08:40 +0000)]
decl.c (gnat_to_gnu_entity): Use Wshadow instead of Wextra to guard warning on absence of internal builtin...
* gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Procedure>: Use
Wshadow instead of Wextra to guard warning on absence of internal
builtin decl for an import. Fix use of quote in warning text.
(intrin_arglists_compatible_p): Remove processing of integer trailing
args on the Ada side. Fix use of literal > in warning text.
(intrin_return_compatible_p): Never warn on "function imported as
procedure". Defer the void/void case to the common type compatibility
check.
From-SVN: r161258
Olivier Hainque [Wed, 23 Jun 2010 08:28:20 +0000 (08:28 +0000)]
decl.c (intrin_types_incompatible_p): New function, helper for ...
2010-06-23 Olivier Hainque <hainque@adacore.com>
* gcc-interface/decl.c (intrin_types_incompatible_p): New function,
helper for ...
(intrin_arglists_compatible_p, intrin_return_compatible_p): New
functions, helpers for ...
(intrin_profiles_compatible_p): New function, replacement for ...
(compatible_signatures_p): Removed.
(gnat_to_gnu_entity) <case E_Procedure>: If -Wextra, warn on
attempt to bind an unregistered builtin function. When we have
one, use it and warn on profile incompatibilities.
From-SVN: r161257
Arnaud Charlet [Wed, 23 Jun 2010 07:47:57 +0000 (09:47 +0200)]
Replace PR 22220 by PR ada/22220.
From-SVN: r161256
Arnaud Charlet [Wed, 23 Jun 2010 07:08:46 +0000 (09:08 +0200)]
re PR ada/22220 (Unable to build gnattools native i586)
PR 22220
* doc/install.texi: Update requirements to build GNAT.
From-SVN: r161255
Arnaud Charlet [Wed, 23 Jun 2010 07:01:12 +0000 (07:01 +0000)]
Update dependencies.
From-SVN: r161254
Arnaud Charlet [Wed, 23 Jun 2010 06:59:47 +0000 (08:59 +0200)]
[multiple changes]
2010-06-23 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb (Mark_Coextensions): If the expression in the allocator
for a coextension in an object declaration is a concatenation, treat
coextension as dynamic.
2010-06-23 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Add_Internal_Interface_Entities): Ensure that the
internal entities are added to the scope of the tagged type.
(Derive_Subprograms): Do not stop derivation when we find the first
internal entity that has attribute Interface_Alias. After the change
done to Override_Dispatching_Operations it is no longer true that
these primirives are always located at the end of the list of
primitives.
* einfo.ads (Primitive_Operations): Add documentation.
* exp_disp.adb (Write_DT): Improve output adding to the name of the
primitive a prefix indicating its corresponding tagged type.
* sem_disp.adb (Override_Dispatching_Operations): If the overridden
entity covers the primitive of an interface that is not an ancestor of
this tagged type then the new primitive is added at the end of the list
of primitives. Required to fulfill the C++ ABI.
From-SVN: r161253
Arnaud Charlet [Wed, 23 Jun 2010 06:50:13 +0000 (08:50 +0200)]
[multiple changes]
2010-06-23 Javier Miranda <miranda@adacore.com>
* atree.ads (Set_Reporting_Proc): New subprogram.
* atree.adb: Remove dependency on packages Opt and SCIL_LL.
(Allocate_Initialize_Node, Replace, Rewrite): Replace direct calls
to routines of package Scil_ll by indirect call to the registered
subprogram.
(Set_Reporting_Proc): New subprogram. Used to register a subprogram
that is invoked when a node is allocated, replaced or rewritten.
* scil_ll.adb (Copy_SCIL_Node): New routine that takes care of copying
the SCIL node. Used as argument for Set_Reporting_Proc.
(Initialize): Register Copy_SCIL_Node as the reporting routine that
is invoked by atree.
2010-06-23 Thomas Quinot <quinot@adacore.com>
* sem_ch3.ads: Minor reformatting.
2010-06-23 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Analyze_Package_Instantiation): In CodePeer mode,
always analyze the generic body and instance, because it may be needed
downstream.
(Mark_Context): Prepend the with clauses for needed generic units, so
they appear in a better order for CodePeer.
* sem_util.adb, sem_util.ads: Prototype code for AI05-0144.
2010-06-23 Emmanuel Briot <briot@adacore.com>
* prj.ads, prj-nmsc.adb (Error_Or_Warning): New subprogram.
From-SVN: r161252
Arnaud Charlet [Wed, 23 Jun 2010 06:43:38 +0000 (08:43 +0200)]
[multiple changes]
2010-06-23 Robert Dewar <dewar@adacore.com>
* g-pehage.adb, exp_ch13.adb: Minor reformatting.
2010-06-23 Thomas Quinot <quinot@adacore.com>
* a-tags.ads: Fix description of TSD structure.
2010-06-23 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Mark_Context): When indicating that the body of a
generic unit is needed prior to the unit containing an instantiation,
search recursively the context of the generic to add other generic
bodies that may be instantiated indirectly through the current instance.
From-SVN: r161251
Arnaud Charlet [Wed, 23 Jun 2010 06:39:36 +0000 (08:39 +0200)]
[multiple changes]
2010-06-23 Robert Dewar <dewar@adacore.com>
* freeze.adb: Minor reformatting.
2010-06-23 Bob Duff <duff@adacore.com>
* g-pehage.adb (Trim_Trailing_Nuls): Fix the code to match the comment.
2010-06-23 Vincent Celier <celier@adacore.com>
* make.adb (Compile_Sources): Complete previous change.
2010-06-23 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Add_Extra_Formal): Use suffix "C" in the name of the
Constrained extra formal.
2010-06-23 Ed Schonberg <schonberg@adacore.com>
* exp_ch13.adb (Expand_Freeze_Actions): If validity checks and
Initialize_Scalars are enabled, compile the generated equality function
for a composite type with full checks enabled, so that validity checks
are performed on individual components.
From-SVN: r161250
Arnaud Charlet [Wed, 23 Jun 2010 06:35:36 +0000 (08:35 +0200)]
[multiple changes]
2010-06-23 Emmanuel Briot <briot@adacore.com>
* prj.adb, prj.ads, prj-nmsc.adb (Processing_Flags): New flag
Missing_Source_Files.
2010-06-23 Robert Dewar <dewar@adacore.com>
* exp_ch3.adb, exp_util.adb: Minor reformatting.
From-SVN: r161249
Arnaud Charlet [Wed, 23 Jun 2010 06:31:57 +0000 (08:31 +0200)]
[multiple changes]
2010-06-23 Jose Ruiz <ruiz@adacore.com>
* a-reatim.adb, a-retide.adb: Move the initialization of the tasking
run time from Ada.Real_Time.Delays to Ada.Real_Time. This way, calls to
Clock (without delays) use a run time which is properly initialized.
2010-06-23 Vincent Celier <celier@adacore.com>
* make.adb: Do not set Check_Readonly_Files when setting Must_Compile,
when -f -u and a main is specified on the command line. However,
attempt to compile even when the ALI file is read-only when
Must_Compile is True.
2010-06-23 Thomas Quinot <quinot@adacore.com>
* checks.adb, g-pehage.adb, cstand.adb: Minor code factorization.
From-SVN: r161248
Arnaud Charlet [Wed, 23 Jun 2010 06:26:07 +0000 (08:26 +0200)]
[multiple changes]
2010-06-23 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Add_Internal_Interface_Entities): Generate internal
entities for parent types that are interfaces. Needed in generics to
handle formals that implement interfaces.
(Derive_Subprograms): Add assertion for derivation of tagged types that
do not cover interfaces. For generics, complete code that handles
derivation of type that covers interfaces because the previous
condition was weak (it required only name consistency; arguments were
not checked). Add new code to locate primitives covering interfaces
defined in generic units or instantiatons.
* sem_util.adb (Has_Interfaces): Add missing support for derived types.
* sem_ch6.adb (Check_Overriding_Indicator): Minor code cleanups.
* exp_disp.adb (Make_Select_Specific_Data_Table): Skip primitives of
interfaces that are parents of the type because they share the primary
dispatch table.
(Register_Primitive): Do not register primitives of interfaces that
are parents of the type.
* sem_ch13.adb (Analyze_Freeze_Entity): Add documentation.
* exp_cg.adb (Write_Type_Info): When displaying overriding of interface
primitives skip primitives of interfaces that are parents of the type.
2010-06-23 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Eval_Attribute): If the prefix is an array, the
attribute cannot be constant-folded if an index type is a formal type,
or is derived from one.
* checks.adb (Determine_Range): ditto.
2010-06-23 Arnaud Charlet <charlet@adacore.com>
* gnat_ugn.texi, gnatxref.adb: Add support for --ext switch.
2010-06-23 Bob Duff <duff@adacore.com>
* g-pehage.ads, g-pehage.adb (Put): Fix off-by-one bug.
(Insert): Disallow nul characters.
(misc output routines): Assert no nul characters.
From-SVN: r161247
Arnaud Charlet [Wed, 23 Jun 2010 06:21:26 +0000 (08:21 +0200)]
[multiple changes]
2010-06-23 Ed Schonberg <schonberg@adacore.com>
* exp_ch4.adb: Use predefined unsigned type in all cases.
2010-06-23 Bob Duff <duff@adacore.com>
* s-rannum.adb (Reset): Avoid overflow in calculation of Initiator.
* g-pehage.ads: Minor comment fixes.
* g-pehage.adb: Minor: Add some additional debugging printouts under
Verbose flag.
2010-06-23 Robert Dewar <dewar@adacore.com>
* binde.adb (Better_Choice): Always prefer Pure/Preelab.
(Worse_Choice): Always prefer Pure/Preelab.
From-SVN: r161246
Vincent Celier [Wed, 23 Jun 2010 06:17:00 +0000 (06:17 +0000)]
a-reatim.adb: Call System.OS_Primitives.Initialize during elaboration
2010-06-23 Vincent Celier <celier@adacore.com>
* a-reatim.adb: Call System.OS_Primitives.Initialize during elaboration
From-SVN: r161245
Arnaud Charlet [Wed, 23 Jun 2010 06:11:20 +0000 (08:11 +0200)]
[multiple changes]
2010-06-23 Robert Dewar <dewar@adacore.com>
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Properly handle
checking returns in generic case.
(Check_Missing_Return): New procedure.
2010-06-23 Robert Dewar <dewar@adacore.com>
* bindgen.adb, switch-b.adb: Minor reformatting.
2010-06-23 Javier Miranda <miranda@adacore.com>
* frontend.adb (Frontend): Add call to initialize the new package
SCIL_LL.
* exp_ch7.adb (Wrap_Transient_Expression): Remove call to
Adjust_SCIL_Node.
(Wrap_Transient_Statement): Remove call to Adjust_SCIL_Node.
* sem_ch5.adb (Analyze_Iteration_Scheme.Process_Bounds): Remove call to
Adjust_SCIL_Node.
* exp_util.adb (Insert_Actions): Remove code for
N_SCIL_Dispatch_Table_Object_Init and N_SCIL_Tag_Init nodes.
(Remove_Side_Effects): Remove calls to Adjust_SCIL_Node.
* sinfo.adb (SCIL_Entity, SCIL_Tag_Value): Remove checks on
N_SCIL_Tag_Init and N_SCIL_Dispatch_Table_Object_Init in the assertion.
(SCIL_Related_Node, Set_SCIL_Related_Node): Removed.
* sinfo.ads (SCIL_Related_Node): Field removed.
(N_SCIL_Dispatch_Table_Object_Init): Node removed.
(N_SCIL_Tag_Init): Node removed.
* sem_scil.ads, sem_scil.adb (Adjust_SCIL_Node): Removed.
(Check_SCIL_Node): New implementation.
(Find_SCIL_Node): Removed.
* sem.adb (Analyze): Remove management of
N_SCIL_Dispatch_Table_Object_Init and N_SCIL_Tag_Init nodes.
* sem_util.adb (Insert_Explicit_Dereference): Remove call to
Adjust_SCIL_Node.
* exp_ch4.adb (Expand_N_In): Code cleanup: remove call to
Set_SCIL_Related_Node and avoid adding the SCIL node before the
referenced node using Insert_Action because this is not longer required.
(Expand_Short_Circuit_Operator): Remove call to SCIL node.
* exp_ch6.adb (Expand_Call): Remove call to Adjust_SCIL_Node.
* sem_ch4.adb (Analyze_Type_Conversion): Remove call to Adjust_SCIL_Node
* exp_disp.adb (Expand_Dispatching_Call): Minor code reorganization
because we no longer require to generate the SCIL node before the call.
(Make_DT): Remove generation of SCI_Dispatch_Table_Object_Init node.
Remove calls to Set_SCIL_Related_Node and avoid adding the SCIL
nodes before the referenced node using Insert_Action because this
is not longer required.
* atree.adb (Allocate_Initialize_Node, Replace, Rewrite): Add call to
update the SCIL_Node field.
* sprint.adb (Sprint_Node_Actual): Remove code for
N_SCIL_Dispatch_Table_Object_Init and N_SCIL_Tag_Init nodes.
* treepr.adb (Print_Node): Print the SCIL node field (if available).
* exp_ch3.adb (Build_Init_Procedure): Remove generation of
SCIL_Tag_Init nodes.
* scil_ll.ads, scil_ll.adb: New files.
From-SVN: r161244
Arnaud Charlet [Wed, 23 Jun 2010 05:48:28 +0000 (07:48 +0200)]
[multiple changes]
2010-06-23 Robert Dewar <dewar@adacore.com>
* sem_ch6.adb: Minor reformatting.
2010-06-23 Doug Rupp <rupp@adacore.com>
* bindusg.adb (Display): Write -Hnn line.
* bindgen.adb (Gen_Adainit_Ada): Write Heap_Size to binder file as
necessary.
* init.c (__gl_heap_size): Rename from __gl_no_malloc_64 and change
valid values to 32 and 64.
(GNAT$NO_MALLOC_64): Recognize TRUE, 1, FALSE, and 0 in addition to
ENABLE, DISABLE as valid settings.
* switch-b.adb (Scan_Binder_Switches): Process -Hnn switch.
* opt.ads (Heap_Size): New global variable.
* gcc-interface/utils2.c (maybe_wrap_malloc): Remove mostly redundant
TARGET_MALLOC64 check. Fix comment.
From-SVN: r161243
Robert Dewar [Wed, 23 Jun 2010 05:40:52 +0000 (05:40 +0000)]
sem_ch6.adb, [...]: Minor reformatting.
2010-06-23 Robert Dewar <dewar@adacore.com>
* sem_ch6.adb, exp_ch4.adb, s-rannum.ads, sem.adb, sem_ch12.adb: Minor
reformatting. Add comments.
* errout.adb (Finalize): Properly adjust warning count when deleting
continuations.
From-SVN: r161242
Arnaud Charlet [Wed, 23 Jun 2010 05:21:16 +0000 (05:21 +0000)]
* gnat.dg/not_null.adb: Update test case.
From-SVN: r161241
GCC Administrator [Wed, 23 Jun 2010 00:17:33 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r161240
Paolo Carlini [Tue, 22 Jun 2010 23:36:32 +0000 (23:36 +0000)]
profiler_list_to_slist.h: Fix formatting, other minor stylistic changes.
2010-06-22 Paolo Carlini <paolo.carlini@oracle.com>
* include/profile/impl/profiler_list_to_slist.h: Fix formatting,
other minor stylistic changes.
* include/profile/impl/profiler_container_size.h: Likewise.
* include/profile/impl/profiler_vector_size.h: Likewise.
* include/profile/impl/profiler_hash_func.h: Likewise.
* include/profile/impl/profiler_trace.h: Likewise.
* include/profile/impl/profiler_list_to_vector.h: Likewise.
* include/profile/impl/profiler_vector_to_list.h: Likewise.
* include/profile/impl/profiler_state.h: Likewise.
* include/profile/impl/profiler_map_to_unordered_map.h: Likewise.
* include/profile/impl/profiler_hashtable_size.h: Likewise.
* include/profile/impl/profiler_node.h: Likewise.
From-SVN: r161236
Matthias Klose [Tue, 22 Jun 2010 22:09:07 +0000 (22:09 +0000)]
printers.py: Don't use string exceptions.
2010-06-22 Matthias Klose <doko@ubuntu.com>
* python/libstdcxx/v6/printers.py: Don't use string exceptions.
From-SVN: r161233