OSDN Git Service

pf3gnuchains/gcc-fork.git
12 years ago2010-06-26 Tobias Burnus <burnus@net-b.de>
burnus [Sat, 26 Jun 2010 06:19:57 +0000 (06:19 +0000)]
2010-06-26  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/semicolon_fixed.f: Fix dg syntax..
        * gfortran.dg/semicolon_fixed_2.f: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161426 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago* config/m32c/m32c-protos.h (m32c_note_pragma_address): Declare.
dj [Sat, 26 Jun 2010 03:30:19 +0000 (03:30 +0000)]
* config/m32c/m32c-protos.h (m32c_note_pragma_address): Declare.
(m32c_output_aligned_common): Likewise.
* config/m32c/m32c.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
(ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
* config/m32c/m32c-pragma.c (m32c_pragma_address): New.
(m32c_register_pragmas): Register it.
* config/m32c/m32c.c (m32c_get_pragma_address): New.
(m32c_insert_attributes): Set #pragma address decls volatile.
(pragma_entry_eq): New.
(pragma_entry_hash): New.
(m32c_note_pragma_address): New.
(m32c_get_pragma_address): New.
(m32c_output_aligned_common): New.
* doc/extend.texi: Document the new pragma.

* config/m32c/m32c.c (m32c_illegal_subreg_p): Reject illegal MEMs
also.
* config/m32c/predicates.md (m32c_any_operand): Check the code
instead of memory_operand so as to allow matching volatile MEMs.
(m32c_nonimmediate_operand): Likewise.
(mra_operand): Allow volatiles.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161425 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Sat, 26 Jun 2010 00:17:02 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161424 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-25 Jonathan Wakely <jwakely.gcc@gmail.com>
redi [Fri, 25 Jun 2010 23:18:08 +0000 (23:18 +0000)]
2010-06-25  Jonathan Wakely  <jwakely.gcc@gmail.com>

* doc/xml/faq.xml: Fix typo.
* doc/html/faq.xml: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161420 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-25 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 25 Jun 2010 23:04:11 +0000 (23:04 +0000)]
2010-06-25  Paolo Carlini <paolo.carlini@oracle.com>

Reformat last ChangeLog entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161419 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Fri, 25 Jun 2010 21:32:37 +0000 (21:32 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161416 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoPR debug/44610
aoliva [Fri, 25 Jun 2010 21:11:32 +0000 (21:11 +0000)]
PR debug/44610
* simplify-rtx.c (delegitimize_mem_from_attrs): Don't use a base
address if the offset is unknown.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161413 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-25 Tobias Burnus <burnus@net-b.de>
burnus [Fri, 25 Jun 2010 19:40:37 +0000 (19:40 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161411 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-25 Stephen M. Webb <stephen.webb@bregmasoft.ca>
smw [Fri, 25 Jun 2010 19:27:16 +0000 (19:27 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161410 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-25 Tobias Burnus <burnus@net-b.de>
burnus [Fri, 25 Jun 2010 19:17:21 +0000 (19:17 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161409 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-25 Tobias Burnus <burnus@net-b.de>
burnus [Fri, 25 Jun 2010 19:02:47 +0000 (19:02 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161406 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-25 Tobias Burnus <burnus@net-b.de>
burnus [Fri, 25 Jun 2010 19:01:04 +0000 (19:01 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161405 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * dwarf2out.c (dwarf2out_vms_debug_main_pointer): New function.
rupp [Fri, 25 Jun 2010 18:49:36 +0000 (18:49 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161402 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDo not insert statements computing the true predicate.
spop [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161398 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoUse reset_bb_predicate whenever the predicate of a BB should be reset to true.
spop [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161397 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoCall cleanup_tree_cfg after if-conversion.
spop [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161396 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoAdd a debug counter for the tree-ssa level if-conversion.
spop [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161395 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
ro [Fri, 25 Jun 2010 18:31:33 +0000 (18:31 +0000)]
2010-06-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/44448
* gfortran.dg/atan2_1.f90: Add -ffloat-store.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161392 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoEnable prefetching at -O3 for AMD cpus.
spop [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161391 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-25 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 25 Jun 2010 17:06:06 +0000 (17:06 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161390 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDon't search DEBUG_INSNs for removable zero extends.
hjl [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161389 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-25 Martin Jambor <mjambor@suse.cz>
jamborm [Fri, 25 Jun 2010 14:27:47 +0000 (14:27 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161384 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
manu [Fri, 25 Jun 2010 13:23:08 +0000 (13:23 +0000)]
2010-06-25  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* doc/invoke.texi (-Wsuggest-attribute): Add item for noreturn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161383 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * tree-pass.h (pass_split_functions): Declare.
hubicka [Fri, 25 Jun 2010 13:13:31 +0000 (13:13 +0000)]
* 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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161382 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
manu [Fri, 25 Jun 2010 13:09:28 +0000 (13:09 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161380 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-25 Martin Jambor <mjambor@suse.cz>
jamborm [Fri, 25 Jun 2010 12:46:41 +0000 (12:46 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161377 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR middle-end/43866
jakub [Fri, 25 Jun 2010 12:10:42 +0000 (12:10 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161375 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR tree-optimization/44539
jakub [Fri, 25 Jun 2010 12:07:00 +0000 (12:07 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161374 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-25 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 25 Jun 2010 11:37:54 +0000 (11:37 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161373 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/pa/pa.h (MODIFY_TARGET_NAME): Remove.
jsm28 [Fri, 25 Jun 2010 11:12:01 +0000 (11:12 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161372 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * doc/invoke.texi: Delete mcmodel=medium from powerpc options.
amodra [Fri, 25 Jun 2010 10:42:41 +0000 (10:42 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161371 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-25 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 25 Jun 2010 09:43:18 +0000 (09:43 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161368 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago With large parts from Jim Wilson:
bernds [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161366 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * doc/invoke.texi (-Wsuggest-attribute): Add noreturn.
hubicka [Fri, 25 Jun 2010 07:56:43 +0000 (07:56 +0000)]
* doc/invoke.texi (-Wsuggest-attribute): Add noreturn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161364 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
pzhao [Fri, 25 Jun 2010 07:31:49 +0000 (07:31 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161363 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc.c (translate_options): Don't mention +e in comment.
jsm28 [Fri, 25 Jun 2010 00:26:24 +0000 (00:26 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161355 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Fri, 25 Jun 2010 00:18:17 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161354 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * ira-int.h (struct live_range, live_range_t): Renamed from struct
bernds [Thu, 24 Jun 2010 23:30:28 +0000 (23:30 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161350 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * ira-int.h (SET_MINMAX_SET_BIT, CLEAR_MINMAX_SET_BIT,
bernds [Thu, 24 Jun 2010 23:29:44 +0000 (23:29 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161349 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * ira-color.c (assign_hard_reg): Improve formatting of multi-line for
bernds [Thu, 24 Jun 2010 23:28:35 +0000 (23:28 +0000)]
* ira-color.c (assign_hard_reg): Improve formatting of multi-line for
statement.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161348 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * ira-int.h (ira_parent_allocno, ira_parent_or_cap_allocno): Declare.
bernds [Thu, 24 Jun 2010 23:27:58 +0000 (23:27 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161347 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * ira-build.c (merge_hard_reg_conflicts): New function.
bernds [Thu, 24 Jun 2010 23:27:09 +0000 (23:27 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161346 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * ira.c (allocno_pool, copy_pool, allocno_live_range_pool): Delete.
bernds [Thu, 24 Jun 2010 23:25:23 +0000 (23:25 +0000)]
* ira.c (allocno_pool, copy_pool, allocno_live_range_pool): Delete.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161345 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * thumb2.md (thumb2_tlobits_cbranch): Delete.
rearnsha [Thu, 24 Jun 2010 22:46:54 +0000 (22:46 +0000)]
* thumb2.md (thumb2_tlobits_cbranch): Delete.
(peephole2 to convert zero_extract/compare of single bit to
 lshift/compare): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161344 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix type in last checkin. (Added \t that should not have been there.)
sje [Thu, 24 Jun 2010 22:38:15 +0000 (22:38 +0000)]
Fix type in last checkin. (Added \t that should not have been there.)

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161343 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-24 Steve Ellcey <sje@cup.hp.com>
sje [Thu, 24 Jun 2010 22:31:23 +0000 (22:31 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161342 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * fold-const.c (const_binop): Remove 'notrunc' argement. Adjust
aesok [Thu, 24 Jun 2010 19:11:19 +0000 (19:11 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161336 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-24 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 24 Jun 2010 18:52:42 +0000 (18:52 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161334 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-24 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 24 Jun 2010 18:52:31 +0000 (18:52 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161333 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/i386/i386.md (XFmode push splitter): Use GET_MODE_SIZE to
uros [Thu, 24 Jun 2010 18:35:52 +0000 (18:35 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161332 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoAdd missing testcases for PR 44588.
hjl [Thu, 24 Jun 2010 18:21:21 +0000 (18:21 +0000)]
Add missing testcases for PR 44588.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161330 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoImplement 8bit divmod patterns.
hjl [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161329 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR middle-end/44492
jakub [Thu, 24 Jun 2010 17:48:16 +0000 (17:48 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161328 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-24 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 24 Jun 2010 16:17:55 +0000 (16:17 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161325 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * update_web_docs_svn: Also pass -I option pointing to ada/ source
jsm28 [Thu, 24 Jun 2010 15:52:46 +0000 (15:52 +0000)]
* update_web_docs_svn: Also pass -I option pointing to ada/ source
directory for Ada manual.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161324 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-24 Andi Kleen <ak@linux.intel.com>
manu [Thu, 24 Jun 2010 12:47:30 +0000 (12:47 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161318 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * loop-unswitch.c (compare_and_jump_seq): Assert that the last
nickc [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161313 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * collect2.c (main): Match exactly --version and --help.
amodra [Thu, 24 Jun 2010 08:39:11 +0000 (08:39 +0000)]
* collect2.c (main): Match exactly --version and --help.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161311 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-24 Tobias Burnus <burnus@net-b.de>
burnus [Thu, 24 Jun 2010 07:51:22 +0000 (07:51 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161310 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago* config/m32c/m32c-pragma.c: Don't include rtl.h.
dj [Thu, 24 Jun 2010 04:26:04 +0000 (04:26 +0000)]
* config/m32c/m32c-pragma.c: Don't include rtl.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161307 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Thu, 24 Jun 2010 00:17:50 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161305 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago/java
aesok [Wed, 23 Jun 2010 19:18:10 +0000 (19:18 +0000)]
/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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161288 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/i386/i386 (mov<mode>): Macroize expander from mov{sf,df,xf}
uros [Wed, 23 Jun 2010 19:02:42 +0000 (19:02 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161287 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-23 Basile Starynkevitch <basile@starynkevitch.net>
bstarynk [Wed, 23 Jun 2010 16:10:01 +0000 (16:10 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161283 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR other/44644
amylaar [Wed, 23 Jun 2010 14:25:33 +0000 (14:25 +0000)]
    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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161281 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoSplit AVX vec_extract_lo_XXX and 128bit to 256bit cast.
hjl [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161279 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix header.
charlet [Wed, 23 Jun 2010 12:51:37 +0000 (12:51 +0000)]
Fix header.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161278 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-23 Thomas Quinot <quinot@adacore.com>
charlet [Wed, 23 Jun 2010 12:44:34 +0000 (12:44 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161277 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoAdd PR markers.
amylaar [Wed, 23 Jun 2010 12:40:04 +0000 (12:40 +0000)]
Add PR markers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161276 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/spu/spu.c (ea_load_store_inline): Use add_reg_note.
amylaar [Wed, 23 Jun 2010 12:31:08 +0000 (12:31 +0000)]
    * config/spu/spu.c (ea_load_store_inline): Use add_reg_note.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161275 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/spu/spu-protos.h (spu_expand_epilogue) Use bool.
amylaar [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161274 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-23 Ed Schonberg <schonberg@adacore.com>
charlet [Wed, 23 Jun 2010 10:21:23 +0000 (10:21 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161271 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-23 Bob Duff <duff@adacore.com>
charlet [Wed, 23 Jun 2010 10:13:57 +0000 (10:13 +0000)]
2010-06-23  Bob Duff  <duff@adacore.com>

* g-comlin.ads, sem_ch13.adb: Minor comment fix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161270 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-23 Eric Botcazou <ebotcazou@adacore.com>
charlet [Wed, 23 Jun 2010 09:53:24 +0000 (09:53 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161268 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-23 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Wed, 23 Jun 2010 09:50:42 +0000 (09:50 +0000)]
2010-06-23  Paolo Carlini <paolo.carlini@oracle.com>

* include/bits/stl_tree.h (erase(iterator), erase(const_iterator)):
Remove inline specifier.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161267 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-23 Arnaud Charlet <charlet@adacore.com>
charlet [Wed, 23 Jun 2010 09:29:04 +0000 (09:29 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161266 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-23 Robert Dewar <dewar@adacore.com>
charlet [Wed, 23 Jun 2010 09:23:47 +0000 (09:23 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161265 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-23 Thomas Quinot <quinot@adacore.com>
charlet [Wed, 23 Jun 2010 09:14:55 +0000 (09:14 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161264 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-23 Ed Schonberg <schonberg@adacore.com>
charlet [Wed, 23 Jun 2010 09:08:31 +0000 (09:08 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161263 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-23 Olivier Hainque <hainque@adacore.com>
charlet [Wed, 23 Jun 2010 09:01:32 +0000 (09:01 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161262 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago(gnat_to_gnu_param): Use void_ptr GCC type for System.Address argument
charlet [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161261 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-23 Arnaud Charlet <charlet@adacore.com>
charlet [Wed, 23 Jun 2010 08:53:09 +0000 (08:53 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161260 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-23 Thomas Quinot <quinot@adacore.com>
charlet [Wed, 23 Jun 2010 08:46:08 +0000 (08:46 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161259 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Procedure>: Use
charlet [Wed, 23 Jun 2010 08:40:22 +0000 (08:40 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161258 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-23 Olivier Hainque <hainque@adacore.com>
charlet [Wed, 23 Jun 2010 08:28:20 +0000 (08:28 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161257 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoReplace PR 22220 by PR ada/22220.
charlet [Wed, 23 Jun 2010 07:47:57 +0000 (07:47 +0000)]
Replace PR 22220 by PR ada/22220.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161256 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR 22220
charlet [Wed, 23 Jun 2010 07:08:46 +0000 (07:08 +0000)]
    PR 22220
        * doc/install.texi: Update requirements to build GNAT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161255 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoUpdate dependencies.
charlet [Wed, 23 Jun 2010 07:01:12 +0000 (07:01 +0000)]
Update dependencies.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161254 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-23 Ed Schonberg <schonberg@adacore.com>
charlet [Wed, 23 Jun 2010 06:59:47 +0000 (06:59 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161253 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-23 Javier Miranda <miranda@adacore.com>
charlet [Wed, 23 Jun 2010 06:50:13 +0000 (06:50 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161252 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-23 Robert Dewar <dewar@adacore.com>
charlet [Wed, 23 Jun 2010 06:43:38 +0000 (06:43 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161251 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-23 Robert Dewar <dewar@adacore.com>
charlet [Wed, 23 Jun 2010 06:39:36 +0000 (06:39 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161250 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-23 Emmanuel Briot <briot@adacore.com>
charlet [Wed, 23 Jun 2010 06:35:36 +0000 (06:35 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161249 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-23 Jose Ruiz <ruiz@adacore.com>
charlet [Wed, 23 Jun 2010 06:31:57 +0000 (06:31 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161248 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-23 Javier Miranda <miranda@adacore.com>
charlet [Wed, 23 Jun 2010 06:26:07 +0000 (06:26 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161247 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-23 Ed Schonberg <schonberg@adacore.com>
charlet [Wed, 23 Jun 2010 06:21:26 +0000 (06:21 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161246 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-23 Vincent Celier <celier@adacore.com>
charlet [Wed, 23 Jun 2010 06:17:00 +0000 (06:17 +0000)]
2010-06-23  Vincent Celier  <celier@adacore.com>

* a-reatim.adb: Call System.OS_Primitives.Initialize during elaboration

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161245 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-23 Robert Dewar <dewar@adacore.com>
charlet [Wed, 23 Jun 2010 06:11:20 +0000 (06:11 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161244 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-23 Robert Dewar <dewar@adacore.com>
charlet [Wed, 23 Jun 2010 05:48:28 +0000 (05:48 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161243 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-23 Robert Dewar <dewar@adacore.com>
charlet [Wed, 23 Jun 2010 05:40:52 +0000 (05:40 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161242 138bc75d-0d04-0410-961f-82ee72b054a4