OSDN Git Service

pf3gnuchains/gcc-fork.git
14 years ago * dwarf2out.c (add_const_value_attribute): Return true if successful.
hubicka [Sun, 20 Sep 2009 12:04:21 +0000 (12:04 +0000)]
* dwarf2out.c (add_const_value_attribute): Return true if successful.
(add_location_or_const_value_attribute): Rewrite using loc_list_from_tree.
(tree_add_const_value_attribute): Return true if successful.
(tree_add_const_value_attribute_for_decl): Likewise.

* dwarf2out.c (address_of_int_loc_descriptor): Break out from ...
(loc_descriptor): ... here;
(loc_list_for_address_of_addr_expr_of_indirect_ref): New function.
(cst_pool_loc_descr): Break out from ...; do not reffer constant
pool items that was not marked for output.
(loc_list_from_tree): ... here; handle special cases of ADDR_EXPR;
(loc_list_for_address_of_addr_expr_of_indirect_ref): New function.
(loc_list_for_address_of_addr_expr_of_indirect_ref): New function.
handle ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF, REALPART_EXPR,
IMAGPART_EXPR; handle address of INTEGER_CST; improve handling of
CONSTRUCTOR; handle REAL_CST, STRING_CST, COMPLEX_CST; use
DW_OP_stack_value to get address of items that are not available
as addresses.
(dw_loc_list): Handle single element lists correctly.

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

14 years ago2009-09-20 Kai Tietz <kai.tietz@onevision.com>
ktietz [Sun, 20 Sep 2009 11:03:33 +0000 (11:03 +0000)]
2009-09-20  Kai Tietz  <kai.tietz@onevision.com>
            Pascal Obry  <obry@adacore.com>

        * unwind-dw2-fde.c (classify_object_over_fdes):
        Cast the constant 1 to _Unwind_Ptr.
        (add_fdes): Likewise.
        (linear_search_fdes): Likewise.

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

14 years ago * stor-layout.c (set_sizetype): Avoid useless type copy.
ebotcazou [Sun, 20 Sep 2009 10:55:30 +0000 (10:55 +0000)]
* stor-layout.c (set_sizetype): Avoid useless type copy.

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

14 years agoAdjust component
ebotcazou [Sun, 20 Sep 2009 10:54:20 +0000 (10:54 +0000)]
Adjust component

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

14 years agogcc/
rsandifo [Sun, 20 Sep 2009 10:36:05 +0000 (10:36 +0000)]
gcc/
* configure.ac (gcc_cv_ld_mips_personality_relaxation): New
feature check.
(HAVE_LD_PERSONALITY_RELAXATION): New macro definition.
* configure, config.in: Regenerate.
* dwarf2asm.c (eh_data_format_name): Handle DW_EH_PE_indirect |
DW_EH_PE_absptr.
* config/mips/mips.h (TARGET_WRITABLE_EH_FRAME): New macro.
(ASM_PREFERRED_EH_DATA_FORMAT): Define.  Use MIPS_EH_INDIRECT
for global data if the output could be used in a shared library.
* config/mips/mips.c (mips_override_options): Set flag_dwarf2_cfi_asm
to 0 if TARGET_WRITABLE_EH_FRAME.

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

14 years ago2009-09-20 Paolo Bonzini <bonzini@gnu.org>
ktietz [Sun, 20 Sep 2009 09:22:11 +0000 (09:22 +0000)]
2009-09-20  Paolo Bonzini <bonzini@gnu.org>

PR/39886
* combine.c (update_cfg_for_uncondjump): Set EDGE_FALLTHRU
just when insn is equal to BB_END (bb).

2009-09-20  Kai Tietz  <kai.tietz@onevision.com>

* gcc.c-tortue/compile/pr39886.c: New.

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

14 years ago[gcc/testsuite/ChangeLog]
cgd [Sun, 20 Sep 2009 08:08:06 +0000 (08:08 +0000)]
[gcc/testsuite/ChangeLog]
2009-09-20  Chris Demetriou  <cgd@google.com>

        PR preprocessor/28435:
        * gcc.dg/cpp/missing-header-MD.c: Make output checking match
        gcc.dg/cpp/missing-header-1.c, and add PR number to test comment.
        * gcc.dg/cpp/missing-header-MMD.c: Likewise.
        * gcc.dg/cpp/missing-sysheader-MD.c: Likewise.
        * gcc.dg/cpp/missing-sysheader-MMD.c: Likewise.

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

14 years agoDaily bump.
gccadmin [Sun, 20 Sep 2009 00:16:52 +0000 (00:16 +0000)]
Daily bump.

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

14 years ago * config/mips/mips.opt (mrelax-pic-calls): New option.
nemet [Sat, 19 Sep 2009 20:23:55 +0000 (20:23 +0000)]
* config/mips/mips.opt (mrelax-pic-calls): New option.
* config/mips/mips.c (mips_strip_unspec_address): Move it up in
the file.
(mips_unspec_call): Change "unspec_call" expander into this.
(mips_strip_unspec_call): New function.
(mips_got_load): Call mips_unspec_call instead of
gen_unspec_call<mode>.
(mips16_build_call_stub): Fix comment for fp_code.  Adjust call to
MIPS_CALL.
(mips_cfg_in_reorg): New function.
(mips16_lay_out_constants): Use it to decide whether to call
CFG-aware insn splitting.
(r10k_insert_cache_barriers): Move CFG set-up code from here to
mips_reorg.  Move DF set-up code from here ...
(mips_df_reorg): ... to here.  Call r10k_insert_cache_barriers
from here.
(mips_reorg): Call mips_df_reorg instead of
r10k_insert_cache_barriers.  Move CFG set-up code here from
r10k_insert_cache_barriers.
(mips_call_expr_from_insn): New function.
(mips_pic_call_symbol_from_set): Likewise.
(mips_find_pic_call_symbol): Likewise.
(mips_annotate_pic_call_expr): Likewise.
(mips_get_pic_call_symbol): Likewise.
(mips_annotate_pic_calls): Likewise.
(mips_override_options): Disable -mrelax-pic-calls unless PIC
calls are used.
(mips_set_mips16_mode): Disable -mrelax-pic-calls for MIPS16.
* config/mips/mips-protos.h (mips_get_pic_call_symbol): Declare it.
* config/mips/mips.h (MIPS_CALL): Use it to print the .reloc
directive.
* config/mips/mips.md (UNSPEC_CALL_ATTR): New unspec.
(unspec_call<mode>): Remove it.
(sibcall_internal, sibcall_value_internal,
sibcall_value_multiple_internal, call_internal, call_split,
call_value_internal, call_value_split,
call_value_multiple_internal, call_value_multiple_split): Pass
SIZE_OPNO to MIPS_CALL.
(call_internal_direct, call_direct_split,
call_value_internal_direct, call_value_direct_split): Pass -1 as
SIZE_OPNO to MIPS_CALL.
* configure.ac <mips*-*-*>: Add test for .reloc R_MIPS_JALR.
* configure: Regenerate.
* doc/invoke.texi (Option Summary): Add -mrelax-pic-calls
and -mno-relax-pic-calls.
(MIPS Options): Document -mrelax-pic-calls
and -mno-relax-pic-calls.

testsuite/
* gcc.target/mips/mips.exp: Add relax-pic-calls
under -mfoo/-mno-foo options.
(mips-dg-options): Make -mrelax-pic-calls imply -mno-plt, -mabicalls
and -mexplicit-relocs.
* gcc.target/mips/call-1.c: New test.
* gcc.target/mips/call-2.c: New test.
* gcc.target/mips/call-3.c: New test.
* gcc.target/mips/lazy-binding-1.c: Add MIPS-specific dg-options.
* gcc.dg/tree-ssa/loop-1.c: Likewise.

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

14 years ago * vi.po: Update.
jsm28 [Sat, 19 Sep 2009 12:30:33 +0000 (12:30 +0000)]
* vi.po: Update.

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

14 years agoFix long-standing in-tree build include-fixed bug.
rwild [Sat, 19 Sep 2009 08:29:58 +0000 (08:29 +0000)]
Fix long-standing in-tree build include-fixed bug.

gcc/:
PR bootstrap/35619
* Makefile.in (stmp-fixinc): Ensure `include-fixed' is created
in the directory this rule is called from, rather than the
toplevel 'gcc' directory, to fix in-tree build.

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

14 years ago[libcpp/ChangeLog]
cgd [Sat, 19 Sep 2009 06:15:21 +0000 (06:15 +0000)]
[libcpp/ChangeLog]
2009-09-18  Chris Demetriou  <cgd@google.com>

PR preprocessor/28435:
* include/cpplib.h (struct cpp_options): Add new member
deps.need_preprocessor_output.
* files.c (open_file_failed): If preprocessor output is needed
always report an error.

[gcc/ChangeLog]
2009-09-19  Chris Demetriou  <cgd@google.com>

PR preprocessor/28435:
* c-opts.c (c_common_handle_option): For -MD and -MMD, indicate
to cpplib that the preprocessor output is needed.

[gcc/testsuite/ChangeLog]
2009-09-19  Chris Demetriou  <cgd@google.com>

PR preprocessor/28435:
* gcc.dg/cpp/missing-header-MD.c: New test.
* gcc.dg/cpp/missing-header-MMD.c: New test.
* gcc.dg/cpp/missing-sysheader-MD.c: New test.
* gcc.dg/cpp/missing-sysheader-MMD.c: New test.

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

14 years ago2009-09-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Sat, 19 Sep 2009 04:45:00 +0000 (04:45 +0000)]
2009-09-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/41328
* gfortran.dg/cr_lf.f90: Modify test to include check that no EOR with
EOF works.

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

14 years ago2009-09-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Sat, 19 Sep 2009 04:41:38 +0000 (04:41 +0000)]
2009-09-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/41328
* io/transfer.c (read_sf): Set at_eof flag on short read if any
characters were successfully read so that EOF condition with no EOR
marker succeeds.

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

14 years agoDaily bump.
gccadmin [Sat, 19 Sep 2009 00:17:57 +0000 (00:17 +0000)]
Daily bump.

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

14 years ago * config/rs6000/rs6000.md (*save_gpregs_<mode>, *save_fpregs_<mode>,
jakub [Fri, 18 Sep 2009 23:23:48 +0000 (23:23 +0000)]
* config/rs6000/rs6000.md (*save_gpregs_<mode>, *save_fpregs_<mode>,
*restore_gpregs_<mode>, *return_and_restore_gpregs_<mode>,
*return_and_restore_fpregs_<mode>,
*return_and_restore_fpregs_aix_<mode>): Remove 'z' operand modifier.

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

14 years ago PR bootstrap/41397
jakub [Fri, 18 Sep 2009 23:17:25 +0000 (23:17 +0000)]
PR bootstrap/41397
* dwarf2out.c (mem_loc_descriptor) <case SUBREG>: Recurse
instead of assuming it has always a REG inside of it.

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

14 years ago * config/freebsd.h: Update comment on types.
gerald [Fri, 18 Sep 2009 22:15:58 +0000 (22:15 +0000)]
* config/freebsd.h: Update comment on types.
(WINT_TYPE): Define.

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

14 years ago * decl2.c (determine_visibility): Make anonymous types internal.
jason [Fri, 18 Sep 2009 21:25:18 +0000 (21:25 +0000)]
* decl2.c (determine_visibility): Make anonymous types internal.
(mark_used): Complain about types without linkage used in
decls with internal linkage.
(vague_linkage_fn_p): Split out from...
* decl.c (maybe_commonize_var): ...here.
(grokdeclarator): Adjust linkage when a typedef gives linkage name.
* tree.c (no_linkage_check): Check the enclosing class and template
arguments.

* cp-tree.h (TYPE_NAMESPACE_SCOPE_P): New.

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

14 years ago * c.opt: Add -fno-deduce-init-list.
jason [Fri, 18 Sep 2009 21:25:10 +0000 (21:25 +0000)]
* c.opt: Add -fno-deduce-init-list.
* pt.c (get_pattern_parm): New.
(listify): Split out from...
(listify_autos): ...here.
(unify): Deduce std::initializer_list for T.
* call.c (build_over_call): Warn about it.

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

14 years ago2009-09-18 Jan Kratochvil <jan.kratochvil@redhat.com>
tromey [Fri, 18 Sep 2009 20:03:47 +0000 (20:03 +0000)]
2009-09-18  Jan Kratochvil  <jan.kratochvil@redhat.com>

* python/hook.in: Fix prefix trailing slash on 64bit host arches.

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

14 years ago2009-09-18 Neil Vachharajani <nvachhar@google.com>
nvachhar [Fri, 18 Sep 2009 18:39:43 +0000 (18:39 +0000)]
2009-09-18  Neil Vachharajani  <nvachhar@google.com>

    * value-prof.c (interesting_stringop_to_profile_p): Added output
    argument to indicate which parameter is the size parameter.
    * value-prof.c (gimple_stringop_fixed_value): Use
    INTERESTING_STRINGOP_TO_PROFILE_P to find size argument.
    * value-prof.c (gimple_stringops_transform): Update call sites to
    INTERESTING_STRINGOP_TO_PROFILE_P to reflect parameter change.
    * testsuite/gcc.dg/tree-prof/val-prof-7.c: Added test case.

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

14 years ago * gcc.dg/dfp/dfp.exp: Also run tests in c-c++-common/dfp.
janis [Fri, 18 Sep 2009 17:40:28 +0000 (17:40 +0000)]
* gcc.dg/dfp/dfp.exp: Also run tests in c-c++-common/dfp.
* c-c++-common/dfp: New directory.
* c-c++-common/dfp/dfp-dbg.h: New file.
* gcc.dg/dfp/call-by-value.c: Move to ...
* c-c++-common/call-by-value.c: here.
* gcc.dg/dfp/cast.c: Move to ...
* c-c++-common/cast.c: here.
* gcc.dg/dfp/compare-eq-const.c: Move to ...
* c-c++-common/compare-eq-const.c: here.
* gcc.dg/dfp/compare-eq-d128.c: Move to ...
* c-c++-common/compare-eq-d128.c: here.
* gcc.dg/dfp/compare-eq-d32.c: Move to ...
* c-c++-common/compare-eq-d32.c: here.
* gcc.dg/dfp/compare-eq-d64.c: Move to ...
* c-c++-common/compare-eq-d64.c: here.
* gcc.dg/dfp/compare-eq-dfp.c: Move to ...
* c-c++-common/compare-eq-dfp.c: here.
* gcc.dg/dfp/compare-eq.h: Move to ...
* c-c++-common/compare-eq.h: here.
* gcc.dg/dfp/compare-rel-const.c: Move to ...
* c-c++-common/compare-rel-const.c: here.
* gcc.dg/dfp/compare-rel-d128.c: Move to ...
* c-c++-common/compare-rel-d128.c: here.
* gcc.dg/dfp/compare-rel-d32.c: Move to ...
* c-c++-common/compare-rel-d32.c: here.
* gcc.dg/dfp/compare-rel-d64.c: Move to ...
* c-c++-common/compare-rel-d64.c: here.
* gcc.dg/dfp/compare-rel-dfp.c: Move to ...
* c-c++-common/compare-rel-dfp.c: here.
* gcc.dg/dfp/compare-rel.h: Move to ...
* c-c++-common/compare-rel.h: here.
* gcc.dg/dfp/compare-special-d128.c: Move to ...
* c-c++-common/compare-special-d128.c: here.
* gcc.dg/dfp/compare-special-d32.c: Move to ...
* c-c++-common/compare-special-d32.c: here.
* gcc.dg/dfp/compare-special-d64.c: Move to ...
* c-c++-common/compare-special-d64.c: here.
* gcc.dg/dfp/compare-special.h: Move to ...
* c-c++-common/compare-special.h: here.
* gcc.dg/dfp/constants-zero.c: Move to ...
* c-c++-common/constants-zero.c: here.
* gcc.dg/dfp/convert-bfp-10.c: Move to ...
* c-c++-common/convert-bfp-10.c: here.
* gcc.dg/dfp/convert-bfp-11.c: Move to ...
* c-c++-common/convert-bfp-11.c: here.
* gcc.dg/dfp/convert-bfp-12.c: Move to ...
* c-c++-common/convert-bfp-12.c: here.
* gcc.dg/dfp/convert-bfp-13.c: Move to ...
* c-c++-common/convert-bfp-13.c: here.
* gcc.dg/dfp/convert-bfp-14.c: Move to ...
* c-c++-common/convert-bfp-14.c: here.
* gcc.dg/dfp/convert-bfp-2.c: Move to ...
* c-c++-common/convert-bfp-2.c: here.
* gcc.dg/dfp/convert-bfp-3.c: Move to ...
* c-c++-common/convert-bfp-3.c: here.
* gcc.dg/dfp/convert-bfp-4.c: Move to ...
* c-c++-common/convert-bfp-4.c: here.
* gcc.dg/dfp/convert-bfp-5.c: Move to ...
* c-c++-common/convert-bfp-5.c: here.
* gcc.dg/dfp/convert-bfp-6.c: Move to ...
* c-c++-common/convert-bfp-6.c: here.
* gcc.dg/dfp/convert-bfp-7.c: Move to ...
* c-c++-common/convert-bfp-7.c: here.
* gcc.dg/dfp/convert-bfp-8.c: Move to ...
* c-c++-common/convert-bfp-8.c: here.
* gcc.dg/dfp/convert-bfp-9.c: Move to ...
* c-c++-common/convert-bfp-9.c: here.
* gcc.dg/dfp/convert-bfp.c: Move to ...
* c-c++-common/convert-bfp.c: here.
* gcc.dg/dfp/convert-bfp-fold.c: Move to ...
* c-c++-common/convert-bfp-fold.c: here.
* gcc.dg/dfp/convert-dfp.c: Move to ...
* c-c++-common/convert-dfp.c: here.
* gcc.dg/dfp/convert-dfp-fold-2.c: Move to ...
* c-c++-common/convert-dfp-fold-2.c: here.
* gcc.dg/dfp/convert-dfp-fold.c: Move to ...
* c-c++-common/convert-dfp-fold.c: here.
* gcc.dg/dfp/convert.h: Move to ...
* c-c++-common/convert.h: here.
* gcc.dg/dfp/convert-int.c: Move to ...
* c-c++-common/convert-int.c: here.
* gcc.dg/dfp/convert-int-fold.c: Move to ...
* c-c++-common/convert-int-fold.c: here.
* gcc.dg/dfp/convert-int-max.c: Move to ...
* c-c++-common/convert-int-max.c: here.
* gcc.dg/dfp/convert-int-max-fold.c: Move to ...
* c-c++-common/convert-int-max-fold.c: here.
* gcc.dg/dfp/convert-int-saturate.c: Move to ...
* c-c++-common/convert-int-saturate.c: here.
* gcc.dg/dfp/func-array.c: Move to ...
* c-c++-common/func-array.c: here.
* gcc.dg/dfp/func-deref.c: Move to ...
* c-c++-common/func-deref.c: here.
* gcc.dg/dfp/func-mixed.c: Move to ...
* c-c++-common/func-mixed.c: here.
* gcc.dg/dfp/func-pointer.c: Move to ...
* c-c++-common/func-pointer.c: here.
* gcc.dg/dfp/func-scalar.c: Move to ...
* c-c++-common/func-scalar.c: here.
* gcc.dg/dfp/func-struct.c: Move to ...
* c-c++-common/func-struct.c: here.
* gcc.dg/dfp/func-vararg-alternate-d128-2.c: Move to ...
* c-c++-common/func-vararg-alternate-d128-2.c: here.
* gcc.dg/dfp/func-vararg-alternate-d128.c: Move to ...
* c-c++-common/func-vararg-alternate-d128.c: here.
* gcc.dg/dfp/func-vararg-alternate-d32.c: Move to ...
* c-c++-common/func-vararg-alternate-d32.c: here.
* gcc.dg/dfp/func-vararg-alternate-d64.c: Move to ...
* c-c++-common/func-vararg-alternate-d64.c: here.
* gcc.dg/dfp/func-vararg-alternate.h: Move to ...
* c-c++-common/func-vararg-alternate.h: here.
* gcc.dg/dfp/func-vararg-dfp.c: Move to ...
* c-c++-common/func-vararg-dfp.c: here.
* gcc.dg/dfp/func-vararg-mixed-2.c: Move to ...
* c-c++-common/func-vararg-mixed-2.c: here.
* gcc.dg/dfp/func-vararg-mixed.c: Move to ...
* c-c++-common/func-vararg-mixed.c: here.
* gcc.dg/dfp/func-vararg-size0.c: Move to ...
* c-c++-common/func-vararg-size0.c: here.
* gcc.dg/dfp/inf-1.c: Move to ...
* c-c++-common/inf-1.c: here.
* gcc.dg/dfp/loop-index.c: Move to ...
* c-c++-common/loop-index.c: here.
* gcc.dg/dfp/modes.c: Move to ...
* c-c++-common/modes.c: here.
* gcc.dg/dfp/nan-1.c: Move to ...
* c-c++-common/nan-1.c: here.
* gcc.dg/dfp/nan-2.c: Move to ...
* c-c++-common/nan-2.c: here.
* gcc.dg/dfp/operator-arith-fold.c: Move to ...
* c-c++-common/operator-arith-fold.c: here.
* gcc.dg/dfp/operator-assignment.c: Move to ...
* c-c++-common/operator-assignment.c: here.
* gcc.dg/dfp/operator-comma.c: Move to ...
* c-c++-common/operator-comma.c: here.
* gcc.dg/dfp/operator-cond.c: Move to ...
* c-c++-common/operator-cond.c: here.
* gcc.dg/dfp/operator-logical.c: Move to ...
* c-c++-common/operator-logical.c: here.
* gcc.dg/dfp/operator-unary.c: Move to ...
* c-c++-common/operator-unary.c: here.
* gcc.dg/dfp/pr31385.c: Move to ...
* c-c++-common/pr31385.c: here.
* gcc.dg/dfp/pr33466.c: Move to ...
* c-c++-common/pr33466.c: here.
* gcc.dg/dfp/pr35620.c: Move to ...
* c-c++-common/pr35620.c: here.
* gcc.dg/dfp/pr36800.c: Move to ...
* c-c++-common/pr36800.c: here.
* gcc.dg/dfp/pr39034.c: Move to ...
* c-c++-common/pr39034.c: here.
* gcc.dg/dfp/pr39035.c: Move to ...
* c-c++-common/pr39035.c: here.
* gcc.dg/dfp/pr39902.c: Move to ...
* c-c++-common/pr39902.c: here.
* gcc.dg/dfp/pr39986.c: Move to ...
* c-c++-common/pr39986.c: here.
* gcc.dg/dfp/signbit-1.c: Move to ...
* c-c++-common/signbit-1.c: here.
* gcc.dg/dfp/signbit-2.c: Move to ...
* c-c++-common/signbit-2.c: here.
* gcc.dg/dfp/struct-layout-1.c: Move to ...
* c-c++-common/struct-layout-1.c: here.
* gcc.dg/dfp/usual-arith-conv.c: Move to ...
* c-c++-common/usual-arith-conv.c: here.
* gcc.dg/dfp/usual-arith-conv-const.c: Move to ...
* c-c++-common/usual-arith-conv-const.c: here.

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

14 years ago PR testsuite/41288
uros [Fri, 18 Sep 2009 15:16:44 +0000 (15:16 +0000)]
PR testsuite/41288
* gcc.target/x86_64/abi/asm-support-darwin.s (snapshot_ret): Preserve
stack alignment.

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

14 years ago PR target/38288
uros [Fri, 18 Sep 2009 15:12:48 +0000 (15:12 +0000)]
PR target/38288
From David Binderman <dcb314@hotmail.com>:
* gcc/config/i386/i386.c (ix86_function_regparm): Remove useless
local variable f.  Remove stale comments.
(ix86_compute_frame_layout): Remove useless local variable total_size.
Remove #if 0'd code.
(legitimate_address_p): Remove useless local variables
reason_rtx and reason.
(ix86_split_copysign_const): Remove useless local variable op1.
(scale_counter): Remove useless local variable piece_size_mask.

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

14 years ago2009-09-18 Pascal Obry <obry@adacore.com>
charlet [Fri, 18 Sep 2009 14:01:37 +0000 (14:01 +0000)]
2009-09-18  Pascal Obry  <obry@adacore.com>

* mingw32.h: Activate Unicode support for x86-64 Windows platform.

2009-09-18  Vadim Godunko  <godunko@adacore.com>

* s-oscons-tmplt.c: Add circuit for handling IOV_MAX macro on IRIX.

2009-09-18  Javier Miranda  <miranda@adacore.com>

* exp_aggr.adb (Backend_Processing_Possible): Disable backend
processing for array aggregates in the VM backend if the array has
aliased components.

2009-09-18  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Analyze_Indexed_Component): Emit error if the type of
the prefix indicates a previous semantic error, and this is the first
error in the program.

2009-09-18  Bob Duff  <duff@adacore.com>

* gnat_ugn.texi: Minor editing.

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

14 years ago2009-09-18 Vincent Celier <celier@adacore.com>
charlet [Fri, 18 Sep 2009 13:55:20 +0000 (13:55 +0000)]
2009-09-18  Vincent Celier  <celier@adacore.com>

* prj.ads, prj.adb (Project_Data): New component
Imported_Directories_Switches.

2009-09-18  Pascal Obry  <obry@adacore.com>

* mingw32.h: Include standard _mingw.h file.
Define _WIN32_WINNT only if not already defined.

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

14 years ago2009-09-18 Thomas Quinot <quinot@adacore.com>
charlet [Fri, 18 Sep 2009 13:50:26 +0000 (13:50 +0000)]
2009-09-18  Thomas Quinot  <quinot@adacore.com>

* g-socket.adb (Is_Open): New function indicating whether a
Selector_Type object is open.

2009-09-18  Vincent Celier  <celier@adacore.com>

* osint-c.adb (Create_Output_Library_Info): Make sure that the ALI file
is deleted before creating it.

2009-09-18  Robert Dewar  <dewar@adacore.com>

* bindgen.adb: Minor reformatting

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

14 years ago2009-09-18 Arnaud Charlet <charlet@adacore.com>
charlet [Fri, 18 Sep 2009 13:40:54 +0000 (13:40 +0000)]
2009-09-18  Arnaud Charlet  <charlet@adacore.com>

* s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
s-taprop-irix.adb, s-taprop-posix.adb (Abort_Task): Do nothing if no
signal handler is installed.
* s-tassta.adb (Finalize_Global_Tasks): Do not wait for independent
tasks if Abort_Task_Interrupt cannot be used.

2009-09-18  Vincent Celier  <celier@adacore.com>

* prj-tree.ads: Minor comment update

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

14 years ago * stmt.c (expand_asm_operands): Set REG_ATTRS on the temporary from
jakub [Fri, 18 Sep 2009 08:48:31 +0000 (08:48 +0000)]
* stmt.c (expand_asm_operands): Set REG_ATTRS on the temporary from
output decl.

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

14 years agoDaily bump.
gccadmin [Fri, 18 Sep 2009 00:17:03 +0000 (00:17 +0000)]
Daily bump.

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

14 years ago PR target/40913
danglin [Fri, 18 Sep 2009 00:03:19 +0000 (00:03 +0000)]
PR target/40913
* config/pa/t-hpux-shlib: Set soname in libgcc_s.sl.

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

14 years ago * testsuite/lib/libstdc++.exp (check_v3_target_binary_io): New.
jsm28 [Thu, 17 Sep 2009 23:54:25 +0000 (23:54 +0000)]
* testsuite/lib/libstdc++.exp (check_v3_target_binary_io): New.
* testsuite/lib/dg-options.exp (dg-require-binary-io): New.
* testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc,
testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc,
testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc,
testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc,
testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc,
testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc,
testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc,
testsuite/27_io/basic_istream/readsome/char/6746-2.cc,
testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc,
testsuite/27_io/objects/char/10.cc: Use dg-require-binary-io.

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

14 years ago * include/ext/vstring.h (to_wstring(long long),
jsm28 [Thu, 17 Sep 2009 23:53:28 +0000 (23:53 +0000)]
* include/ext/vstring.h (to_wstring(long long),
to_wstring(unsigned long long), to_wstring(long double)): Disable
for _GLIBCXX_HAVE_BROKEN_VSWPRINTF.

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

14 years ago2009-09-17 Andrew Pinski <pinskia@gcc.gnu.org>
pinskia [Thu, 17 Sep 2009 23:03:55 +0000 (23:03 +0000)]
2009-09-17  Andrew Pinski  <pinskia@gcc.gnu.org>

        PR c++/39365
        * typeck.c (cp_build_unary_op): Check TREE_CODE for bools instead of
        using same_type_p.
        (convert_for_assignment): Likewise.
        * cvt.c (type_promotes_to): Likewise.

2009-09-17  Andrew Pinski  <pinskia@gcc.gnu.org>

        PR c++/39365
        * g++.dg/expr/bool3.C: New test.
        * g++.dg/expr/bool4.C: New test.

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

14 years ago * gcc/testsuite/gcc.dg/dfp/dfp-dbg.h: Define EXTERN.
janis [Thu, 17 Sep 2009 21:41:38 +0000 (21:41 +0000)]
* gcc/testsuite/gcc.dg/dfp/dfp-dbg.h: Define EXTERN.
* gcc/testsuite/gcc.dg/dfp/signbit-2.c: Use it.
* gcc/testsuite/gcc.dg/dfp/func-vararg-alternate.h: Change two
arguments to unsigned int.
* gcc/testsuite/gcc.dg/dfp/convert-bfp-10.c: Don't include float.h.
* gcc/testsuite/gcc.dg/dfp/convert-bfp-fold.c: Include dfp-dbg.h.
* gcc/testsuite/gcc.dg/dfp/convert-dfp-fold.c: Ditto
* gcc/testsuite/gcc.dg/dfp/convert-int-max-fold.c: Ditto.
* gcc/testsuite/gcc.dg/dfp/operator-arith-fold.c: Ditto.
* gcc/testsuite/gcc.dg/dfp/pr39986.c: Ditto.
* gcc/testsuite/gcc.dg/dfp/usual-arith-conv-const.c: Ditto.
* gcc/testsuite/gcc.dg/dfp/pr31385.c: Use mode in typedef, not C type.
* gcc/testsuite/gcc.dg/dfp/pr35620.c: Define typedef for C++.
* gcc/testsuite/gcc.dg/dfp/convert-int.c: Define BOOL for C++.
* gcc/testsuite/gcc.dg/dfp/convert-int-fold.c: Ditto.

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

14 years ago2009-09-17 Loren J. Rittle <ljrittle@acm.org>
ljrittle [Thu, 17 Sep 2009 20:54:56 +0000 (20:54 +0000)]
2009-09-17  Loren J. Rittle  <ljrittle@acm.org>

PR testsuite/32843 (strikes again)
* src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
enable proper extension on char and short.

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

14 years ago * c-decl.c (finish_struct): Adjust DECL_SOURCE_LOCATION of
jakub [Thu, 17 Sep 2009 20:31:54 +0000 (20:31 +0000)]
* c-decl.c (finish_struct): Adjust DECL_SOURCE_LOCATION of
TYPE_STUB_DECL.

* gcc.dg/debug/dwarf2/struct-loc1.c: New test.

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

14 years ago * dwarf2out.c (loc_descriptor): Emit DW_OP_stack_value and
jakub [Thu, 17 Sep 2009 20:29:56 +0000 (20:29 +0000)]
* dwarf2out.c (loc_descriptor): Emit DW_OP_stack_value and
DW_OP_implicit_value even without dwarf_version 4.

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

14 years ago * dwarf2out.c: Include tree-pass.h and gimple.h.
hubicka [Thu, 17 Sep 2009 17:27:00 +0000 (17:27 +0000)]
* dwarf2out.c: Include tree-pass.h and gimple.h.
(loc_list_plus_const): New function.
(loc_descriptor_from_tree_1): Rename to ...
(loc_descriptor_from_tree): ... remove original.
(loc_list_from_tree): New function.
(add_AT_location_description): Accept location list.
(tls_mem_loc_descriptor): Update call of loc_descriptor_from_tree.
(concatn_mem_loc_descriptor): Remove.
(mem_loc_descriptor): Handle CONCAT/CONCATN and VAR_LOCATION by
returning NULL.
(secname_for_decl): Move up.
(hidden_reference_p): New function; break out from ...
(loc_by_refernece): ... here; move up.
(dw_loc_list): New function.
(single_element_loc_list): New function.
(single_element_loc_list_p): New function.
(add_loc_descr_to_each): New function.
(add_loc_list): New function.
(loc_descr_from_tree): Make wraper of loc_list_from_tree.
(loc_list_from_tree): Reroganized from loc_descr_from_tree;
add diagnostics why expansion failed.
(add_location_or_const_value_attribute): Support location lists.
(add_bound_info): Likewise.
(descr_info_loc): Update call of loc_descriptor_from_tree.
(gen_variable_die): Work on location lists.
* final.c (pass_final): Add dump file.
* Makefile.in (dwarf2out.o): Add new dependencies.

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

14 years agogcc/
janis [Thu, 17 Sep 2009 17:07:24 +0000 (17:07 +0000)]
gcc/
PR c/41049
* real.c decimal_from_integer, decimal_integer_string): New.
(real_from_integer): Use them as special case for decimal float.
* config/dfp-bit.c (_si_to_sd, _usi_to_sd): Use default rounding.
(_di_to_sd, _di_to_dd, _di_to_td, _udi_to_sd, _udi_to_dd, _udi_to_td):
Do not append zero after the decimal point in string to convert.
gcc/testsuite/
PR c/41049
* dfp/pr41049.c: New test.

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

14 years ago2009-09-17 H.J. Lu <hongjiu.lu@intel.com>
hjl [Thu, 17 Sep 2009 13:36:06 +0000 (13:36 +0000)]
2009-09-17  H.J. Lu  <hongjiu.lu@intel.com>

PR testsuite/41385
* gcc.dg/dfp/dfp.exp: Properly save DEFAULT_CFLAGS.

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

14 years ago2009-09-17 Alexander Monakov <amonakov@ispras.ru>
amonakov [Thu, 17 Sep 2009 13:33:37 +0000 (13:33 +0000)]
2009-09-17  Alexander Monakov  <amonakov@ispras.ru>

gcc:
* graphite-sese-to-poly.c (pdr_add_data_dimensions): Add bounds only
for ARRAY_REFs.  Use array_ref_{low,up}_bound to determine bounds.

libgomp:
* testsuite/libgomp.graphite/bounds.c: New test.

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

14 years ago2009-09-17 Martin Jambor <mjambor@suse.cz>
jamborm [Thu, 17 Sep 2009 11:35:38 +0000 (11:35 +0000)]
2009-09-17  Martin Jambor  <mjambor@suse.cz>

* common.opt (fipa-sra): New switch.
* opts.c (decode_options): Turn flag_ipa_sra on for opt2.
* timevar.def (TV_IPA_SRA): New timevar.
* params.def (ipa-sra-ptr-growth-factor): New parameter.
* doc/invoke.texi: Document -fipa-sra and ipa-sra-ptr-growth-factor.
* tree-sra.c: Include cgraph.c.
(enum sra_mode): Added SRA_MODE_EARLY_IPA.
(struct access): Added fields stmt, grp_maybe_modified, grp_scalar_ptr
and grp_not_necessarilly_dereferenced.
(func_param_count): New variable.
(encountered_apply_args): New variable.
(bb_dereferences): New variable.
(final_bbs): New variable.
(no_accesses_representant): New variable.
(no_accesses_p): New function.
(dump_access): Dump the new fields.
(sra_initialize): Set encountered_apply_args to false.
(get_ssa_base_param): New function.
(mark_parm_dereference): New function.
(create_access): Caring for INIDRECT_REFs and different handling of
varialble length accesses in early IPA SRA.  Store the stmt - a new
parameter - to the new access.
(build_access_from_expr_1): New parameter stmt, passed to
create_access.  Handle INDIRECT_REFs.
(build_access_from_expr): Pass the current statement to
build_access_from_expr_1.
(disqualify_ops_if_throwing_stmt): Trigger only in intraprocedural
passes.
(build_accesses_from_assign): Pass the current statement to
build_access_from_expr_1.  Do not create assign links in IPA-SRA.
(scan_function): Call handle_ssa_defs on phi nodes.  Set bits in
final_bbs when necessary.  Check for calls to __builtin_apply_args.
Fixup EH info if anythng was changed.
(is_unused_scalar_param): New function.
(ptr_parm_has_direct_uses): New function.
(find_param_candidates): New function.
(mark_maybe_modified): New function.
(analyze_modified_params): New function.
(propagate_dereference_distances): New function.
(dump_dereferences_table): New function.
(analyze_caller_dereference_legality): New function.
(unmodified_by_ref_scalar_representative): New function.
(splice_param_accesses): New function.
(decide_one_param_reduction): New function.
(enum ipa_splicing_result): New type.
(splice_all_param_accesses): New function.
(get_param_index): New function.
(turn_representatives_into_adjustments): New function.
(analyze_all_param_acesses): New function.
(get_replaced_param_substitute): New function.
(get_adjustment_for_base): New function.
(replace_removed_params_ssa_names): New function.
(sra_ipa_reset_debug_stmts): New function.
(sra_ipa_modify_expr): New function.
(sra_ipa_modify_assign): New function.
(convert_callers): New function.
(modify_function): New function.
(ipa_sra_preliminary_function_checks): New function.
(ipa_early_sra): New function.
(ipa_early_sra_gate): New function.
(pass_early_ipa_sra): New variable.
* Makefile.in (tree-sra.o): Add cgraph.h to dependencies.

Testsuite:

* gcc.dg/struct/wo_prof_escape_arg_to_local.c: Do not run IPA-SRA.
* gcc.dg/ipa/ipa-sra-1.c: New test.
* gcc.dg/ipa/ipa-sra-2.c: New test.
* gcc.dg/ipa/ipa-sra-3.c: New test.
* gcc.dg/ipa/ipa-sra-4.c: New test.
* gcc.dg/ipa/ipa-sra-5.c: New test.
* gcc.c-torture/execute/ipa-sra-1.c: New test.
* gcc.c-torture/execute/ipa-sra-2.c: New test.

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

14 years ago PR middle-end/41347
matz [Thu, 17 Sep 2009 11:11:58 +0000 (11:11 +0000)]
PR middle-end/41347
* tree.c (build_type_attribute_qual_variant): Export.
* tree.h (build_type_attribute_qual_variant): Declare.
* tree-inline.c (remap_type_1): Use it to build variants with
the original qualifiers and attributes.

testsuite/
* gfortran.dg/pr41347.f90: New test.

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

14 years ago2009-09-17 Bob Duff <duff@adacore.com>
charlet [Thu, 17 Sep 2009 10:58:39 +0000 (10:58 +0000)]
2009-09-17  Bob Duff  <duff@adacore.com>

* g-socket.ads: Document the fact that Close_Selector has no effect on
a closed selector.
* g-socket.adb: Raise an exception when a Selector that should be open
is closed.
(Check_Selector): Declare RSig as a constant rather than a renames,
less confusing.

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

14 years agoMinor reformatting.
charlet [Thu, 17 Sep 2009 10:54:32 +0000 (10:54 +0000)]
Minor reformatting.

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

14 years ago2009-09-17 Robert Dewar <dewar@adacore.com>
charlet [Thu, 17 Sep 2009 10:54:01 +0000 (10:54 +0000)]
2009-09-17  Robert Dewar  <dewar@adacore.com>

* exp_ch9.adb, exp_ch5.adb, exp_ch4.adb, prj-conf.adb, prj-env.ads,
prj-ext.adb: Minor reformatting

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

14 years ago2009-09-17 Emmanuel Briot <briot@adacore.com>
charlet [Thu, 17 Sep 2009 10:50:49 +0000 (10:50 +0000)]
2009-09-17  Emmanuel Briot  <briot@adacore.com>

* prj-conf.adb, prj-env.adb, prj-env.ads (Create_Temp_File): Moved to
spec.
(Do_Autoconf): If the object directory does not exists, create auto.cgpr
in a temporary directory instead

2009-09-17  Bob Duff  <duff@adacore.com>

* a-dynpri.adb (Set_Priority): Don't do anything if the task is already
terminated.
(Get_Priority): Correct message for "terminated" case -- it said "null".

2009-09-17  Robert Dewar  <dewar@adacore.com>

* exp_ch6.adb: Minor reformatting

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

14 years ago2009-09-17 Emmanuel Briot <briot@adacore.com>
charlet [Thu, 17 Sep 2009 10:46:35 +0000 (10:46 +0000)]
2009-09-17  Emmanuel Briot  <briot@adacore.com>

* gnatcmd.adb, make.adb, prj-part.adb, prj-ext.adb, prj-ext.ads,
switch-m.adb, switch-m.ads, clean.adb, prj-tree.ads
(Project_Node_Tree_Data.Project_Path): New field.

* prj-conf.adb (Do_Autoconf): Remove "creating auto.cgpr" message

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

14 years ago2009-09-17 Emmanuel Briot <briot@adacore.com>
charlet [Thu, 17 Sep 2009 10:41:33 +0000 (10:41 +0000)]
2009-09-17  Emmanuel Briot  <briot@adacore.com>

* prj-ext.adb, prj-ext.ads, makeutl.adb (Is_External_Assignment):
Remove duplicate code.
(Prj.Ext): Fix memory leak
(Check): Now allow the syntax "-Xfoo=" to set an empty value to the
variable. This was previously allowed in the code in
Is_External_Assignment, and some tests rely on it

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

14 years ago2009-09-17 Bob Duff <duff@adacore.com>
charlet [Thu, 17 Sep 2009 10:38:31 +0000 (10:38 +0000)]
2009-09-17  Bob Duff  <duff@adacore.com>

* gnat_rm.texi, s-oscons-tmplt.c: Minor typo

2009-09-17  Emmanuel Briot  <briot@adacore.com>

* gnatcmd.adb, prj-proc.adb, make.adb, prj-ext.adb, prj-ext.ads,
makeutl.adb, makeutl.ads, clean.adb, prj-pars.adb, prj-pars.ads,
prj-conf.adb, prj-conf.ads, prj-tree.adb, prj-tree.ads, prj-proc.ads,
prj-nmsc.ads (Add, Value_Of, Reset): new parameter Tree.
Scenario variables are now specific to each project tree loaded in
memory.
Code clean ups.

2009-09-17  Javier Miranda  <miranda@adacore.com>

* exp_disp.adb (Make_DT): Remove wrong line of code that was
undocumented and probably added by mistake.

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

14 years ago2009-09-17 Johannes Singler <singler@ira.uka.de>
singler [Thu, 17 Sep 2009 08:42:39 +0000 (08:42 +0000)]
2009-09-17  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/algobase.h: Replace tabs by spaces;
        correct line breaks.
        * include/parallel/algorithmfwd.h: Likewise.
        * include/parallel/balanced_quicksort.h: Likewise.
        * include/parallel/base.h: Likewise.
        * include/parallel/checkers.h: Likewise.
        * include/parallel/compatibility.h: Likewise.
        * include/parallel/equally_split.h: Likewise.
        * include/parallel/find.h: Likewise.
        * include/parallel/for_each.h: Likewise.
        * include/parallel/for_each_selectors.h: Likewise.
        * include/parallel/iterator.h: Likewise.
        * include/parallel/list_partition.h: Likewise.
        * include/parallel/losertree.h: Likewise.
        * include/parallel/merge.h: Likewise.
        * include/parallel/multiseq_selection.h: Likewise.
        * include/parallel/multiway_merge.h: Likewise.
        * include/parallel/multiway_mergesort.h: Likewise.
        * include/parallel/numeric: Likewise.
        * include/parallel/numericfwd.h: Likewise.
        * include/parallel/omp_loop.h: Likewise.
        * include/parallel/omp_loop_static.h: Likewise.
        * include/parallel/par_loop.h: Likewise.
        * include/parallel/partial_sum.h: Likewise.
        * include/parallel/partition.h: Likewise.
        * include/parallel/queue.h: Likewise.
        * include/parallel/quicksort.h: Likewise.
        * include/parallel/random_number.h: Likewise.
        * include/parallel/random_shuffle.h: Likewise.
        * include/parallel/search.h: Likewise.
        * include/parallel/set_operations.h: Likewise.
        * include/parallel/settings.h: Likewise.
        * include/parallel/sort.h: Likewise.
        * include/parallel/types.h: Likewise.
        * include/parallel/unique_copy.h: Likewise.
        * include/parallel/workstealing.h: Likewise.
        * include/parallel/algo.h: Likewise;
        shorten _ForwardIterator to _FIterator.
        * include/parallel/find_selectors.h: Likewise.

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

14 years ago2009-09-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
krebbel [Thu, 17 Sep 2009 07:52:40 +0000 (07:52 +0000)]
2009-09-17  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* cfglayout.c (fixup_reorder_chain): Accept conditional jumps
without a fallthrough edge.

2009-09-17  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* gcc.c-torture/compile/20090917-1.c: New testcase.

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

14 years agoDaily bump.
gccadmin [Thu, 17 Sep 2009 00:16:57 +0000 (00:16 +0000)]
Daily bump.

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

14 years ago* config/m32c/m32c.c (m32c_emit_epilogue): Check for R8C or M16C
dj [Wed, 16 Sep 2009 22:18:30 +0000 (22:18 +0000)]
* config/m32c/m32c.c (m32c_emit_epilogue): Check for R8C or M16C
chip and ignore the "fast_interrupt" attribute if so.

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

14 years ago2009-09-16 Jonathan Yong <jon_y@users.sourceforge.net>
davek [Wed, 16 Sep 2009 21:38:46 +0000 (21:38 +0000)]
2009-09-16  Jonathan Yong  <jon_y@users.sourceforge.net>

* gnu/java/security/jce/prng/natVMSecureRandomWin32.cc: Correct
UnsupportedOperationException namespace.

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

14 years ago PR middle-end/41360
rth [Wed, 16 Sep 2009 20:12:35 +0000 (20:12 +0000)]
    PR middle-end/41360
        * cfgbuild.c (find_bb_boundaries): Really re-instate 2009-09-02
        barrier fix.

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

14 years ago * gfortran.dg/default_format_denormal_2.f90: Add ieee options.
uros [Wed, 16 Sep 2009 17:42:01 +0000 (17:42 +0000)]
* gfortran.dg/default_format_denormal_2.f90: Add ieee options.
* gfortran.dg/default_format_denormal_1.f90: Ditto.  Remove
alpha*-*-* target from XFAIL list.

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

14 years agoFix out-of-date comment.
rth [Wed, 16 Sep 2009 16:39:17 +0000 (16:39 +0000)]
Fix out-of-date comment.

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

14 years ago * gcc.dg/dfp/dfp.exp: Use appropriate default options.
janis [Wed, 16 Sep 2009 16:38:49 +0000 (16:38 +0000)]
* gcc.dg/dfp/dfp.exp: Use appropriate default options.
* gcc.dg/dfp/dfp-dbg.h: New; define FAILURE, FINISH.
* gcc.dg/dfp/cast-bad.c: Use default options.
* gcc.dg/dfp/compare-rel-const.c: Ditto.
* gcc.dg/dfp/composite-type.c: Ditto.
* gcc.dg/dfp/constants.c: Ditto.
* gcc.dg/dfp/constants-hex.c: Ditto.
* gcc.dg/dfp/constants-pedantic.c: Ditto.
* gcc.dg/dfp/convert-bfp-fold.c: Ditto.
* gcc.dg/dfp/convert-dfp-fold.c: Ditto.
* gcc.dg/dfp/convert-int-max-fold.c: Ditto.
* gcc.dg/dfp/ctypes.c: Ditto.
* gcc.dg/dfp/ddmode-ice.c: Ditto.
* gcc.dg/dfp/dec-eval-method-2.c: Ditto.
* gcc.dg/dfp/float-constant-double.c: Ditto.
* gcc.dg/dfp/keywords-pedantic.c: Ditto.
* gcc.dg/dfp/keywords-reserved.c: Ditto.
* gcc.dg/dfp/modes.c: Ditto.
* gcc.dg/dfp/operator-bitwise.c: Ditto.
* gcc.dg/dfp/pr31344.c: Ditto.
* gcc.dg/dfp/pr31385.c: Ditto.
* gcc.dg/dfp/pr33466.c: Ditto.
* gcc.dg/dfp/pr35620.c: Ditto.
* gcc.dg/dfp/pr37435.c: Ditto.
* gcc.dg/dfp/pr39986.c: Ditto.
* gcc.dg/dfp/pragma-float-const-decimal64-1.c: Ditto.
* gcc.dg/dfp/pragma-float-const-decimal64-2.c: Ditto.
* gcc.dg/dfp/pragma-float-const-decimal64-3.c: Ditto.
* gcc.dg/dfp/pragma-float-const-decimal64-4.c: Ditto.
* gcc.dg/dfp/pragma-float-const-decimal64-7.c: Ditto.
* gcc.dg/dfp/pragma-float-const-decimal64-8.c: Ditto.
* gcc.dg/dfp/typespec.c: Ditto.
* gcc.dg/dfp/usual-arith-conv-bad.c: Ditto.
* gcc.dg/dfp/usual-arith-conv-bad-2.c: Ditto.
* gcc.dg/dfp/usual-arith-conv-const.c: Ditto.
* gcc.dg/dfp/Wbad-function-cast-1.c: Ditto.
* gcc.dg/dfp/Wtraditional-conversion-2.c: Ditto.
* gcc.dg/dfp/wtr-conversion-1.c: Ditto.
* gcc.dg/dfp/compare-eq.h: Define custom debug macros.
* gcc.dg/dfp/compare-rel.h: Ditto.
* gcc.dg/dfp/compare-special.h: Ditto.
* gcc.dg/dfp/convert.h: Ditto.
* gcc.dg/dfp/fe-check.h: Ditto.
* gcc.dg/dfp/call-by-value.c: Use default options and
  debug macros.
* gcc.dg/dfp/cast.c: Ditto.
* gcc.dg/dfp/compare-eq-const.c: Ditto.
* gcc.dg/dfp/compare-eq-d32.c: Ditto.
* gcc.dg/dfp/compare-eq-d64.c: Ditto.
* gcc.dg/dfp/compare-eq-d128.c: Ditto.
* gcc.dg/dfp/compare-eq-dfp.c: Ditto.
* gcc.dg/dfp/compare-rel-d32.c: Ditto.
* gcc.dg/dfp/compare-rel-d64.c: Ditto.
* gcc.dg/dfp/compare-rel-d128.c: Ditto.
* gcc.dg/dfp/compare-rel-dfp.c: Ditto.
* gcc.dg/dfp/compare-special-d32.c: Ditto.
* gcc.dg/dfp/compare-special-d64.c: Ditto.
* gcc.dg/dfp/compare-special-d128.c: Ditto.
* gcc.dg/dfp/constants-zero.c: Ditto.
* gcc.dg/dfp/convert-bfp-2.c: Ditto.
* gcc.dg/dfp/convert-bfp-3.c: Ditto.
* gcc.dg/dfp/convert-bfp-4.c: Ditto.
* gcc.dg/dfp/convert-bfp-5.c: Ditto.
* gcc.dg/dfp/convert-bfp-6.c: Ditto.
* gcc.dg/dfp/convert-bfp-7.c: Ditto.
* gcc.dg/dfp/convert-bfp-8.c: Ditto.
* gcc.dg/dfp/convert-bfp-9.c: Ditto.
* gcc.dg/dfp/convert-bfp-10.c: Ditto.
* gcc.dg/dfp/convert-bfp-11.c: Ditto.
* gcc.dg/dfp/convert-bfp-12.c: Ditto.
* gcc.dg/dfp/convert-bfp-13.c: Ditto.
* gcc.dg/dfp/convert-bfp-14.c: Ditto.
* gcc.dg/dfp/convert-bfp.c: Ditto.
* gcc.dg/dfp/convert-complex.c: Ditto.
* gcc.dg/dfp/convert-dfp.c: Ditto.
* gcc.dg/dfp/convert-dfp-fold-2.c: Ditto.
* gcc.dg/dfp/convert-dfp-round.c: Ditto.
* gcc.dg/dfp/convert-int.c: Ditto.
* gcc.dg/dfp/convert-int-fold.c: Ditto.
* gcc.dg/dfp/convert-int-max.c: Ditto.
* gcc.dg/dfp/convert-int-saturate.c: Ditto.
* gcc.dg/dfp/decfloat-constants.c: Ditto.
* gcc.dg/dfp/fe-binop.c: Ditto.
* gcc.dg/dfp/fe-convert-1.c: Ditto.
* gcc.dg/dfp/fe-convert-2.c: Ditto.
* gcc.dg/dfp/fe-convert-3.c: Ditto.
* gcc.dg/dfp/func-array.c: Ditto.
* gcc.dg/dfp/func-deref.c: Ditto.
* gcc.dg/dfp/func-mixed.c: Ditto.
* gcc.dg/dfp/func-pointer.c: Ditto.
* gcc.dg/dfp/func-scalar.c: Ditto.
* gcc.dg/dfp/func-struct.c: Ditto.
* gcc.dg/dfp/func-vararg-alternate.h: Ditto.
* gcc.dg/dfp/func-vararg-alternate-d32.c: Ditto.
* gcc.dg/dfp/func-vararg-alternate-d64.c: Ditto.
* gcc.dg/dfp/func-vararg-alternate-d128.c: Ditto.
* gcc.dg/dfp/func-vararg-alternate-d128-2.c: Ditto.
* gcc.dg/dfp/func-vararg-dfp.c: Ditto.
* gcc.dg/dfp/func-vararg-mixed.c: Ditto.
* gcc.dg/dfp/func-vararg-mixed-2.c: Ditto.
* gcc.dg/dfp/func-vararg-size0.c: Ditto.
* gcc.dg/dfp/inf-1.c: Ditto.
* gcc.dg/dfp/loop-index.c: Ditto.
* gcc.dg/dfp/nan-1.c: Ditto.
* gcc.dg/dfp/nan-2.c: Ditto.
* gcc.dg/dfp/operator-arith-fold.c: Ditto.
* gcc.dg/dfp/operator-assignment.c: Ditto.
* gcc.dg/dfp/operator-comma.c: Ditto.
* gcc.dg/dfp/operator-cond.c: Ditto.
* gcc.dg/dfp/operator-logical.c: Ditto.
* gcc.dg/dfp/operator-unary.c: Ditto.
* gcc.dg/dfp/pr36800.c: Ditto.
* gcc.dg/dfp/pr39034.c: Ditto.
* gcc.dg/dfp/pr39035.c: Ditto.
* gcc.dg/dfp/pr39902.c: Ditto.
* gcc.dg/dfp/signbit-1.c: Ditto.
* gcc.dg/dfp/signbit-2.c: Ditto.
* gcc.dg/dfp/struct-layout-1.c: Ditto.
* gcc.dg/dfp/union-init.c: Ditto.
* gcc.dg/dfp/usual-arith-conv.c: Ditto.

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

14 years agoPR target/41246
rth [Wed, 16 Sep 2009 16:26:55 +0000 (16:26 +0000)]
PR target/41246
        * tree-cfg.c (verify_gimple_call): Validate that
        * gimple_call_chain
        is set only if DECL_NO_STATIC_CHAIN is unset.
        * tree-nested.c (iter_nestinfo_start, iter_nestinfo_next): New.
        (FOR_EACH_NEST_INFO): New.
        (walk_all_functions): Use it.
        (finalize_nesting_tree): Likewise.
        (unnest_nesting_tree): Likewise.
        (free_nesting_tree): Use iter_nestinfo_start, iter_nestinfo_next.
        (get_chain_decl, get_chain_field): Reset DECL_NO_STATIC_CHAIN.
        (convert_gimple_call): Early out if gimple_call_chain already set.
        (convert_all_function_calls): Iterate until no new functions
        require a static chain.
        (finalize_nesting_tree_1): Assert DECL_NO_STATIC_CHAIN is unset
        when building a trampoline.  Use dump_function_to_file instead
        of dump_function.
        (lower_nested_functions): Open dump_file.  Validate that decls
        that have DECL_NO_STATIC_CHAIN from the front end don't have that
        bit reset by this pass.

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

14 years ago PR fortran/41212
matz [Wed, 16 Sep 2009 16:12:18 +0000 (16:12 +0000)]
    PR fortran/41212
* tree.h (struct tree_decl_common): Add decl_restricted_flag,
shorten decl_common_unused.
(DECL_RESTRICTED_P): New accessor.
* tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Use it
to disambiguate marked decls and restrict pointers.

fortran/
* trans.h (struct lang_type): Remove nontarget_type member.
* trans.c (gfc_add_modify): Don't access it.
* trans-decl.c (gfc_finish_var_decl): Don't allocate and set it,
instead set DECL_RESTRICTED_P on affected decls.

testsuite/
* gfortran.dg/pr41212.f90: New test.

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

14 years ago PR middle-end/41360
rth [Wed, 16 Sep 2009 15:04:06 +0000 (15:04 +0000)]
    PR middle-end/41360
        * cfgbuild.c (find_bb_boundaries): Re-instate 2009-09-02 barrier fix.

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

14 years ago * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Size>: Strip
ebotcazou [Wed, 16 Sep 2009 15:02:25 +0000 (15:02 +0000)]
* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Size>: Strip
conversions between original and packable version of types from
the expression.

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

14 years ago2009-09-16 Johannes Singler <singler@ira.uka.de>
singler [Wed, 16 Sep 2009 14:53:58 +0000 (14:53 +0000)]
2009-09-16  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/base.h: Correct some comments accidentally changed
        during uglification.
        * include/parallel/find.h: Likewise.
        * include/parallel/find_selectors.h: Likewise.
        * include/parallel/multiway_merge.h: Likewise.
        * include/parallel/multiway_mergesort.h: Likewise.
        * include/parallel/partial_sum.h: Likewise.
        * include/parallel/partition.h: Likewise.
        * include/parallel/queue.h: Likewise.
        * include/parallel/random_shuffle.h: Likewise.
        * include/parallel/settings.h: Likewise.
        * include/parallel/sort.h: Likewise.
        * include/parallel/tags.h: Likewise.
        * include/parallel/workstealing.h: Likewise.

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

14 years ago * gcc-interface/decl.c (gnat_to_gnu_field): Add DEBUG_INFO_P parameter.
ebotcazou [Wed, 16 Sep 2009 14:05:47 +0000 (14:05 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_field): Add DEBUG_INFO_P parameter.
If a padding type was made for the field, declare it.
(components_to_record): Add DEBUG_INFO_P parameter.  Adjust call
to gnat_to_gnu_field and call to self.
(gnat_to_gnu_entity) <E_Array_Type>: Do not redeclare padding types.
<E_Array_Subtype>: Likewise.
Adjust calls to gnat_to_gnu_field and components_to_record.

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

14 years ago2009-09-16 Johannes Singler <singler@ira.uka.de>
singler [Wed, 16 Sep 2009 13:50:17 +0000 (13:50 +0000)]
2009-09-16  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/base.h (_EqualFromLess):
        Correct uglification of member variables and method arguments.
        * include/parallel/balanced_quicksort.h (_QSBThreadLocal): Likewise.
        * include/parallel/find_selectors.h (__find_first_of_selector):
        Likewise.
        * include/parallel/iterator.h (_IteratorTriple): Likewise.
        * include/parallel/multiseq_selection.h
        (_Lexicographic, _LexicographicReverse): Likewise.
        * include/parallel/multiway_mergesort.h (_Piece, _PMWMSSortingData):
        Likewise.
        * include/parallel/random_number.h (_RandomNumber): Likewise.
        * include/parallel/random_shuffle.h (_DRandomShufflingGlobalData):
        Likewise.
        * include/parallel/set_operations.h (__symmetric_difference_func,
        __difference_func, __intersection_func, __union_func,
        parallel_set_union, parallel_set_intersection, parallel_set_difference,
        parallel_set_symmetric_difference): Likewise.
        * include/parallel/tags.h (parallel_tag): Likewise.
        * include/parallel/workstealing.h (_Job): Likewise.
        * include/parallel/multiway_merge.h
        (__multiway_merge_k_variant_sentinel_switch:operator())
        correct uglification of _*LoserTree*.
        * include/parallel/losertree.h (_*LoserTree*): Likewise; correct
        uglification of member variables and method arguments.
        * include/parallel/par_loop.h: Correct uglification of finish_iterator.
        * include/parallel/for_each_selectors.h: Likewise.
        * include/parallel/omp_loop.h: Likewise.
        * include/parallel/algo.h: Likewise; uglify c_rand_number.

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

14 years ago * integrate.c (set_block_abstract_flags): Call
jakub [Wed, 16 Sep 2009 13:35:23 +0000 (13:35 +0000)]
* integrate.c (set_block_abstract_flags): Call
set_decl_abstract_flags also on BLOCK_NONLOCALIZED_VARs.

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

14 years agoMinor reformatting.
charlet [Wed, 16 Sep 2009 12:41:04 +0000 (12:41 +0000)]
Minor reformatting.

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

14 years ago2009-09-16 Robert Dewar <dewar@adacore.com>
charlet [Wed, 16 Sep 2009 12:40:23 +0000 (12:40 +0000)]
2009-09-16  Robert Dewar  <dewar@adacore.com>

* prj-nmsc.adb: Minor reformatting

2009-09-16  Ed Schonberg  <schonberg@adacore.com>

* exp_ch4.adb (Expand_N_Conditional_Expression): If the type of the
expression is a by-reference type (tagged or inherently limited)
introduce an access type to capture references to the values of each
branch of the conditional.

2009-09-16  Emmanuel Briot  <briot@adacore.com>

* prj-proc.adb, prj-part.adb, prj-tree.adb, prj-tree.ads
(Project_Name_And_Node.Display_Name): new field
The display name of a project (as written in the .gpr file) is now
computed when the project file itself is parsed, not when it is
processed.

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

14 years ago2009-09-16 Thomas Quinot <quinot@adacore.com>
charlet [Wed, 16 Sep 2009 12:30:39 +0000 (12:30 +0000)]
2009-09-16  Thomas Quinot  <quinot@adacore.com>

* freeze.adb, exp_intr.adb (Expand_Intrinsic_Call): Leave calls to
intrinsics untouched (to be expanded later on by gigi) if an external
name has been specified.
(Freeze_Entity): Do not generate a default external name for
imported subprograms with convention Intrinsic (so that the above code
can identify the case where an external name has been explicitly
provided).

* s-oscons-tmplt.c: Quote TARGET_OS early so that it is not erroneously
replaced by something else due to an existing #define clause.

2009-09-16  Ed Schonberg  <schonberg@adacore.com>

* sinfo.ads, sinfo.adb (Is_Accessibility_Actual): New flag on
Parameter_Association node, created for the extra actual generated for
an access parameter of a function that dispatches on result, to prevent
double generation of such actuals when the call is rewritten is a
dispatching call.
* exp_ch6.adb (Expand_Call): Set Is_Accessibility_Actual when needed.
* exp_disp.adb (Expand_Dispatching_Call): Do not transfer extra actuals
that carry this flag when rewriting the original call as a dispatching
call, after propagating the controlling tag.

2009-09-16  Vincent Celier  <celier@adacore.com>

* prj-nmsc.adb (Add_Source): New parameter Source_Dir_Rank to be put
in the source data.
(Check_File): New parameter Source_Dir_Rank, to check if a duplicate
source is allowed.
(Find_Source_Dirs): New parameter Rank to be recorded with the source
directories.
(Search_Directories): Call Check_File with the rank of the directory
* prj.adb (Project_Empty): Add new component Source_Dir_Ranks
(Free): Free also Number_Lists
(Reset): Init also Number_Lists
* prj.ads (Number_List_Table): New dynamic table for lists of numbers
(Source_Data): New component Source_Dir_Rank. Remove component
Known_Order_Of_Source_Dirs, no longer needed.
(Project_Data): New component Source_Dir_Ranks
(Project_Tree_Data): New components Number_Lists

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

14 years ago2009-09-16 Vincent Celier <celier@adacore.com>
charlet [Wed, 16 Sep 2009 12:25:44 +0000 (12:25 +0000)]
2009-09-16  Vincent Celier  <celier@adacore.com>

* gprep.adb (Yes_No): New global constant
Unix_Line_Terminators: New global Boolean variable
(Process_One_File): Create the out file with a "Text_Translation=" form
that depends on the use of option -T.
(Scan_Command_Line): Add option -T
(Usage): Add line for option -T

2009-09-16  Ed Schonberg  <schonberg@adacore.com>

* exp_disp.ads, exp_disp.adb (Is_Predefined_Internal_Operation): New
predicate that describes a proper subset of
Is_Predefined_Dispatching_Operation and excludes stream operations,
which can be overridden by the user.
* sem_ch6.adb (Create_Extra_Formals): use
Is_Predefined_Internal_Operation, so that stream operations get extra
formals.
* exp_ch6.adb (Prevent double generation of extra actuals in calls to
'Input, which may be expanded twice, first as a function call and then
as a dispatching call.

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

14 years ago2009-09-16 Thomas Quinot <quinot@adacore.com>
charlet [Wed, 16 Sep 2009 12:21:10 +0000 (12:21 +0000)]
2009-09-16  Thomas Quinot  <quinot@adacore.com>

* s-oscons-tmplt.c (Target_OS, Target_Name): New constants.
* g-expect.adb (Set_Up_Child_Communications): Use
System.OS_Constants.Target_OS to determine whether running on Windows.

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

14 years ago2009-09-16 Johannes Singler <singler@ira.uka.de>
singler [Wed, 16 Sep 2009 11:02:15 +0000 (11:02 +0000)]
2009-09-16  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/base.h (_PseudoSequenceIterator, _PseudoSequence):
        Replace redundant _Self.
        * include/parallel/iterator.h (_IteratorPair, _IteratorTriple):
        Replace redundant _Self.
        * include/parallel/algo.h: Correct accidental _Self in comments.
        * include/parallel/losertree.h: Likewise.
        * include/parallel/multiway_merge.h: Likewise.
        * include/parallel/random_shuffle.h: Likewise.

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

14 years ago2009-09-16 Andrew Haley <aph@redhat.com>
aph [Wed, 16 Sep 2009 10:43:29 +0000 (10:43 +0000)]
2009-09-16  Andrew Haley  <aph@redhat.com>

* libgcj_bc.c (__data_start, data_start, _end): Add dummy usage.

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

14 years ago2009-09-16 Johannes Singler <singler@ira.uka.de>
singler [Wed, 16 Sep 2009 09:47:25 +0000 (09:47 +0000)]
2009-09-16  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/algobase.h: Uglify internal identifiers.
        * include/parallel/algo.h: Likewise.
        * include/parallel/algorithmfwd.h: Likewise.
        * include/parallel/balanced_quicksort.h: Likewise.
        * include/parallel/base.h: Likewise.
        * include/parallel/checkers.h: Likewise.
        * include/parallel/compatibility.h: Likewise.
        * include/parallel/compiletime_settings.: Likewise.
        * include/parallel/equally_split.h: Likewise.
        * include/parallel/features.h: Likewise.
        * include/parallel/find.h: Likewise.
        * include/parallel/find_selectors.h: Likewise.
        * include/parallel/for_each.h: Likewise.
        * include/parallel/for_each_selectors.h: Likewise.
        * include/parallel/iterator.h: Likewise.
        * include/parallel/list_partition.h: Likewise.
        * include/parallel/losertree.h: Likewise.
        * include/parallel/merge.h: Likewise.
        * include/parallel/multiseq_selection.h: Likewise.
        * include/parallel/multiway_merge.h: Likewise.
        * include/parallel/multiway_mergesort.h: Likewise.
        * include/parallel/numeric: Likewise.
        * include/parallel/numericfwd.h: Likewise.
        * include/parallel/omp_loop.h: Likewise.
        * include/parallel/omp_loop_static.h: Likewise.
        * include/parallel/par_loop.h: Likewise.
        * include/parallel/partial_sum.h: Likewise.
        * include/parallel/partition.h: Likewise.
        * include/parallel/queue.h: Likewise.
        * include/parallel/quicksort.h: Likewise.
        * include/parallel/random_number.h: Likewise.
        * include/parallel/random_shuffle.h: Likewise.
        * include/parallel/search.h: Likewise.
        * include/parallel/set_operations.h: Likewise.
        * include/parallel/settings.h: Likewise.
        * include/parallel/sort.h: Likewise.
        * include/parallel/tags.h: Likewise.
        * include/parallel/types.h: Likewise.
        * include/parallel/unique_copy.h: Likewise.
        * include/parallel/workstealing.h: Likewise.

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

14 years ago2009-09-16 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 16 Sep 2009 08:50:46 +0000 (08:50 +0000)]
2009-09-16  Richard Guenther  <rguenther@suse.de>

PR middle-end/34011
* tree-flow-inline.h (may_be_aliased): Compute readonly variables
as non-aliased.

* gcc.dg/tree-ssa/ssa-lim-7.c: New testcase.

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

14 years ago * hashtab.c [HAVE_INTTYPES_H]: Include <inttypes.h>.
ro [Wed, 16 Sep 2009 08:38:46 +0000 (08:38 +0000)]
* hashtab.c [HAVE_INTTYPES_H]: Include <inttypes.h>.

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

14 years ago * config/sh/sh.c (output_stack_adjust): Add new argument frame_p.
kkojima [Wed, 16 Sep 2009 01:12:16 +0000 (01:12 +0000)]
* config/sh/sh.c (output_stack_adjust): Add new argument frame_p.
(sh_expand_prologue): Update calls to output_stack_adjust.
(sh_expand_epilogue): Likewise.

* gcc.target/sh/struct-arg-dw2.c: New test.

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

14 years agoDaily bump.
gccadmin [Wed, 16 Sep 2009 00:16:50 +0000 (00:16 +0000)]
Daily bump.

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

14 years ago PR bootstrap/41349
nemet [Tue, 15 Sep 2009 22:18:34 +0000 (22:18 +0000)]
PR bootstrap/41349
* reorg.c (redundant_insn): Don't count notes or DEBUG_INSNs when
trying to limit the extent of searches in the insn stream.

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

14 years ago PR target/41175
jakub [Tue, 15 Sep 2009 20:12:18 +0000 (20:12 +0000)]
PR target/41175
PR target/40677
* config/rs6000/rs6000.c (no_global_regs_above): Fix precedence
problem.
(SAVRES_NOINLINE_GPRS_SAVES_LR, SAVRES_NOINLINE_FPRS_SAVES_LR,
SAVRES_NOINLINE_FPRS_DOESNT_RESTORE_LR): New strategy bits.
(rs6000_savres_strategy): Always save FP registers inline if the
target doesn't support hardware double-precision.  Set the above
bits in return value when needed.
(rs6000_savres_routine_sym): Fix computation for cache selector.
Mark the generated symbol as a function.  Rename exitp argument to
lr.  Move code for determining the name of the symbol...
(rs6000_savres_routine_name): ...here.  New function.  Add cases for
getting the names right on AIX and 64-bit Linux.
(savres_routine_name): New variable.
(rs6000_make_savres_rtx): Rename exitp argument to lr.  Don't assert
lr isn't set when savep.  Use r12 resp. r1 instead of r11 depending
on what the target routine uses as a base register.  If savep && lr
describe saving of r0 into memory slot.
(rs6000_emit_prologue): Correct use of call_used_regs.  Fix out of
line calls for AIX ABI.
(rs6000_output_function_prologue): Use rs6000_savres_routine_name to
determine FP save/restore functions.
(rs6000_emit_stack_reset): Handle savres if sp_offset != 0 and
frame_reg_rtx != sp_reg_rtx.  Use gen_add3_insn instead of
gen_addsi3.
(rs6000_emit_epilogue): Adjust computation of restore_lr.
Duplicate restoration of LR and execute the appropriate one
depending on whether GPRs are being restored inline.  Set r11 from
offsetted frame_reg_rtx instead of sp_reg_rtx; if frame_reg_rtx is
r11, adjust sp_offset.  Use gen_add3_insn instead of gen_addsi3.
Fix out of line calls for AIX ABI.
* config/rs6000/rs6000.md (*return_and_restore_fpregs_aix_<mode>):
New insn.
* config/rs6000/spe.md (*save_gpregs_spe): Use explicit match for
register 11.
(*restore_gpregs_spe): Likewise.
(*return_and_restore_gpregs_spe): Likewise.
* config/rs6000/linux64.h (SAVE_FP_SUFFIX, RESTORE_FP_SUFFIX):
Define to empty string unconditionally.
* config/rs6000/sysv4.h (SAVE_FP_SUFFIX, RESTORE_FP_SUFFIX):
Define to empty string unconditionally.
(GP_SAVE_INLINE, FP_SAVE_INLINE): Handle TARGET_64BIT the same as
!TARGET_64BIT.

* gcc.target/powerpc/pr41175.c: New test.

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

14 years ago * doc/invoke.texi (inline-insns-auto): Drop from 60 to 50.
hubicka [Tue, 15 Sep 2009 20:07:25 +0000 (20:07 +0000)]
* doc/invoke.texi (inline-insns-auto): Drop from 60 to 50.
* params.def (inline-insns-auto): Likewise.

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

14 years ago2009-09-15 David Daney <ddaney@caviumnetworks.com>
daney [Tue, 15 Sep 2009 17:15:33 +0000 (17:15 +0000)]
2009-09-15  David Daney  <ddaney@caviumnetworks.com>

* src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
handling for FFI_TYPE_POINTER.
* src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
(FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
(enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
* src/mips/n32.S (ffi_call_N32): Add handling for soft-float
structure and pointer returns.
(ffi_closure_N32): Add handling for pointer returns.
* src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
calc_n32_return_struct_flags): Handle soft-float.
(ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
(ffi_call_N32): Declare proper argument types.
(ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
soft-float.

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

14 years ago * configure.ac: Disable java and boehm-gc for bfin-*-*.
jiez [Tue, 15 Sep 2009 15:10:09 +0000 (15:10 +0000)]
* configure.ac: Disable java and boehm-gc for bfin-*-*.
* configure: Regenerate.

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

14 years ago2009-09-14 Martin Jambor <mjambor@suse.cz>
jamborm [Tue, 15 Sep 2009 14:04:01 +0000 (14:04 +0000)]
2009-09-14  Martin Jambor  <mjambor@suse.cz>

* ipa-inline.c (estimate_function_body_sizes): Dump info about
individual statements only at TDF_DETAILS dump level.  Format
source for 80 characters per line.

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

14 years agoUpdate REG_DEAD notes
chrbr [Tue, 15 Sep 2009 13:16:15 +0000 (13:16 +0000)]
Update REG_DEAD notes

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

14 years agoUpdate REG_DEAD notes
chrbr [Tue, 15 Sep 2009 13:15:51 +0000 (13:15 +0000)]
Update REG_DEAD notes

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

14 years ago2009-09-15 Tristan Gingold <gingold@adacore.com>
gingold [Tue, 15 Sep 2009 11:03:52 +0000 (11:03 +0000)]
2009-09-15  Tristan Gingold  <gingold@adacore.com>

* config.h-vms (intptr_t): Define to compile hashtab.c

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

14 years agoNew function for checking misalignment
revitale [Tue, 15 Sep 2009 10:39:13 +0000 (10:39 +0000)]
New function for checking misalignment

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

14 years ago * config/bfin/bfin.c (length_for_loop): Use NONDEBUG_INSN_P
jiez [Tue, 15 Sep 2009 09:10:51 +0000 (09:10 +0000)]
* config/bfin/bfin.c (length_for_loop): Use NONDEBUG_INSN_P
instead of INSN_P.
(bfin_optimize_loop): Likewise.
(bfin_gen_bundles): Likewise.
(workaround_speculation): Likewise.
(find_load): Return NULL_RTX for debug_insn.

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

14 years ago * config/alpha/alpha.md (smaxsf3): Disable for IEEE mode.
uros [Tue, 15 Sep 2009 06:29:43 +0000 (06:29 +0000)]
* config/alpha/alpha.md (smaxsf3): Disable for IEEE mode.
(sminsf3): Ditto.

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

14 years agoRemove obsolete entries from fixincludes.
rwild [Tue, 15 Sep 2009 04:59:54 +0000 (04:59 +0000)]
Remove obsolete entries from fixincludes.

fixincludes/:
* inclhack.def (isc_fmod, isc_omits_with_stdc)
(nested_sys_limits, sco_math): Remove.
* tests/base/math.h (ISC_FMOD_CHECK, SCO_MATH_CHECK): Remove.
* tests/base/stdio.h (ISC_OMITS_WITH_STDC_CHECK): Remove.
* tests/base/sys/limits.h: Remove.
* fixincl.x: Regenerate.

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

14 years agoDaily bump.
gccadmin [Tue, 15 Sep 2009 00:16:56 +0000 (00:16 +0000)]
Daily bump.

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

14 years ago* config/mep/mep.h (JUMP_TABLES_IN_TEXT_SECTION): Define.
dj [Mon, 14 Sep 2009 23:41:22 +0000 (23:41 +0000)]
* config/mep/mep.h (JUMP_TABLES_IN_TEXT_SECTION): Define.

* config/mep/mep.c (mep_emit_cbranch): Don't use BEQZ/BNEI in VLIW
mode.

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

14 years ago * builtins.c (expand_builtin_synchronize): Use gimple_build_asm_vec.
rth [Mon, 14 Sep 2009 20:17:24 +0000 (20:17 +0000)]
* builtins.c (expand_builtin_synchronize): Use gimple_build_asm_vec.
* cfgbuild.c (make_edges): Handle asm goto.
* cfglayout.c (fixup_reorder_chain): Likewise.
* cfgrtl.c (patch_jump_insn): Likewise.
* gimple-pretty-print.c (dump_gimple_asm): Likewise.
* gimple.c (gimple_build_asm_1): Add and use nlabels parameter.
(gimple_build_asm_vec): Add and use labels parameter.
(gimple_build_asm): Remove.
(walk_gimple_asm): Walk labels too.
* gimple.def (GIMPLE_ASM): Update docs.
* gimple.h: Update decls.
(struct gimple_statement_asm): Change nc to use unsigned char;
add nl member.
(gimple_asm_nlabels): New.
(gimple_asm_label_op, gimple_asm_set_label_op): New.
* gimplify.c (gimplify_asm_expr): Copy labels from ASM_EXPR
into gimple_build_asm_vec.
* jump.c (mark_jump_label_asm): New.
(mark_jump_label): Use it.
(redirect_jump_1): Handle asm goto.
(invert_jump_1): Soft fail if X is null.
* recog.c (extract_asm_operands): New.
(asm_noperands): Use it; handle asm labels.
(decode_asm_operands): Use extract_asm_operands.
(asm_operand_ok): Properly handle empty string.
* reg-stack.c (get_asm_operands_in_out): Rename from
get_asm_operand_n_inputs; use extract_asm_operands; return both
inputs and outputs by reference; update all callers.
* rtl.def (ASM_OPERANDS): Add label vector as operand 6.
* rtl.h (ASM_OPERANDS_LABEL_VEC): New.
(ASM_OPERANDS_LABEL_LENGTH, ASM_OPERANDS_LABEL): New.
(ASM_OPERANDS_SOURCE_LOCATION): Renumber.
(extract_asm_operands): Declare.
* stmt.c (expand_asm_operands): Add and use labels parameter.
(check_unique_operand_names): Likewise.
(resolve_asm_operand_names, resolve_operand_name_1): Likewise.
(expand_asm_stmt): Handle asm labels.
* tree-cfg.c (make_gimple_asm_edges): New.
(make_edges): Use it.
(cleanup_dead_labels): Handle asm labels.
(is_ctrl_altering_stmt): Likewise.
(gimple_redirect_edge_and_branch): Likewise.
* tree.def (ASM_EXPR): Add 5th operand.
* tree.h (ASM_LABELS): New.
(resolve_asm_operand_names): Update decl.

* c-parser.c (c_parser_asm_statement): Parse asm goto.
(c_parser_asm_goto_operands): New.
* c-tree.h (build_asm_expr): Update decl.
* c-typeck.c (build_asm_expr): Add and use labels parameter.
* doc/extend.texi: Document asm goto.

gcc/ada/
* gcc-interface/trans.c (Pragma_to_gnu): Use build5 for ASM_EXPR.

gcc/cp/
* cp-tree.h (finish_asm_stmt): Update decl.
* parser.c (cp_parser_asm_definition): Parse asm goto.
(cp_parser_asm_label_list): New.
* pt.c (tsubst_copy_asm_operands): Don't recurse on labels.
(tsubst_expr): Handle asm labels.
* semantics.c (finish_asm_stmt): Add and use labels parameter.

gcc/testsuite/
* c-c++-common/asmgoto-1.c, c-c++-common/asmgoto-2.c,
c-c++-common/asmgoto-3.c, gcc.c-torture/compile/asmgoto-1.c,
gcc.dg/tree-ssa/asmgoto-1.c: New files.

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

14 years ago * exp_dbug.ads (Packed Array Encoding): Document the new encoding for
ebotcazou [Mon, 14 Sep 2009 19:27:21 +0000 (19:27 +0000)]
* exp_dbug.ads (Packed Array Encoding): Document the new encoding for
the unconstrained case.
* gcc-interfaces/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Implement
the encoding.  Do not give a name to the pointer type to the XUT type.
* gcc-interfaces/utils.c (gnat_pushdecl): Propagate DECL_ORIGINAL_TYPE
for fat pointer types, if any.  Make sure DECL_ARTIFICIAL is cleared
on nodes with DECL_ORIGINAL_TYPE set.
(update_pointer_to): Set DECL_ORIGINAL_TYPE to the original pointer
for fat pointer types.  Make sure DECL_ARTIFICIAL is cleared.

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

14 years agoSquash commit of EH in gimple
rth [Mon, 14 Sep 2009 19:18:58 +0000 (19:18 +0000)]
Squash commit of EH in gimple

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

14 years agogcc/
rsandifo [Mon, 14 Sep 2009 18:52:16 +0000 (18:52 +0000)]
gcc/
* config/mips/mips-protos.h (mips_cfun_has_cprestore_slot_p): Declare.
(mips_cprestore_address_p): Likewise.
(mips_save_gp_to_cprestore_slot): Likewise.
(mips_restore_gp): Rename to...
(mips_restore_gp_from_cprestore_slot): ...this.
(mips_must_initialize_gp_p): Declare.
(mips_emit_save_slot_move): Likewise.
(mips_output_load_label): Return nothing.
(mips_eh_uses): Declare.
* config/mips/mips.h (TARGET_SPLIT_CALLS): Require epilogue_completed.
(TARGET_CPRESTORE_DIRECTIVE): New macro.
(TARGET_ABSOLUTE_JUMPS): Likewise.
(EH_USES): Likewise.
(FIRST_PSEUDO_REGISTER): Update comment.
(MIPS_ABSOLUTE_JUMP): New macro, extracted from...
(MIPS_CALL): ...here.
(REGISTER_NAMES): Add $cprestore.
* config/mips/mips.c (machine_function): Remove has_gp_insn_p.
Add load_label_length, has_inflexible_gp_insn_p,
has_flexible_gp_insn_p, must_initialize_gp_p and
must_restore_gp_when_clobbered_p.
(mips_expand_call): Don't generate split instructions here.
(mips_split_call): Update the call to mips_restore_gp after
the above name change.
(mips16_cfun_returns_in_fpr_p): Move earlier in file.
(mips_find_gp_ref): New function.
(mips_insn_has_inflexible_gp_ref_p): Likewise.
(mips_cfun_has_inflexible_gp_ref_p): Likewise.
(mips_insn_has_flexible_gp_ref_p): Likewise.
(mips_cfun_has_flexible_gp_ref_p): Likewise.
(mips_function_has_gp_insn): Delete.
(mips_global_pointer): Drop the df_regs_ever_live_p check.
Use the new functions above.  Only return INVALID_REGNUM
for TARGET_ABSOLUTE_JUMPS.
(mips_must_initialize_gp_p): New function.
(mips_get_cprestore_base_and_offset): New function, extracted from...
(mips_cprestore_slot): ...here.  Take a bool parameter.
(mips_cfun_has_cprestore_slot_p): New function.
(mips_cprestore_address_p): Likewise.
(mips_save_gp_to_cprestore_slot): Likewise.
(mips_restore_gp): Rename to...
(mips_restore_gp_from_cprestore_slot): ...this.  Assert
epilogue_completed.  Update the call to mips_cprestore_slot.
Test cfun->machine->must_restore_gp_when_clobbered_p.
(mips_direct_save_slot_move_p): New function.
(mips_emit_save_slot_move): Likewise.
(mips_output_cplocal): Test mips_must_initialize_gp_p () instead
of cfun->machine->global_pointer.
(mips_output_function_prologue): Check mips_must_initialize_gp_p ().
(mips_save_reg): Use mips_emit_save_slot_move.
(mips_expand_prologue): Set must_initialize_gp_p.
Use mips_cfun_has_cprestore_slot_p.  Use gen_potential_cprestore
for all cprestore saves.  Emit a use_cprestore instruction after
setting up the cprestore slot.
(mips_restore_reg): Use mips_emit_save_slot_move.
(mips_process_load_label): New function.
(mips_load_label_length): Likewise.
(mips_output_load_label): Don't return asm: output it here instead.
Use mips_process_load_label.
(mips_adjust_insn_length): Adjust the length of branch instructions
that have length MAX_PIC_BRANCH_LENGTH.
(mips_output_conditional_branch): Update the call to
mips_output_load_label.  Assume the branch target is OPERANDS[0]
rather than OPERANDS[1].  Use MIPS_ABSOLUTE_JUMP for absolute jumps.
(mips_output_order_conditional_branch): Swap the meaning of
OPERANDS[0] and OPERANDS[1].
(mips_variable_issue): Don't count ghost instructions.
(mips_expand_ghost_gp_insns): New function.
(mips_reorg): Rerun mips_reorg_process_insns if it returns true.
(mips_output_mi_thunk): Set must_initialize_gp_p.
(mips_eh_uses): New function.
* config/mips/predicates.md (cprestore_save_slot_operand)
(cprestore_load_slot_operand): New predicates.
* config/mips/mips.md (UNSPEC_POTENTIAL_CPRESTORE): New unspec.
(UNSPEC_MOVE_GP): Likewise.
(UNSPEC_CPRESTORE, UNSPEC_RESTORE_GP, UNSPEC_EH_RETURN)
(UNSPEC_CONSTTABLE_INT, UNSPEC_CONSTTABLE_FLOAT): Bump to make room.
(CPRESTORE_SLOT_REGNUM): New register.
(MAX_PIC_BRANCH_LENGTH): New constant.
(jal_macro): Use MIPS_ABSOLUTE_JUMPS.
(length): Use MAX_PIC_BRANCH_LENGTH as a placeholder for PIC long
branches.  Fix commentary.
(loadgp_newabi_<mode>): Change from unspec_volatile to unspec.
Only split if mips_must_initialize_gp_p; expand to nothing otherwise.
Change type to "ghost".
(loadgp_absolute_<mode>): Likewise.
(loadgp_rtp_<mode>): Likewise.
(copygp_mips16): Likewise.
(loadgp_blockage): Remove redundant mode attribute.
(potential_cprestore): New instruction.
(cprestore): Turn into an unspec set.
(use_cprestore): New instruction.
(*branch_fp): Swap operands 0 and 1.  Remove redundant mode attribute.
(*branch_fp_inverted): Likewise.
(*branch_order<mode>): Likewise.
(*branch_order<mode>_inverted): Likewise.
(*branch_equality<mode>): Likewise.
(*branch_equality<mode>_inverted): Likewise.
(*branch_bit<bbv><mode>): Likewise.
(*branch_bit<bbv><mode>_inverted): Likewise.
(*branch_equality<mode>_mips16): Remove redundant mode.
(jump): Turn into a define_expand.
(*jump_absolute): New instruction.
(*jump_pic): Likewise.
(*jump_mips16): Rename previously-unnamed pattern.  Remove
redundant mode attribute.
(restore_gp): Split on epilogue_completed rather than
reload_completed.  Change type to "ghost".
(move_gp<mode>): New instruction.
* config/mips/mips-dsp.md (mips_bposge): Swap operands 0 and 1.
Remove redundant mode attribute.
* config/mips/mips-ps-3d.md (bc1any4t): Likewise.
(bc1any4f, bc1any2t, bc1any2f): Likewise.
(*branch_upper_lower, *branch_upper_lower_inverted): Likewise.

gcc/testsuite/
* gcc.target/mips/branch-helper.h: New file.
* gcc.target/mips/branch-2.c,
* gcc.target/mips/branch-3.c,
* gcc.target/mips/branch-4.c,
* gcc.target/mips/branch-5.c,
* gcc.target/mips/branch-6.c,
* gcc.target/mips/branch-7.c,
* gcc.target/mips/branch-8.c,
* gcc.target/mips/branch-9.c,
* gcc.target/mips/branch-10.c,
* gcc.target/mips/branch-11.c,
* gcc.target/mips/branch-12.c,
* gcc.target/mips/branch-13.c,
* gcc.target/mips/branch-14.c,
* gcc.target/mips/branch-15.c: New tests.

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