platform/upstream/linaro-gcc.git
15 years ago2009-10-30 Emmanuel Briot <briot@adacore.com>
charlet [Fri, 30 Oct 2009 13:36:19 +0000 (13:36 +0000)]
2009-10-30  Emmanuel Briot  <briot@adacore.com>

* make.adb, osint.adb, osint.ads (Library_File_Stamp): Removed, since
unused.
(Read_Library_Info_From_Full): New subprogram.

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

15 years agoRemove executable property.
charlet [Fri, 30 Oct 2009 13:30:32 +0000 (13:30 +0000)]
Remove executable property.

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

15 years ago2009-10-30 Robert Dewar <dewar@adacore.com>
charlet [Fri, 30 Oct 2009 13:27:40 +0000 (13:27 +0000)]
2009-10-30  Robert Dewar  <dewar@adacore.com>

* a-tideio.adb: Minor reformatting
* a-wtdeio.adb, a-ztdeio.adb: Update comments, code clean up.

* a-reatim.adb, a-tideau.adb, a-ngelfu.adb, a-ztdeau.adb, a-ngrear.adb,
a-wtedit.adb, a-ststio.adb, a-ztedit.adb: Minor code reorganization
(use conditional expressions).

2009-10-30  Ed Schonberg  <schonberg@adacore.com>

* gnat_ugn.texi: Additional info on gnatw.i and gnatw.I

* sem_case.adb: Improved error message.

2009-10-30  Emmanuel Briot  <briot@adacore.com>

* a-direct.adb, gnatcmd.adb, gnatname.adb, makeutl.adb, opt.ads,
osint.adb, prj-ext.adb, switch-m.adb (Follow_Links_For_Dirs): Now
defaults to False, and controlled by -eL.
* a-direct.adb: Add comments.
* osint.adb (File_Stamp): Avoid unneeded duplicate system call

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

15 years ago2009-10-30 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 30 Oct 2009 13:12:08 +0000 (13:12 +0000)]
2009-10-30  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/type_traits (__is_convertible_simple): Remove.
(__is_convertible_helper): Adjust.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
dg-error line numbers.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.

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

15 years ago2009-10-30 Jerry Quinn <jlquinn@optonline.net>
jlquinn [Fri, 30 Oct 2009 12:20:38 +0000 (12:20 +0000)]
2009-10-30  Jerry Quinn  <jlquinn@optonline.net>

* libsupc++/tinfo.cc (operator=(const type_info&)): Revert 153734.
* libsupc++/typeinfo (type_info::name()): Likewise.
* libsupc++/tinfo2.cc (before):  Likewise.

2009-10-30  Jerry Quinn  <jlquinn@optonline.net>

* mangle.c (mangle_type_string_for_rtti): Revert 153734.
(needs_fake_anon): Likewise.
(write_name): Likewise.
(write_nested_name): Likewise.
* cp-tree.h (mangle_type_string_for_rtti): Likewise.
(get_anonymous_namespace): Likewise.
* name-lookup.c (get_anonymous_namespace_name): Likewise.
* rtti.c (tinfo_name): Likewise.
(tinfo_base_init): Likewise.

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

15 years ago2009-10-30 Robert Dewar <dewar@adacore.com>
charlet [Fri, 30 Oct 2009 12:02:11 +0000 (12:02 +0000)]
2009-10-30  Robert Dewar  <dewar@adacore.com>

* sem_res.adb (Resolve_Type_Conversion): Avoid false positive when
converting non-static subtype to "identical" static subtype.

2009-10-30  Ed Schonberg  <schonberg@adacore.com>

* usage.adb: Add -gnatw.i switch.

2009-10-30  Vincent Celier  <celier@adacore.com>

* xsnamest.adb: Update comments with regards to the template files
snames.*.tmpl

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

15 years ago2009-10-30 Bob Duff <duff@adacore.com>
charlet [Fri, 30 Oct 2009 11:57:55 +0000 (11:57 +0000)]
2009-10-30  Bob Duff  <duff@adacore.com>

* s-fileio.adb (Errno_Message): Suppress VMS-specific warning.

2009-10-30  Ed Schonberg  <schonberg@adacore.com>

* sem_case.adb (Check_Choices): Add explanatory message when there are
missing alternatives when the required range of alternatives is given
by the base type of the case expression or discriminant in a variant
part.

* opt.ads: New flag Warn_On_Overlap, to enable warnings on potentially
dangerous overlap between actuals in a call, activated by -gnatw.i
* sem_warn.adb (Set_Dot_Warning_Switch): set flag.
(Warn_On_Overlapping_Actuals): use new flag.

* gnat_ugn.texi: Document -gnatw.i, warning on overlapping actuals

2009-10-30  Robert Dewar  <dewar@adacore.com>

* exp_aggr.adb, exp_ch9.adb: Minor reformatting

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

15 years ago * arm.md (QHSI): New mode iterator.
rearnsha [Fri, 30 Oct 2009 09:16:36 +0000 (09:16 +0000)]
* arm.md (QHSI): New mode iterator.
(movqi): If generating for thumb, then truncate any immediate to
8 bits.
* thumb2.md (thumb2_movsi_shortim and peephole2 generator): Replace
with...
(thumb2_mov<mode>_shortim and peephole2 generator): ... iterator based
version.

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

15 years agoFix PR c++/41863
dodji [Fri, 30 Oct 2009 07:08:36 +0000 (07:08 +0000)]
Fix PR c++/41863

gcc/cp/ChangeLog:

PR c++/41863
* pt.c (iterative_hash_template_arg): articifial parms
don't have DECL_PARM_INDEX set. Do not hash it.

gcc/testsuite/ChangeLog:

PR c++/41863
* g++.dg/template/sizeof12.C: New test.

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

15 years ago2009-10-28 Jerry Quinn <jlquinn@optonline.net>
jlquinn [Fri, 30 Oct 2009 05:17:50 +0000 (05:17 +0000)]
2009-10-28  Jerry Quinn  <jlquinn@optonline.net>

* mangle.c (mangle_type_string_for_rtti): Revert r149964.
(needs_fake_anon): Likewise.
(write_name): Likewise.
(write_nested_name): Likewise.
* cp-tree.h (mangle_type_string_for_rtti): Likewise.
(get_anonymous_namespace): Likewise.
* name-lookup.c (get_anonymous_namespace_name): Likewise.
* rtti.c (tinfo_name): Insert '*' in front of private names.
(tinfo_base_init): Use it.

2009-10-28  Jerry Quinn  <jlquinn@optonline.net>

* libsupc++/tinfo.cc (operator=(const type_info&)): Compare by
pointer if name begins with '*'.
* libsupc++/typeinfo (type_info::name()): Likewise.
* libsupc++/tinfo2.cc (before):  Likewise.

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

15 years ago2009-10-29 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 30 Oct 2009 02:29:14 +0000 (02:29 +0000)]
2009-10-29  Paolo Carlini  <paolo.carlini@oracle.com>
       Douglas Gregor  <doug.gregor@gmail.com>

PR libstdc++/40925 (again)
* include/bits/stl_pair.h (pair<_T1, _T2>::pair(_U1&&, const _T2&),
pair<_T1, _T2>::pair(const _T1&, _U2&&)): Add, to deal correctly
with move-only types in the presence of "null pointers".
* testsuite/20_util/pair/40925.cc: Extend.

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

15 years agoMention PR
ebotcazou [Fri, 30 Oct 2009 00:26:44 +0000 (00:26 +0000)]
Mention PR

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

15 years agoDaily bump.
gccadmin [Fri, 30 Oct 2009 00:16:44 +0000 (00:16 +0000)]
Daily bump.

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

15 years ago2009-10-29 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 29 Oct 2009 23:23:29 +0000 (23:23 +0000)]
2009-10-29  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/type_traits (__is_int_or_cref): Remove.
(__is_convertible_helper): Fix per C++0x and simplify (the hack to
suppress warnings isn't necessary anymore).
* testsuite/20_util/is_convertible/requirements/typedefs.cc: New.
* testsuite/20_util/is_convertible/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_convertible/value.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
dg-error line numbers.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.

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

15 years ago2009-10-29 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 29 Oct 2009 19:45:36 +0000 (19:45 +0000)]
2009-10-29  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/20_util/pair/40925.cc: Minor comment fix.

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

15 years ago2009-10-29 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 29 Oct 2009 19:26:04 +0000 (19:26 +0000)]
2009-10-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/40925
* include/bits/stl_pair.h (pair<_T1, _T2>::pair(_U1&&, _U2&&)):
Use enable_if to remove it from the overload set when either _U1
is not convertible to _T1 or _U2 is not convertible to _T2.
(pair<>::pair(_U1&&, _Arg0&&, _Args&&...)): Remove.

2009-10-29  Douglas Gregor  <doug.gregor@gmail.com>

PR libstdc++/40925
* testsuite/20_util/pair/40925.cc: Add.

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

15 years ago2009-10-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Thu, 29 Oct 2009 19:20:18 +0000 (19:20 +0000)]
2009-10-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/41711
* libgfortran.h: Define larger sizes for BOZ conversion buffers.
* io/write.c (extract_uint): Include case where size is 10 if integer
is large enough. (write_int): Rename to write_boz. (write_boz): Factor
out extract_uint and delete the conversion function.
(btoa_big): New binary conversion function.
(otoa_big): New octal conversion function.
(ztoa_big): New hexidecimal conversion function.
(write_b): Modify to use new function.
(write_o): Likewise.
(write_z): Likewise.

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

15 years agoFix typo
ebotcazou [Thu, 29 Oct 2009 18:41:44 +0000 (18:41 +0000)]
Fix typo

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

15 years ago * gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Do not
ebotcazou [Thu, 29 Oct 2009 18:36:21 +0000 (18:36 +0000)]
* gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Do not
create integer types with precision 0.

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

15 years ago * gcc-interface/decl.c (array_type_has_nonaliased_component): Swap
ebotcazou [Thu, 29 Oct 2009 18:28:49 +0000 (18:28 +0000)]
* gcc-interface/decl.c (array_type_has_nonaliased_component): Swap
parameters and rewrite comments.  For a derived type, return the
setting of its parent type.
(gnat_to_gnu_entity): Do an alias set copy for derived types if they
are composite.  Adjust calls to above function.

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

15 years ago * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Object_Size>: Do not
ebotcazou [Thu, 29 Oct 2009 18:17:18 +0000 (18:17 +0000)]
* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Object_Size>: Do not
return the RM size for padded types.

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

15 years agogcc/ChangeLog:
ccoutant [Thu, 29 Oct 2009 18:13:27 +0000 (18:13 +0000)]
gcc/ChangeLog:
PR debug/41700
* dwarf2out.c (dwarf2_debug_hooks): Add entries for new hook (two
locations in the source).
        (store_vcall_insn): New function.
        (lookup_vcall_insn): New function.
        (dwarf2out_virtual_call_token): Use store_vcall_insn.
(dwarf2out_copy_call_info): New function.
(dwarf2out_virtual_call): Use lookup_vcall_insn.
* emit-rtl.c (try_split): Call copy_call_info debug hook.
* debug.h (struct gcc_debug_hooks): Add copy_call_info hook.
* debug.c (do_nothing_debug_hooks): Add dummy entry for new hook.
(debug_nothing_rtx_rtx): New dummy hook.
* dbxout.c (dbx_debug_hooks): Add dummy entry for new hook.
(xcoff_debug_hooks): Likewise.
* sdbout.c (sdb_debug_hooks): Likewise.
* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.

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

15 years ago2009-10-29 David Daney <ddaney@caviumnetworks.com>
daney [Thu, 29 Oct 2009 17:39:52 +0000 (17:39 +0000)]
2009-10-29  David Daney  <ddaney@caviumnetworks.com>

* doc/invoke.texi (mmcount-ra-address): Document new command line
option.
* config/mips/mips.opt (mmcount-ra-address): New option.
* config/mips/mips-protos.h (mips_function_profiler): Declare new
function.
* config/mips/mips.c (struct mips_frame_info): Add ra_fp_offset
member.
(mips_for_each_saved_gpr_and_fpr): Set ra_fp_offset.
(mips_function_profiler): Moved from FUNCTION_PROFILER, and
rewritten.
* config/mips/mips.h (FUNCTION_PROFILER): Body of macro moved to
mips_function_profiler.

2009-10-29  David Daney  <ddaney@caviumnetworks.com>

* gcc.target/mips/mips.exp (mips_option_groups): Add
mcount-ra-address.
* gcc.target/mips/mmcount-ra-address-1.c: New test.
* gcc.target/mips/mmcount-ra-address-2.c: New test.
* gcc.target/mips/mmcount-ra-address-3.c: New test.

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

15 years ago2009-10-29 Steve Ellcey <sje@cup.hp.com>
sje [Thu, 29 Oct 2009 16:44:02 +0000 (16:44 +0000)]
2009-10-29  Steve Ellcey  <sje@cup.hp.com>

PR middle-end/37565
PR target/38018
* doc/tm.texi (OVERRIDE_OPTIONS): Update.
(TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New.
* optc-gen.awk (cl_target_option_restore): Include call to
targetm.override_options_after_change.
* target-def.h (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New.
* target.h (override_options_after_change): New.
* c-common.c (parse_optimize_options): Call
targetm.override_options_after_change.
* config/ia64/ia64.c (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New.
(ia64_override_options_after_change): New.
(ia64_override_options) Add call to above.

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

15 years ago * tree-ssa-math-opts.c (execute_convert_to_rsqrt): Remove.
matz [Thu, 29 Oct 2009 16:41:10 +0000 (16:41 +0000)]
* tree-ssa-math-opts.c (execute_convert_to_rsqrt): Remove.
(gate_convert_to_rsqrt): Ditto.
(pass_convert_to_rsqrt): Ditto.
* tree-pass.h (pass_convert_to_rsqrt): Don't declare.
* passes.c (init_optimization_passes): Don't add pass_convert_to_rsqrt
to pass list.

* config/i386/i386.c (ix86_emit_swdivsf): Change evaluation order.

testsuite/
* gcc.target/i386/sse-recip.c: Use fabsf instead of != .
* gcc.target/i386/sse-recip-vec.c: Ditto.
* gcc.target/i386/brokensqrt.c: New test.

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

15 years ago * gcc.dg/testsuite/i386/cold-attribute-4.s: Remove.
uros [Thu, 29 Oct 2009 15:57:12 +0000 (15:57 +0000)]
* gcc.dg/testsuite/i386/cold-attribute-4.s: Remove.

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

15 years ago2009-10-29 Tobias Burnus <burnus@net-b.de>
burnus [Thu, 29 Oct 2009 15:24:38 +0000 (15:24 +0000)]
2009-10-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/41777
        * trans-expr.c
        * (gfc_conv_procedure_call,gfc_conv_expr_reference):
        Use for generic EXPR_FUNCTION the attributes of the specific
        function.

2009-10-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/41777
        gfortran.dg/associated_target_3.f90: New testcase.

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

15 years ago2009-10-28 Robert Dewar <dewar@adacore.com>
charlet [Thu, 29 Oct 2009 14:42:50 +0000 (14:42 +0000)]
2009-10-28  Robert Dewar  <dewar@adacore.com>

* sem_type.adb: Minor reformatting

2009-10-28  Arnaud Charlet  <charlet@adacore.com>

* exp_ch9.adb (Build_Task_Proc_Specification): Generate a different
suffix for task type bodies.

2009-10-28  Ed Schonberg  <schonberg@adacore.com>

* exp_aggr.adb (Convert_Aggr_In_Allocator): Do not look for a
finalization list if the designated type requires no control actions,
to prevent a useless semantic dependence on ada.tags.

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

15 years ago2009-10-29 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
ramana [Thu, 29 Oct 2009 14:01:58 +0000 (14:01 +0000)]
2009-10-29  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

* config/arm/arm.c (find_best_start): Fix type of remainder to
be unsigned .

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

15 years ago2009-10-29 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 29 Oct 2009 13:15:51 +0000 (13:15 +0000)]
2009-10-29  Paolo Carlini  <paolo.carlini@oracle.com>

* include/decimal/decimal: Minor formatting and uglification fixes.

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

15 years ago2009-10-29 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 29 Oct 2009 13:07:21 +0000 (13:07 +0000)]
2009-10-29  Paolo Carlini  <paolo.carlini@oracle.com>

* include/decimal/decimal: Minor formatting and uglification fixes.
* include/decimal/decimal.h: Likewise.

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

15 years ago2009-10-29 Rafael Avila de Espindola <espindola@google.com>
espindola [Thu, 29 Oct 2009 12:58:54 +0000 (12:58 +0000)]
2009-10-29  Rafael Avila de Espindola  <espindola@google.com>

* gfortran.dg/lto/pr41764_0.f: New.

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

15 years ago2009-10-29 Martin Jambor <mjambor@suse.cz>
jamborm [Thu, 29 Oct 2009 12:40:48 +0000 (12:40 +0000)]
2009-10-29  Martin Jambor  <mjambor@suse.cz>

PR tree-optimization/41775
* tree-sra.c (build_ref_for_offset): Unshare *expr if not NULL.
(generate_subtree_copies): Do not unshare agg.
(load_assign_lhs_subreplacements): Do not unshare rhs.
(sra_modify_assign): Do not unshare exprs.
(propagate_subacesses_accross_link): Renamed to
propagate_subaccesses_across_link.

* testsuite/g++.dg/torture/pr41775.C: New testcase.

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

15 years ago * arm.c (count_insns_for_constant): Rework to support counting for
rearnsha [Thu, 29 Oct 2009 09:44:36 +0000 (09:44 +0000)]
* arm.c (count_insns_for_constant): Rework to support counting for
thumb2 immediates as well.
(find_best_start): Split out from arm_gen_constant.
(arm_gen_constant): Rework to support XOR with immediate.

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

15 years ago2009-10-29 Chao-ying Fu <fu@mips.com>
chaoyingfu [Thu, 29 Oct 2009 07:08:03 +0000 (07:08 +0000)]
2009-10-29  Chao-ying Fu  <fu@mips.com>

* config/mips/mips.c (mips_emit_unary, mips_force_unary): New
functions.
(mips_expand_synci_loop):  Use the length rtx to control the
synci loop from the begin rtx that points to the first byte of
the cache line.

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

15 years agoDaily bump.
gccadmin [Thu, 29 Oct 2009 00:17:14 +0000 (00:17 +0000)]
Daily bump.

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

15 years agoPR fortran/41860 Treat vars as save with -fno-automatic
jb [Wed, 28 Oct 2009 23:25:08 +0000 (23:25 +0000)]
PR fortran/41860 Treat vars as save with -fno-automatic

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

15 years ago2009-10-28 Rafael Avila de Espindola <espindola@google.com>
espindola [Wed, 28 Oct 2009 21:41:34 +0000 (21:41 +0000)]
2009-10-28  Rafael Avila de Espindola  <espindola@google.com>

       * lto-plugin.c (all_symbols_read_handler): Use LDPL_FATAL instead of
       LDPL_ERROR

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

15 years ago2009-10-28 Rafael Avila de Espindola <espindola@google.com>
espindola [Wed, 28 Oct 2009 21:39:41 +0000 (21:39 +0000)]
2009-10-28  Rafael Avila de Espindola  <espindola@google.com>

* doc/invoke.texi: Rename -use-linker-plugin -fuse-linker-plugin.

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

15 years ago2009-10-28 Rafael Avila de Espindola <espindola@google.com>
espindola [Wed, 28 Oct 2009 20:44:47 +0000 (20:44 +0000)]
2009-10-28  Rafael Avila de Espindola  <espindola@google.com>

* trans-common.c (create_common): Set TREE_PUBLIC to false on
fake variables.

2009-10-28  Rafael Avila de Espindola  <espindola@google.com>

* dbxout.c (dbxout_common_check): Accept non public trees.
* dwarf2out.c (fortran_common): Accept non public trees.

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

15 years ago2009-10-28 Rafael Avila de Espindola <espindola@google.com>
espindola [Wed, 28 Oct 2009 18:40:42 +0000 (18:40 +0000)]
2009-10-28  Rafael Avila de Espindola  <espindola@google.com>

* common.opt (fuse-linker-plugin): New option.
* gcc.c (LINK_COMMAND_SPEC, main): Rename use-linker-plugin to
fuse-linker-plugin.
* opts.c (common_handle_option): Ignore OPT_fuse_linker_plugin.

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

15 years ago Core issue 812, 861
jason [Wed, 28 Oct 2009 18:39:36 +0000 (18:39 +0000)]
Core issue 812, 861
* name-lookup.c (set_decl_namespace): Deal properly with inline
namespaces.
(qualified_lookup_using_namespace): Overhaul.
* pt.c (print_candidates): Handle getting an OVERLOAD.

change lookup algorithm

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

15 years ago * decl.c (cp_fname_init): Correct build_string argument.
jason [Wed, 28 Oct 2009 18:39:25 +0000 (18:39 +0000)]
* decl.c (cp_fname_init): Correct build_string argument.

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

15 years ago2009-10-28 Paolo Bonzini <bonzini@gnu.org>
bonzini [Wed, 28 Oct 2009 16:44:08 +0000 (16:44 +0000)]
2009-10-28  Paolo Bonzini  <bonzini@gnu.org>

PR rtl-optimization/39715
* config/arm/arm.md (cstoresi4): Use gen_cstoresi_ltu_thumb1.
(gen_cstoresi_ltu_thumb1): New splitter.

2009-10-28  Paolo Bonzini  <bonzini@gnu.org>

PR rtl-optimization/39715
* gcc.target/arm/thumb-ltu.c: New.

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

15 years ago2009-10-28 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 28 Oct 2009 14:48:34 +0000 (14:48 +0000)]
2009-10-28  Richard Guenther  <rguenther@suse.de>

PR lto/41808
PR lto/41839
* tree-ssa.c (useless_type_conversion_p): Do not treat
conversions to pointers to incomplete types as useless.
* gimple.c (gimple_types_compatible_p): Compare struct tags,
not typedef names.

* gcc.dg/lto/20091027-1_0.c: New testcase.
* gcc.dg/lto/20091027-1_1.c: Likewise.
* g++.dg/lto/20091026-1_0.C: Likewise.
* g++.dg/lto/20091026-1_1.C: Likewise.
* g++.dg/lto/20091026-1_a.h: Likewise.

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

15 years ago PR middle-end/41837
jakub [Wed, 28 Oct 2009 14:45:03 +0000 (14:45 +0000)]
PR middle-end/41837
* ipa-struct-reorg.c (find_field_in_struct_1): Return NULL if
fields don't have DECL_NAME.

* gcc.dg/pr41837.c: New test.

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

15 years ago PR debug/41801
jakub [Wed, 28 Oct 2009 14:43:04 +0000 (14:43 +0000)]
PR debug/41801
* builtins.c (get_builtin_sync_mem): Expand loc in ptr_mode,
call convert_memory_address on addr.

* g++.dg/ext/sync-3.C: New test.

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

15 years ago PR target/41762
jakub [Wed, 28 Oct 2009 14:39:06 +0000 (14:39 +0000)]
PR target/41762
* config/i386/i386.c (ix86_pic_register_p): Don't call
rtx_equal_for_cselib_p for VALUEs discarded as useless.

* gcc.dg/pr41762.c: New test.

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

15 years ago * var-tracking.c (emit_note_insn_var_location): Don't call the second
jakub [Wed, 28 Oct 2009 14:37:24 +0000 (14:37 +0000)]
* var-tracking.c (emit_note_insn_var_location): Don't call the second
vt_expand_loc unnecessarily when location is not a register nor
memory.

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

15 years ago * var-tracking.c (emit_note_insn_var_location): Get the mode of
jakub [Wed, 28 Oct 2009 14:36:28 +0000 (14:36 +0000)]
* var-tracking.c (emit_note_insn_var_location): Get the mode of
a variable part from its REG, MEM or VALUE.

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

15 years ago2009-10-28 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 28 Oct 2009 14:33:17 +0000 (14:33 +0000)]
2009-10-28  Richard Guenther  <rguenther@suse.de>

        * gimple.c (gimple_get_alias_set): Fix comment typo.

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

15 years ago2009-10-28 Bob Duff <duff@adacore.com>
charlet [Wed, 28 Oct 2009 14:22:09 +0000 (14:22 +0000)]
2009-10-28  Bob Duff  <duff@adacore.com>

* s-fileio.adb: Give more information in exception messages.

2009-10-28  Robert Dewar  <dewar@adacore.com>

* gnat_ugn.texi: Document new -gnatyt requirement for space after right
paren if next token starts with digit or letter.
* styleg.adb (Check_Right_Paren): New rule for space after if next
character is a letter or digit.

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

15 years ago2009-10-28 Thomas Quinot <quinot@adacore.com>
charlet [Wed, 28 Oct 2009 14:14:05 +0000 (14:14 +0000)]
2009-10-28  Thomas Quinot  <quinot@adacore.com>

* s-crtl.ads (System.CRTL.strerror): New function.

2009-10-28  Ed Schonberg  <schonberg@adacore.com>

* sem_type.adb: Add guard to recover some type errors.

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

15 years ago2009-10-28 Vincent Celier <celier@adacore.com>
charlet [Wed, 28 Oct 2009 14:09:12 +0000 (14:09 +0000)]
2009-10-28  Vincent Celier  <celier@adacore.com>

* prj-nmsc.adb (Add_To_Or_Remove_From_List): New name of procedure
Add_If_Not_In_List to account to the fact that a directory may be
removed from the list. Only remove directory if Removed is True.

2009-10-28  Gary Dismukes  <dismukes@adacore.com>

* a-textio.ads, a-textio.ads: Put back function EOF_Char in private
part. Put back body of function EOF_Char.
* a-tienau.adb: Remove with of Interfaces.C_Streams and change EOF back
to EOF_Char.

2009-10-28  Emmanuel Briot  <briot@adacore.com>

* prj-tree.adb (Free): Fix memory leak.

2009-10-28  Thomas Quinot  <quinot@adacore.com>

* s-fileio.adb: Minor reformatting

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

15 years ago * gcc-interface/Make-lang.in: Update dependencies.
charlet [Wed, 28 Oct 2009 14:07:16 +0000 (14:07 +0000)]
* gcc-interface/Make-lang.in: Update dependencies.

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

15 years ago2009-10-28 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 28 Oct 2009 13:52:20 +0000 (13:52 +0000)]
2009-10-28  Richard Guenther  <rguenther@suse.de>

* tree.c (free_lang_data_in_type): Do not call get_alias_set.
(free_lang_data): Unconditionally compute alias sets for all
standard integer types.  Bail out if gate bailed out previously.
Do not reset the types_compatible_p langhook.
(gate_free_lang_data): Remove.
(struct pass_ipa_free_lang_data): Enable unconditionally.
* gimple.c (gimple_get_alias_set): Use the same alias-set for
all pointer types.

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

15 years ago2009-10-28 Robert Dewar <dewar@adacore.com>
charlet [Wed, 28 Oct 2009 13:50:10 +0000 (13:50 +0000)]
2009-10-28  Robert Dewar  <dewar@adacore.com>

* exp_attr.adb, exp_ch9.adb, prj-nmsc.adb, tbuild.adb, ali.adb,
types.ads: Minor reformatting

2009-10-28  Tristan Gingold  <gingold@adacore.com>

* init.c: Fix __gnat_error_handler for Darwin10 (Snow Leopard)

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

15 years ago2009-10-28 Thomas Quinot <quinot@adacore.com>
charlet [Wed, 28 Oct 2009 13:41:05 +0000 (13:41 +0000)]
2009-10-28  Thomas Quinot  <quinot@adacore.com>

* exp_ch4.adb (Expand_N_Type_Conversion): Perform Integer promotion for
the operand of the unary minus and ABS operators.

* sem_type.adb (Covers): A concurrent type and its corresponding record
type are compatible.
* exp_attr.adb (Expand_N_Attribute_Reference): Do not rewrite a 'Access
attribute reference for the current instance of a protected type while
analyzing an access discriminant constraint in a component definition.
Such a reference is handled in the corresponding record's init proc,
while initializing the constrained component.
* exp_ch9.adb (Expand_N_Protected_Type_Declaration): When creating the
corresponding record type, propagate components'
Has_Per_Object_Constraint flag.
* exp_ch3.adb (Build_Init_Procedure.Build_Init_Statements):
For a concurrent type, set up concurrent aspects before initializing
components with a per object constrain, because they may be controlled,
and their initialization may call entries or protected subprograms of
the enclosing concurrent object.

2009-10-28  Emmanuel Briot  <briot@adacore.com>

* prj-nmsc.adb (Add_If_Not_In_List): New subprogram, for better sharing
of code.
(Find_Source_Dirs): resolve links if Opt.Follow_Links_For_Dirs when
processing the directories specified explicitly in the project file.

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

15 years ago2009-10-28 Robert Dewar <dewar@adacore.com>
charlet [Wed, 28 Oct 2009 13:31:51 +0000 (13:31 +0000)]
2009-10-28  Robert Dewar  <dewar@adacore.com>

* a-ztexio.adb, a-ztexio.ads, a-witeio.ads, a-witeio.adb,
a-textio.ads, a-textio.adb: Reorganize (moving specs from private part
to body).
(Initialize_Standard_Files): New procedure.
* a-tienau.adb: Minor change to make EOF directly visible
* a-tirsfi.ads, a-wrstfi.adb, a-wrstfi.ads, a-zrstfi.adb,
a-zrstfi.ads, a-tirsfi.adb: New unit, initial version.
* gnat_rm.texi: Add documentation for
Ada.[Wide_[Wide_]]Text_IO.Reset_Standard_Files.
* Makefile.rtl: Add entries for
Ada.[Wide_[Wide_]]Text_IO.Reset_Standard_Files

2009-10-28  Thomas Quinot  <quinot@adacore.com>

* exp_ch9.ads: Minor reformatting
* sem_ch3.adb: Minor reformatting
* sem_aggr.adb: Minor reformatting.
* sem_attr.adb: Minor reformatting
* tbuild.adb, tbuild.ads, par-ch4.adb, exp_ch4.adb (Tbuild.New_Op_Node):
New subprogram.
Minor code reorganization/factoring.

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

15 years ago2009-10-28 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 28 Oct 2009 13:28:32 +0000 (13:28 +0000)]
2009-10-28  Richard Guenther  <rguenther@suse.de>

PR middle-end/41855
* tree-ssa-alias.c (refs_may_alias_p_1): Deal with CONST_DECLs
(ref_maybe_used_by_call_p_1): Fix bcopy handling.
(call_may_clobber_ref_p_1): Likewise.
* tree-ssa-structalias.c (find_func_aliases): Likewise.
* alias.c (nonoverlapping_memrefs_p): Deal with CONST_DECLs.

* gfortran.dg/lto/20091028-1_0.f90: New testcase.
* gfortran.dg/lto/20091028-1_1.c: Likewise.
* gfortran.dg/lto/20091028-2_0.f90: Likewise.
* gfortran.dg/lto/20091028-2_1.c: Likewise.

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

15 years ago2009-10-28 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Wed, 28 Oct 2009 13:07:00 +0000 (13:07 +0000)]
2009-10-28  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/stl_iterator_base_funcs.h: (next): Change
template parameter name consistently with the resolution
of DR 1011 ([Ready] in Santa Cruz).

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

15 years ago2009-10-28 Paolo Bonzini <bonzini@gnu.org>
bonzini [Wed, 28 Oct 2009 12:37:30 +0000 (12:37 +0000)]
2009-10-28  Paolo Bonzini  <bonzini@gnu.org>

PR rtl-optimization/41812

Revert:
2009-06-27  Paolo Bonzini  <bonzini@gnu.org>

* df-problems.c (df_md_scratch): New.
(df_md_alloc, df_md_free): Allocate/free it.
(df_md_local_compute): Only include live registers in init.
(df_md_transfer_function): Prune the in-set computed by
the confluence function, and the gen-set too.

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

15 years ago2009-10-28 Paolo Bonzini <bonzini@gnu.org>
bonzini [Wed, 28 Oct 2009 10:27:15 +0000 (10:27 +0000)]
2009-10-28  Paolo Bonzini  <bonzini@gnu.org>

PR rtl-optimization/39715
* combine.c (simplify_comparison): Use extensions to
widen comparisons.  Try an ANDing first.

testsuite:
2009-10-28  Paolo Bonzini  <bonzini@gnu.org>

PR rtl-optimization/39715
* gcc.target/arm/thumb-bitfld1.c: New.

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

15 years ago2009-10-28 Paolo Bonzini <bonzini@gnu.org>
bonzini [Wed, 28 Oct 2009 10:17:29 +0000 (10:17 +0000)]
2009-10-28  Paolo Bonzini  <bonzini@gnu.org>

PR rtl-optimization/40741
* config/arm/arm.c (thumb1_rtx_costs): IOR or XOR with
a small constant is cheap.
* config/arm/arm.md (andsi3, iorsi3): Try to place the result of
force_reg on the LHS.
(xorsi3): Likewise, and split the XOR if the constant is complex
and not in Thumb mode.

2009-10-28  Paolo Bonzini  <bonzini@gnu.org>

PR rtl-optimization/40741
* gcc.target/arm/thumb-branch1.c: New.

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

15 years ago2009-10-28 Johannes Singler <singler@kit.edu>
singler [Wed, 28 Oct 2009 10:04:03 +0000 (10:04 +0000)]
2009-10-28  Johannes Singler  <singler@kit.edu>

        PR libstdc++/40852
        * include/parallel/multiseq_selection.h
        (multiseq_partition, multiseq_selection):  Avoid intermediate
        values exceeding the integer type range for very large inputs.

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

15 years ago2009-10-28 Paolo Bonzini <bonzini@gnu.org>
bonzini [Wed, 28 Oct 2009 09:54:01 +0000 (09:54 +0000)]
2009-10-28  Paolo Bonzini  <bonzini@gnu.org>

* expmed.c (emit_store_flag): Check costs before
transforming to the opposite representation.

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

15 years ago2009-10-28 Paolo Bonzini <bonzini@gnu.org>
bonzini [Wed, 28 Oct 2009 09:49:58 +0000 (09:49 +0000)]
2009-10-28  Paolo Bonzini  <bonzini@gnu.org>

* config/sh/sh.md (cbranchfp4_media): Remove hack extending
cstore result to DImode.

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

15 years ago * config/sh/sh.md (stuff_delay_slot): Move const_int pattern
kkojima [Wed, 28 Oct 2009 04:22:21 +0000 (04:22 +0000)]
* config/sh/sh.md (stuff_delay_slot): Move const_int pattern
inside the unspec vector.

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

15 years agoDaily bump.
gccadmin [Wed, 28 Oct 2009 00:16:59 +0000 (00:16 +0000)]
Daily bump.

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

15 years ago * cgraphunit.c (cgraph_optimize): Maintain timevar stack properly.
rth [Tue, 27 Oct 2009 23:25:54 +0000 (23:25 +0000)]
    * cgraphunit.c (cgraph_optimize): Maintain timevar stack properly.

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

15 years ago Allow no-capture lambdas to convert to function pointer.
jason [Tue, 27 Oct 2009 21:58:09 +0000 (21:58 +0000)]
Allow no-capture lambdas to convert to function pointer.
* semantics.c (maybe_add_lambda_conv_op): New.
* parser.c (cp_parser_lambda_expression): Call it.
(cp_parser_lambda_declarator_opt): Make op() static if
no captures.
* mangle.c (write_closure_type_name): Adjust.
* semantics.c (finish_this_expr): Adjust.
* decl.c (grok_op_properties): Allow it.
* call.c (build_user_type_conversion_1): Handle static conversion op.
(build_op_call): And op().

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

15 years ago * gcc-interface/decl.c (purpose_member_field): New static function.
ebotcazou [Tue, 27 Oct 2009 20:24:31 +0000 (20:24 +0000)]
* gcc-interface/decl.c (purpose_member_field): New static function.
(annotate_rep): Use it instead of purpose_member.

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

15 years ago PR c++/41819
rth [Tue, 27 Oct 2009 20:09:07 +0000 (20:09 +0000)]
    PR c++/41819
        * tree-eh.c (eh_region_may_contain_throw_map): Rename from
        eh_region_may_contain_throw; update users.
        (eh_region_may_contain_throw): New function.
        (lower_catch): Check flag_exceptions before creating exception region.
        (lower_eh_filter, lower_eh_must_not_throw): Likewise.
        (lower_cleanup): Tidy existing flag_exceptions check to match.

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

15 years ago * raise-gcc (db_region_for): Use _Unwind_GetIPInfo instead of
ebotcazou [Tue, 27 Oct 2009 19:41:13 +0000 (19:41 +0000)]
* raise-gcc (db_region_for): Use _Unwind_GetIPInfo instead of
_Unwind_GetIP if HAVE_GETIPINFO is defined.
(db_action_for): Likewise.

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

15 years ago2009-10-27 Dmitry Gorbachev <d.g.gorbachev@gmail.com>
espindola [Tue, 27 Oct 2009 18:17:13 +0000 (18:17 +0000)]
2009-10-27  Dmitry Gorbachev  <d.g.gorbachev@gmail.com>

PR lto/41652
* configure.ac: Call AC_SYS_LARGEFILE before AC_OUTPUT.
* configure: Regenerate.

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

15 years ago2009-10-27 Kai Tietz <kai.tietz@onevision.com>
ktietz [Tue, 27 Oct 2009 17:14:47 +0000 (17:14 +0000)]
2009-10-27  Kai Tietz <kai.tietz@onevision.com>

        PR/41799
        * config/i386/mingw32.h (CHECK_EXECUTE_STACK_ENABLED): New macro.
        * config/i386/mingw.opt: Add fset-stack-executable.
        * config/i386/i386.c (ix86_trampoline_init): Make call to
        emit_library_call conditional, if CHECK_EXECUTE_STACK_ENABLED is
        defined and its value is not zero.
        * doc/invoke.texi

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

15 years ago * ChangeLog: Fix formatting.
uros [Tue, 27 Oct 2009 17:03:47 +0000 (17:03 +0000)]
* ChangeLog: Fix formatting.
* testsuite/ChangeLog: Ditto.

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

15 years ago2009-10-27 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 27 Oct 2009 15:52:44 +0000 (15:52 +0000)]
2009-10-27  Richard Guenther  <rguenther@suse.de>

* tree-ssa-structalias.c (find_func_aliases): In IPA mode
handle calls to externally visible functions like in regular mode.
(create_variable_info_for): Do not create function infos here.
(have_alias_info): Remove write-only variable.
(solve_constraints): New function split out from common code
in compute_points_to_sets and ipa_pta_execute.
(compute_points_to_sets): Adjust.
(ipa_pta_execute): Likewise.  Handle clones and externally visible
functions like in non-IPA mode.

* gcc.dg/torture/ipa-pta-1.c: Adjust testcase.

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

15 years ago PR c/41842
jakub [Tue, 27 Oct 2009 15:50:50 +0000 (15:50 +0000)]
PR c/41842
* c-typeck.c (convert_arguments): Return -1 if any of the arguments is
error_mark_node.

* gcc.dg/pr41842.c: New test.

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

15 years ago2009-10-27 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 27 Oct 2009 15:16:35 +0000 (15:16 +0000)]
2009-10-27  Richard Guenther  <rguenther@suse.de>

* tree-complex.c (expand_complex_div_wide): Check for
INTEGER_CST, not TREE_CONSTANT on comparison folding result.

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

15 years ago2009-10-27 Robert Dewar <dewar@adacore.com>
charlet [Tue, 27 Oct 2009 14:14:44 +0000 (14:14 +0000)]
2009-10-27  Robert Dewar  <dewar@adacore.com>

* s-fileio.adb, s-fileio.ads, sem_util.adb, sem_warn.adb,
sem_warn.ads: Minor reformatting

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

15 years agoMinor doc updates.
charlet [Tue, 27 Oct 2009 14:07:19 +0000 (14:07 +0000)]
Minor doc updates.

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

15 years ago2009-10-27 Robert Dewar <dewar@adacore.com>
charlet [Tue, 27 Oct 2009 14:02:58 +0000 (14:02 +0000)]
2009-10-27  Robert Dewar  <dewar@adacore.com>

* sem_warn.adb, sem_util.adb, sem_util.ads: Minor reformatting. Add
comments.

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

15 years ago2009-10-27 Robert Dewar <dewar@adacore.com>
charlet [Tue, 27 Oct 2009 13:51:46 +0000 (13:51 +0000)]
2009-10-27  Robert Dewar  <dewar@adacore.com>

* s-os_lib.ads, s-os_lib.adb, prj-err.adb, makeutl.adb: Minor
reformatting.

2009-10-27  Ed Schonberg  <schonberg@adacore.com>

* sem.util.ads, sem_util.adb (Denotes_Same_Object,
Denotes_Same_Prefix): New functions to detect overlap between actuals
that are not by-copy in a call, when one of them is in-out.
* sem_warn.ads, sem_warn.adb (Warn_On_Overlapping_Actuals): New
procedure,  called on a subprogram call to warn when an in-out actual
that is not by-copy overlaps with another actual, thus leadind to
potentially dangerous aliasing in the body of the called subprogram.
Currently the warning is under control of the -gnatX switch.
* sem_res.adb (resolve_call): call Warn_On_Overlapping_Actuals.

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

15 years ago2009-10-27 Thomas Quinot <quinot@adacore.com>
charlet [Tue, 27 Oct 2009 13:22:25 +0000 (13:22 +0000)]
2009-10-27  Thomas Quinot  <quinot@adacore.com>

* sem_ch12.adb (Install_Formal_Packages): Do not omit installation of
visible entities when the formal package doesn't have a box.

* checks.adb: Minor reformatting.

2009-10-27  Vincent Celier  <celier@adacore.com>

* prj-part.adb (Parse): Catch exception Types.Unrecoverable_Error and
set Project to Empty_Node.

2009-10-27  Robert Dewar  <dewar@adacore.com>

* gnatbind.adb: Minor reformatting

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

15 years ago2009-10-27 Vincent Celier <celier@adacore.com>
charlet [Tue, 27 Oct 2009 13:16:48 +0000 (13:16 +0000)]
2009-10-27  Vincent Celier  <celier@adacore.com>

* makeutl.adb (Check_Source_Info_In_ALI): Do not recompile if a subunit
from the runtime is found, except if gnatmake switch -a is used and this
subunit cannot be found.

2009-10-27  Ed Schonberg  <schonberg@adacore.com>

* gnatbind.adb (gnatbind): When the -R option is selected, list subunits
as well, for tools that need the complete closure of the main program.

2009-10-27  Sergey Rybin  <rybin@adacore.com>

* gnat_ugn.texi: Minor updates.

2009-10-27  Emmanuel Briot  <briot@adacore.com>

* prj-tree.adb (Free): Fix memory leak.

2009-10-27  Vasiliy Fofanov  <fofanov@adacore.com>

* adaint.c, s-os_lib.adb (__gnat_create_output_file_new): New function
that ensures the file that is created is new. Use this function to make
sure there is no race condition if several processes are creating temp
files concurrently.

* s-os_lib.ads: Update comment.

2009-10-27  Thomas Quinot  <quinot@adacore.com>

* sem_ch12.adb: Minor reformatting

2009-10-27  Javier Miranda  <miranda@adacore.com>

* exp_ch4.ads (Integer_Promotion_Possible): New subprogram.
* exp_ch4.adb (Integer_Promotion_Possible): New subprogram.
(Expand_N_Type_Conversion): Replace code that checks if the integer
promotion of the operands is possible by a call to the new function
Integer_Promotion_Possible. Minor reformating because an enclosing
block is now not needed.
* checks.adb (Apply_Arithmetic_Overflow_Check): Add missing check to
see if the integer promotion is possible; in such case the runtime
checks are not generated.

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

15 years ago2009-10-27 Arnaud Charlet <charlet@adacore.com>
charlet [Tue, 27 Oct 2009 13:06:06 +0000 (13:06 +0000)]
2009-10-27  Arnaud Charlet  <charlet@adacore.com>

* exp_aggr.adb: Fix comment.

2009-10-27  Emmanuel Briot  <briot@adacore.com>

* prj-err.adb (Error_Msg): take into account continuation lines when
computing whether we have a warning.

2009-10-27  Vasiliy Fofanov  <fofanov@adacore.com>

* make.adb, s-os_lib.adb, s-os_lib.ads (Create_Temp_Output_File): New
routine that is designed to create temp file descriptor specifically
for redirecting an output stream.

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

15 years agoFix PR40648 -- Fix misaligned store vectorizer patch
revitale [Tue, 27 Oct 2009 11:46:07 +0000 (11:46 +0000)]
Fix PR40648 -- Fix misaligned store vectorizer patch

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

15 years ago2009-10-27 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 27 Oct 2009 11:30:59 +0000 (11:30 +0000)]
2009-10-27  Richard Guenther  <rguenther@suse.de>

PR lto/41821
* gimple.c (gimple_types_compatible_p): Handle OFFSET_TYPE.

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

15 years ago PR bootstrap/41451
aldyh [Tue, 27 Oct 2009 11:18:12 +0000 (11:18 +0000)]
PR bootstrap/41451
* fold-const.c (fold_binary_loc): Do not call
protected_set_expr_location.

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

15 years ago PR c++/41020
jakub [Tue, 27 Oct 2009 10:28:48 +0000 (10:28 +0000)]
PR c++/41020
* g++.dg/lookup/extern-c-redecl5.C: Fix up regexp.

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

15 years agoFix nits
ebotcazou [Tue, 27 Oct 2009 10:09:04 +0000 (10:09 +0000)]
Fix nits

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

15 years ago * target.h (have_conditional_execution): Add a new target hook function.
carrot [Tue, 27 Oct 2009 09:06:36 +0000 (09:06 +0000)]
* target.h (have_conditional_execution): Add a new target hook function.
* target-def.h (TARGET_HAVE_CONDITIONAL_EXECUTION): Likewise.
* targhooks.h (default_have_conditional_execution): Likewise.
* targhooks.c (default_have_conditional_execution): Likewise.
* doc/tm.texi (TARGET_HAVE_CONDITIONAL_EXECUTION): Document it.
* config/arm/arm.c (TARGET_HAVE_CONDITIONAL_EXECUTION): Define it.
(arm_have_conditional_execution): New function.
* ifcvt.c (noce_process_if_block, find_if_header,
cond_exec_find_if_block, dead_or_predicable): Change the usage of macro
HAVE_conditional_execution to a target hook call.
* recog.c (peephole2_optimize): Likewise.
* sched-rgn.c (add_branch_dependences): Likewise.
* final.c (asm_insn_count, final_scan_insn): Likewise.
* bb-reorder.c (HAVE_conditional_execution): Remove it.

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

15 years ago2009-10-26 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Tue, 27 Oct 2009 01:18:10 +0000 (01:18 +0000)]
2009-10-26  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/chrono (duration<>::duration(const duration<>&)): Fix
per the straightforward resolution of DR 974.
* testsuite/20_util/duration/cons/dr974.cc: Add.

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

15 years agoDaily bump.
gccadmin [Tue, 27 Oct 2009 00:17:26 +0000 (00:17 +0000)]
Daily bump.

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

15 years ago2009-10-26 Ben Elliston <bje@au.ibm.com>
uweigand [Mon, 26 Oct 2009 22:00:52 +0000 (22:00 +0000)]
2009-10-26  Ben Elliston  <bje@au.ibm.com>
    Michael Meissner  <meissner@linux.vnet.ibm.com>
    Ulrich Weigand  <uweigand@de.ibm.com>

* gcc.target/spu/ea/ea.exp: New file.
* gcc.target/spu/ea/cache1.c: Likewise.
* gcc.target/spu/ea/cast1.c: Likewise.
* gcc.target/spu/ea/cast2.c: Likewise.
* gcc.target/spu/ea/compile1.c: Likewise.
* gcc.target/spu/ea/compile2.c: Likewise.
* gcc.target/spu/ea/cppdefine.c: Likewise.
* gcc.target/spu/ea/errors1.c: Likewise.
* gcc.target/spu/ea/errors2.c: Likewise.
* gcc.target/spu/ea/execute1.c: Likewise.
* gcc.target/spu/ea/execute2.c: Likewise.
* gcc.target/spu/ea/execute3.c: Likewise.
* gcc.target/spu/ea/ops1.c: Likewise.
* gcc.target/spu/ea/ops2.c: Likewise.
* gcc.target/spu/ea/options1.c: Likewise.
* gcc.target/spu/ea/test-sizes.c: Likewise.

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

15 years ago2009-10-26 Ben Elliston <bje@au.ibm.com>
uweigand [Mon, 26 Oct 2009 21:59:17 +0000 (21:59 +0000)]
2009-10-26  Ben Elliston  <bje@au.ibm.com>
    Michael Meissner  <meissner@linux.vnet.ibm.com>
    Ulrich Weigand  <uweigand@de.ibm.com>

* config.gcc (spu-*-elf*): Add spu_cache.h to extra_headers.
* config/spu/spu_cache.h: New file.

* config/spu/cachemgr.c: New file.
* config/spu/cache.S: New file.

* config/spu/spu.h (ASM_OUTPUT_SYMBOL_REF): Define.
(ADDR_SPACE_EA): Define.
(TARGET_ADDR_SPACE_KEYWORDS): Define.
* config/spu/spu.c (EAmode): New macro.
(TARGET_ADDR_SPACE_POINTER_MODE): Define.
(TARGET_ADDR_SPACE_ADDRESS_MODE): Likewise.
(TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Likewise.
(TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Likewise.
(TARGET_ADDR_SPACE_SUBSET_P): Likewise.
(TARGET_ADDR_SPACE_CONVERT): Likewise.
(TARGET_ASM_SELECT_SECTION): Likewise.
(TARGET_ASM_UNIQUE_SECTION): Likewise.
(TARGET_ASM_UNALIGNED_SI_OP): Likewise.
(TARGET_ASM_ALIGNED_DI_OP): Likewise.
(ea_symbol_ref): New function.
(spu_legitimate_constant_p): Handle __ea qualified addresses.
(spu_addr_space_legitimate_address_p): New function.
(spu_addr_space_legitimize_address): Likewise.
(cache_fetch): New global.
(cache_fetch_dirty): Likewise.
(ea_alias_set): Likewise.
(ea_load_store): New function.
(ea_load_store_inline): Likewise.
(expand_ea_mem): Likewise.
(spu_expand_mov): Handle __ea qualified memory references.
(spu_addr_space_pointer_mode): New function.
(spu_addr_space_address_mode): Likewise.
(spu_addr_space_subset_p): Likewise.
(spu_addr_space_convert): Likewise.
(spu_section_type_flags): Handle "._ea" section.
(spu_select_section): New function.
(spu_unique_section): Likewise.
* config/spu/spu-c.c (spu_cpu_cpp_builtins): Support __EA32__
and __EA64__ predefined macros.
* config/spu/spu-elf.h (LIB_SPEC): Handle -mcache-size= and
-matomic-updates switches.

* config/spu/t-spu-elf (MULTILIB_OPTIONS): Define.
(EXTRA_MULTILIB_PARTS): Add libgcc_cachemgr.a,
libgcc_cachemgr_nonatomic.a, libgcc_cache8k.a, libgcc_cache16k.a,
libgcc_cache32k.a, libgcc_cache64k.a, libgcc_cache128k.a.
($(T)cachemgr.o, $(T)cachemgr_nonatomic.o): New target.
($(T)cache8k.o, $(T)cache16k.o, $(T)cache32k.o, $(T)cache64k.o,
$(T)cache128k.o): Likewise.
($(T)libgcc_%.a): Likewise.

* config/spu/spu.h (TARGET_DEFAULT): Add MASK_ADDRESS_SPACE_CONVERSION.
* config/spu/spu.opt (-mea32/-mea64): Add switches.
(-maddress-space-conversion): Likewise.
(-mcache-size=): Likewise.
(-matomic-updates): Likewise.
* doc/invoke.texi (-mea32/-mea64): Document.
(-maddress-space-conversion): Likewise.
(-mcache-size=): Likewise.
(-matomic-updates): Likewise.

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

15 years ago2009-10-26 Ben Elliston <bje@au.ibm.com>
uweigand [Mon, 26 Oct 2009 21:58:06 +0000 (21:58 +0000)]
2009-10-26  Ben Elliston  <bje@au.ibm.com>
    Michael Meissner  <meissner@linux.vnet.ibm.com>
    Ulrich Weigand  <uweigand@de.ibm.com>

* doc/tm.texi (TARGET_ADDR_SPACE_KEYWORDS): Document.

* c-common.c (c_common_reswords): If TARGET_ADDR_SPACE_KEYWORDS is
defined, add the named address space keywords.
(c_addr_space_name): New function.
(complete_array_type): Preserve named address space.
(handle_mode_attribute): Use targetm.addr_space.valid_pointer_mode
instead of targetm.valid_pointer_mode.

* c-common.h (enum rid): Add RID_ADDR_SPACE_0 .. RID_ADDR_SPACE_15,
RID_FIRST_ADDR_SPACE and RID_LAST_ADDR_SPACE.
(ADDR_SPACE_KEYWORD): New macro.
(c_addr_space_name): Add prototype.

* c-tree.h (struct c_declspecs): Add address_space member.
(declspecs_add_addrspace): Add prototype.

* c-pretty-print.c (pp_c_type_qualifier_list): Handle address spaces.

* c-parser.c (c_parse_init): Add assertion.
(typedef enum c_id_kind): Add C_ID_ADDRSPACE.
(c_lex_one_token): Handle address space keywords.
(c_token_starts_typename): Likewise.
(c_token_starts_declspecs): Likewise.
(c_parser_declspecs): Likewise.
(c_parser_postfix_expression_after_paren_type): Diagnose compound
literal within function qualified with named address space.

* c-decl.c (diagnose_mismatched_decls): Diagnose conflicting named
address space qualifiers.
(shadow_tag_warned): Warn about useless address space qualifiers.
(quals_from_declspecs): Handle address space qualifiers.
(grokdeclarator): Likewise.
(build_null_declspecs): Likewise.
(declspecs_add_addrspace): New function.

* c-typeck.c (addr_space_superset): New function.
(qualify_type): Handle named address spaces.
(composite_type): Likewise.
(common_pointer_type): Likewise.
(comp_target_types): Likewise.
(build_conditional_expr): Likewise.
(handle_warn_cast_qual): Likewise.
(build_c_cast): Likewise.
(convert_for_assignment): Likewise.
(build_binary_op): Likewise.
(pointer_diff): Handle named address spaces.  Use intermediate
integer type of sufficient size if required.

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

15 years ago2009-10-26 Ben Elliston <bje@au.ibm.com>
uweigand [Mon, 26 Oct 2009 21:57:10 +0000 (21:57 +0000)]
2009-10-26  Ben Elliston  <bje@au.ibm.com>
    Michael Meissner  <meissner@linux.vnet.ibm.com>
    Ulrich Weigand  <uweigand@de.ibm.com>

* doc/tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document.
(TARGET_ADDR_SPACE_ADDRESS_MODE): Likewise.
(TARGET_ADDR_SPACE_VALID_POINTER_MODE): Likewise.

* target.h (struct target_def): Add pointer_mode, address_mode,
and valid_pointer_mode to addr_space substructure.
* target-def.h (TARGET_ADDR_SPACE_POINTER_MODE): Define.
(TARGET_ADDR_SPACE_ADDRESS_MODE): Likewise.
(TARGET_ADDR_SPACE_VALID_POINTER_MODE): Likewise.
(TARGET_ADDR_SPACE_HOOKS): Add them.
* targhooks.c (target_default_pointer_address_modes_p): New function.
* target.h (target_default_pointer_address_modes_p): Add prototype.
* targhooks.c (default_addr_space_pointer_mode): New function.
(default_addr_space_address_mode): Likewise.
(default_addr_space_valid_pointer_mode): Likewise.
* targhooks.h (default_addr_space_pointer_mode): Add prototype.
(default_addr_space_address_mode): Likewise.
(default_addr_space_valid_pointer_mode): Likewise.
* output.h (default_valid_pointer_mode): Move to ...
* targhooks.h (default_valid_pointer_mode): ... here.
* varasm.c (default_valid_pointer_mode): Move to ...
* targhooks.c (default_valid_pointer_mode): ... here.

* varasm.c (output_constant): Use targetm.addr_space.valid_pointer_mode
instead of targetm.valid_pointer_mode.

* fold-const.c (fit_double_type): Use int_or_pointer_precision.
* tree.c (integer_pow2p): Likewise.
(tree_log2): Likewise.
(tree_floor_log2): Likewise.
(signed_or_unsigned_type_for): Support pointer type of different size.
(int_or_pointer_precision): New function.
* tree.h (int_or_pointer_precision): Add prototype.
* stor-layout.c (layout_type): Set TYPE_PRECISION for offset types.
* varasm.c (initializer_constant_valid_p): Use TYPE_PRECISION of
incoming pointer type instead of POINTER_SIZE.

* tree.c (build_pointer_type): Use appropriate pointer mode
instead of ptr_mode.
(build_reference_type): Likewise.
* expr.c (store_expr): Likewise.
(expand_expr_addr_expr): Likewise.
* tree-vect-data-refs.c (vect_create_data_ref_ptr): Likewise.
* cfgexpand.c (expand_debug_expr): Likewise.

* auto-inc-dec.c: Include "target.h".
(try_merge): Use appropriate address mode instead of Pmode.
(find_inc): Likewise.
* combine.c (find_split_point): Likewise.
* cselib.c (cselib_record_sets): Likewise.
* dse.c (replace_inc_dec): Likewise.
(canon_address): Likewise.
* var-tracking.c (replace_expr_with_values): Likewise.
(count_uses): Likewise.
(add_uses): Likewise.
(add_stores): Likewise.
* emit-rtl.c: Include "target.h".
(adjust_address_1): Use appropriate address mode instead of Pmode.
(offset_address): Likewise.
* explow.c (break_out_memory_refs): Likewise.
(memory_address_addr_space): Likewise.
(promote_mode): Likewise.
* expr.c (move_by_pieces): Likewise.
(emit_block_move_via_loop): Likewise.
(store_by_pieces): Likewise.
(store_by_pieces_1): Likewise.
(expand_assignment): Likewise.
(store_constructor): Likewise.
(expand_expr_addr_expr): Likewise.
(expand_expr_real_1): Likewise.
* cfgexpand.c (expand_debug_expr): Likewise.
* ifcvt.c (noce_try_cmove_arith): Likewise.
* regcprop.c (kill_autoinc_value): Likewise.
* regmove.c (try_auto_increment): Likewise.
* reload.c (find_reloads): Likewise.
(find_reloads_address): Likewise.
(find_reloads_address_1): Likewise.
* sched-deps.c: Include "target.h".
(sched_analyze_1): Use appropriate address mode instead of Pmode.
(sched_analyze_2): Likewise.
* sel-sched-dump.c: Include "target.h".
(debug_mem_addr_value): Use appropriate address mode instead of Pmode.
* stor-layout.c (layout_type): Likewise.
* tree-ssa-loop-ivopts.c (produce_memory_decl_rtl): Likewise.
(multiplier_allowed_in_address_p): Likewise.
(get_address_cost): Likewise.
* varasm.c (make_decl_rtl): Likewise.

* expr.c (expand_assignment): Always convert offsets to appropriate
address mode.
(store_expr): Likewise.
(store_constructor): Likewise.
(expand_expr_real_1): Likewise.

* reload.h (form_sum): Add MODE argument.
* reload.c (form_sum): Add MODE argument, use it instead of Pmode.
Update recursive calls.
(subst_indexed_address): Update calls to form_sum.

* tree-flow.h (addr_for_mem_ref): Add ADDRSPACE argument.
* tree-ssa-address.c: Include "target.h".
(templates): Replace by ...
(mem_addr_template_list): ... this new vector.
(TEMPL_IDX): Handle address space numbers.
(gen_addr_rtx): Add address mode argument, use it instead of Pmode.
(addr_for_mem_ref): Add ADDRSPACE argument.  Use per-address-space
instead of global cache.  Update call to gen_addr_rtx.
(valid_mem_ref_p): Update call to addr_for_mem_ref.
* expr.c (expand_expr_real_1): Update call to addr_for_mem_ref.

* rtl.h (convert_memory_address_addr_space): Add prototype.
(convert_memory_address): Define as macro.
* explow.c (convert_memory_address): Rename to ...
(convert_memory_address_addr_space): ... this.  Add ADDRSPACE argument.
Use appropriate pointer and address modes instead of ptr_mode / Pmode.
Update recursive calls.
(memory_address_addr_space): Call convert_memory_address_addr_space.
* expmed.c (make_tree): Likewise.
* expr.c (expand_assignment): Likewise.
(expand_expr_addr_expr_1): Likewise.  Also, add ADDRSPACE argument.
(expand_expr_addr_expr): Likewise.  Also, update call.

* alias.c (find_base_value): Guard pointer size optimizations.
(find_base_term): Likewise.
* rtlanal.c (nonzero_bits1): Likewise.
(num_sign_bit_copies1): Likewise.
* simplify-rtx.c (simplify_unary_operation_1): Likewise.

* Makefile.in (tree-ssa-address.o): Add $(TARGET_H) dependency.
(emit-rtl.o): Likewise.
(auto-inc-dec.o): Likewise.
(sched-deps.o): Likewise.

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

15 years ago2009-10-26 Ben Elliston <bje@au.ibm.com>
uweigand [Mon, 26 Oct 2009 21:55:59 +0000 (21:55 +0000)]
2009-10-26  Ben Elliston  <bje@au.ibm.com>
    Michael Meissner  <meissner@linux.vnet.ibm.com>
    Ulrich Weigand  <uweigand@de.ibm.com>

* doc/extend.texi (Named Address Spaces): New section.
* coretypes.h (addr_space_t): New type.
(ADDR_SPACE_GENERIC): New define.
(ADDR_SPACE_GENERIC_P): New macro.

* doc/tm.texi (Named Address Spaces): New section.
(TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Document.
(TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Document.
(TARGET_ADDR_SPACE_SUBSET_P): Document.
(TARGET_ADDR_SPACE_CONVERT): Document.
* target.h (struct gcc_target): Add addr_space substructure.
* target-def.h (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
(TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Likewise.
(TARGET_ADDR_SPACE_SUBSET_P): Likewise.
(TARGET_ADDR_SPACE_CONVERT): Likewise.
(TARGET_ADDR_SPACE_HOOKS): Likewise.
(TARGET_INITIALIZER): Initialize addr_space hooks.
* targhooks.c (default_addr_space_legitimate_address_p): New function.
(default_addr_space_legitimize_address): Likewise.
(default_addr_space_subset_p): Likewise.
(default_addr_space_convert): Likewise.
* targhooks.h (default_addr_space_legitimate_address_p): Add prototype.
(default_addr_space_legitimize_address): Likewise.
(default_addr_space_subset_p): Likewise.
(default_addr_space_convert): Likewise.

* doc/rtl.texi (MEM_ADDR_SPACE): Document.
* rtl.h (mem_attrs): Add ADDRSPACE memory attribute.
(MEM_ADDR_SPACE): New macro.
* emit-rtl.c (get_mem_attrs): Add ADDRSPACE argument and set
address space memory attribute.
(mem_attrs_htab_hash): Handle address space memory attribute.
(mem_attrs_htab_eq): Likewise.
(set_mem_attributes_minus_bitpos): Likewise.
(set_mem_alias_set): Likewise.
(set_mem_align): Likewise.
(set_mem_expr): Likewise.
(set_mem_offset): Likewise.
(set_mem_size): Likewise.
(adjust_address_1): Likewise.
(offset_address): Likewise.
(widen_memoy_address): Likewise.
(get_spill_slot_decl): Likewise.
(set_mem_attrs_for_spill): Likewise.
(set_mem_addr_space): New function.
* emit-rtl.h (set_mem_addr_space): Add prototype.
* print-rtl.c (print_rtx): Print address space memory attribute.
* expr.c (expand_assignment): Set address space memory attribute
of generated MEM RTXes as appropriate.
(expand_expr_real_1): Likewise.
* cfgexpand.c (expand_debug_expr): Likewise.
* tree-ssa-loop-ivopts.c (produce_memory_decl_rtl): Likewise.

* tree.h (struct tree_base): Add address_space bitfield.  Reduce
size of "spare" bitfield.
(TYPE_ADDR_SPACE): New macro.
(ENCODE_QUAL_ADDR_SPACE): Likewise.
(DECODE_QUAL_ADDR_SPACE): Likewise.
(CLEAR_QUAL_ADDR_SPACE): Likewise.
(KEEP_QUAL_ADDR_SPACE): Likewise.
(TYPE_QUALS): Encode type address space.
(TYPE_QUALS_NO_ADDR_SPACE): New macro.
* tree.c (set_type_quals): Set type address space.
(build_array_type): Inherit array address space from element type.
* print-tree.c (print_node_brief): Print type address space.
(print_node): Likewise.
* tree-pretty-print.c (dump_generic_node): Likewise.

* explow.c (memory_address): Rename to ...
(memory_address_addr_space): ... this.  Add ADDRSPACE argument.
Use address-space aware variants of memory address routines.
* recog.c (memory_address_p): Rename to ...
(memory_address_addr_space_p): ... this.  Add ADDSPACE argument.
Use address-space aware variants of memory address routines.
(offsettable_address_p): Rename to ...
(offsettable_address_addr_space_p): ... this.  Add ADDRSPACE argument.
Use address-space aware variants of memory address routines.
* reload.c (strict_memory_address_p): Rename to ...
(strict_memory_address_addr_space_p): ... this.  Add ADDSPACE argument.
Use address-space aware variants of memory address routines.
(maybe_memory_address_p): Rename to ...
(maybe_memory_address_addr_space_p): ... this.  Add ADDSPACE argument.
Use address-space aware variants of memory address routines.
* expr.h (memory_address_addr_space): Add prototype.
(memory_address): Define as macro.
* recog.h (memory_address_addr_space_p): Add prototype.
(memory_address_p): Define as macro.
(offsettable_address_addr_space_p): Add prototype.
(offsettable_address_p): Define as macro.
(strict_memory_address_addr_space_p): Add prototype.
(strict_memory_address_p): Define as macro.

* combine.c (find_split_point): Use address-space aware variants
of memory address routines.
* emit-rtl.c (operand_subword): Likewise.
(change_address_1): Likewise.
(adjust_address_1): Likewise.
(offset_address): Likewise.
* expr.c (emit_move_insn): Likewise.
(expand_assignment): Likewise.
(expand_expr_real_1): Likewise.
* recog.c (verify_changes): Likewise.
(general_operand): Likewise.
(offsettable_memref_p): Likewise.
(offsettable_nonstrict_memref_p): Likewise.
(constrain_operands): Likewise.
* reload.c (get_secondary_mem): Likewise.
(find_reloads_toplev): Likewise.
(find_reloads_address): Likewise.
(find_reloads_subreg_address): Likewise.
* reload1.c (reload): Likewise.
* rtlhooks.c (gen_lowpart_if_possible): Likewise.
* rtl.h (address_cost): Add ADDRSPACE argument.
* rtlanal.c (address_cost): Add ADDRSPACE argument.  Use address-space
aware variant of memory address routines.
* loop-invariant.c (create_new_invariant): Update address_cost call.
* tree-ssa-loop-ivopts.c (computation_cost): Likewise.
* fwprop.c (should_replace_address): Add ADDRSPACE argument.
Use address-space aware variant of memory address routines.
(propagate_rtx_1): Update call to should_replace_address.
* tree-flow.h (multiplier_allowed_in_address_p): Add ADDRSPACE
argument.
* tree-ssa-loop-ivopts.c (multiplier_allowed_in_address_p): Add
ADDRSPACE argument.  Use per-address-space instead of global cache.
Use address-space aware variant of memory address routines.
(get_address_cost): Likewise.
(get_computation_cost_at): Update calls.
* tree-ssa-address.c (valid_mem_ref_p): Add ADDRSPACE argument.
Use address-space aware variant of memory address routines.
(create_mem_ref_raw): Update call to valid_mem_ref_p.
(most_expensive_mult_to_index): Update call to
multiplier_allowed_in_address_p.

* dwarf2out.c (modified_type_die): Output DW_AT_address_class
attribute to indicate named address spaces.

* varasm.c (get_variable_section): DECLs in named address spaces
cannot be "common".

* reload.c (find_reloads_address): Do not use LEGITIMIZE_RELOAD_ADDRESS
for addresses in a non-generic address space.

* expr.c (emit_block_move_hints): Do not use libcalls for
memory in non-generic address spaces.
(clear_storage_hints): Likewise.
(expand_assignment): Likewise.

* fold-const.c (operand_equal_p): Expressions refering to different
address spaces are not equivalent.

* rtl.c (rtx_equal_p_cb): MEMs refering to different address
spaces are not equivalent.
(rtx_equal_p): Likewise.
* cse.c (exp_equiv_p): Likewise.
* jump.c (rtx_renumbered_equal_p): Likewise.
* reload.c (operands_match_p): Likewise.

* alias.c (nonoverlapping_memrefs_p): MEMs refering to different
address spaces may alias.
(true_dependence): Likewise.
(canon_true_dependence): Likewise.
(write_dependence_p): Likewise.

* dse.c (canon_address): Handle named address spaces.
* ifcvt.c (noce_try_cmove_arith): Likewise.

* tree.def (ADDR_SPACE_CONVERT_EXPR): New tree code.
* expr.c (expand_expr_real_2): Expand ADDR_SPACE_CONVERT_EXPR.
* convert.c (convert_to_pointer): Generate ADDR_SPACE_CONVERT_EXPR
to handle conversions between different address spaces.
* fold-const.c (fold_convert_loc): Likewise.
(fold_unary_loc): Handle ADDR_SPACE_CONVERT_EXPR.
* tree-pretty-print.c (dump_generic_node): Likewise.
* gimple-pretty-print.c (dump_unary_rhs): Likewise.
* tree-cfg.c (verify_gimple_assign_unary): Likewise.
* tree-inline.c (estimate_operator_cost): Likewise.
* tree-ssa.c (useless_type_conversion_p): Conversions between pointers
to different address spaces are not useless.

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