OSDN Git Service

pf3gnuchains/gcc-fork.git
10 years agoAdd closure API example to documentation
green [Fri, 6 Aug 2010 04:45:46 +0000 (04:45 +0000)]
Add closure API example to documentation

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

10 years ago * class.c (build_utf8_ref): Fix code formatting from previous commit.
daney [Fri, 6 Aug 2010 04:11:29 +0000 (04:11 +0000)]
* class.c (build_utf8_ref): Fix code formatting from previous commit.

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

10 years ago * class.c (build_utf8_ref): Make decl DECL_USER_ALIGN.
daney [Fri, 6 Aug 2010 04:02:42 +0000 (04:02 +0000)]
* class.c (build_utf8_ref): Make decl DECL_USER_ALIGN.

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

10 years ago * doc/invoke.texi (RS/6000 and PowerPC Options): Rewrite -mrelocatable
amodra [Fri, 6 Aug 2010 02:46:44 +0000 (02:46 +0000)]
* doc/invoke.texi (RS/6000 and PowerPC Options): Rewrite -mrelocatable
and -mrelocatable-lib description.

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

10 years agoDaily bump.
gccadmin [Fri, 6 Aug 2010 00:17:23 +0000 (00:17 +0000)]
Daily bump.

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

10 years ago From Martin Thuresson <martint@google.com>
bernds [Thu, 5 Aug 2010 22:58:35 +0000 (22:58 +0000)]
From Martin Thuresson  <martint@google.com>
* postreload.c (reload_cse_simplify_operands): Use
SET_REGNO_RAW instead of SET_REGNO.
* caller-save.c (reg_save_code): Use SET_REGNO_RAW instead of
SET_REGNO.
* ira.c (setup_prohibited_mode_move_regs): Use SET_REGNO_RAW
instead of SET_REGNO.
* rtl.h (SET_REGNO_RAW): New macro.

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

10 years ago * rtlanal.c (nonzero_bits1): Use unsigned HOST_WIDE_INT in all mask
ebotcazou [Thu, 5 Aug 2010 22:18:33 +0000 (22:18 +0000)]
* rtlanal.c (nonzero_bits1): Use unsigned HOST_WIDE_INT in all mask
computations.  Fix formatting issues.
(num_sign_bit_copies1): Likewise.
(canonicalize_condition): Likewise.

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

10 years agoReplace exact_log2(x & -x) in favor of more direct computation.
rth [Thu, 5 Aug 2010 19:41:31 +0000 (19:41 +0000)]
Replace exact_log2(x & -x) in favor of more direct computation.

* toplev.h (ctz_hwi, clz_hwi, ffs_hwi): New.
(floor_log2): Use clz_hwi.
(exact_log2): Use ctz_hwi.
* toplev.c (ctz_hwi, clz_hwi, ffs_hwi): New.
* builtins.c (fold_builtin_bitop): Use them.
* simplify-rtx.c (simplify_const_unary_operation): Likewise.
* combine.c (get_pos_from_mask): Use ctz_hwi.
* double-int.c (double_int_ctz): Likewise.
* explow.c (force_reg): Likewise.
* tree.h (SET_DECL_OFFSET_ALIGN): Use ffs_hwi.

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

10 years agoPR target/45189
rth [Thu, 5 Aug 2010 18:04:58 +0000 (18:04 +0000)]
PR target/45189
Fix unwind for i386 stack re-alignment.

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

10 years ago2010-08-05 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 5 Aug 2010 16:37:38 +0000 (16:37 +0000)]
2010-08-05  Richard Guenther  <rguenther@suse.de>

* expr.c (store_expr): Use emit_block_move only if both
source and target are MEMs.  Use store_bit_field if only
the target is a MEM.

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

10 years agoPR 45189
rth [Thu, 5 Aug 2010 15:39:54 +0000 (15:39 +0000)]
PR 45189
Unbreak ia64 build after last dwarf2out.c change.

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

10 years ago * gcov.c (flag_display_progress): New static variable.
ebotcazou [Thu, 5 Aug 2010 15:21:13 +0000 (15:21 +0000)]
* gcov.c (flag_display_progress): New static variable.
(main): Display progress info on standard output if requested.
(options): Add -d/--display-progress.
(print_usage): Print them.
(process_args): Handle them.
* doc/gcov.texi: Document them.

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

10 years ago* lto-plugin.c: Include <hashtab.h>
ak [Thu, 5 Aug 2010 14:25:45 +0000 (14:25 +0000)]
* lto-plugin.c: Include <hashtab.h>
        (sym_aux): Add next_conflict field to save conflict chains.
        (plugin_file_info): Add conflicts symtab.
        (parse_table_entry): Initialize aux->next_conflict.
        (process_symtab): Increment found.
        (dump_symtab): Add.
        (finish_conflict_resolution): Add.
        (free_symtab): Add.
        (write_resolution): Remove symbols loop and move into
        dump_symtab. Call dump_symtab for main symbol and conflicts table.
        Call free_symtab to free conflicts table.
        (SWAP): Add.
        (eq_sym): Add.
        (hash_sym): Add.
        (symbol_strength): Add.
        (resolve_conflicts): Add.
        (claim_file_handler): Add n variable. Check return value of
        process_symtab. Call resolve_conflicts.

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

10 years ago2010-08-05 Martin Jambor <mjambor@suse.cz>
jamborm [Thu, 5 Aug 2010 13:36:18 +0000 (13:36 +0000)]
2010-08-05  Martin Jambor  <mjambor@suse.cz>

PR testsuite/42855
* testsuite/gcc.dg/tree-ssa/pr42585.c: Skip dump scan on powerpc
and arm.

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

10 years ago2010-08-05 Martin Jambor <mjambor@suse.cz>
jamborm [Thu, 5 Aug 2010 13:30:14 +0000 (13:30 +0000)]
2010-08-05  Martin Jambor  <mjambor@suse.cz>

* ipa-cp.c (ipcp_discover_new_direct_edges): New function.
(ipcp_insert_stage): Redirect only edges not flagged with
indirect_inlining_edge.  Call ipcp_discover_new_direct_edges for all
discovered constants.

* testsuite/gcc.dg/ipa/ipcp-ii-1.c: New test.
* testsuite/g++.dg/ipa/ipcp-ivi-1.C: Likewise.

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

10 years ago2010-08-05 Martin Jambor <mjambor@suse.cz>
jamborm [Thu, 5 Aug 2010 13:23:07 +0000 (13:23 +0000)]
2010-08-05  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.h (enum ipa_lattice_type): Changed comments.
(struct ipa_param_descriptor): New fields types and
cannot_devirtualize.
(ipa_param_cannot_devirtualize_p): New function.
(ipa_param_types_vec_empty): Likewise.
(ipa_make_edge_direct_to_target): Declare.
* ipa-cp.c: Fixed first stage driver name in initial comment,
described devirtualization there too.
(ipcp_analyze_node): Call ipa_analyze_params_uses.
(ipcp_print_all_lattices): Print devirtualization info.
(ipa_set_param_cannot_devirtualize): New function.
(ipcp_initialize_node_lattices): Set cannot_devirtualize when setting
lattice to BOTTOM.
(ipcp_init_stage): Merged into...
(ipcp_generate_summary): ...its caller.
(ipcp_change_tops_to_bottom): Also process type lists.
(ipcp_add_param_type): New function.
(ipcp_copy_types): Likewise.
(ipcp_propagate_types): Likewise.
(ipcp_propagate_stage): Also propagate types.
(ipcp_need_redirect_p): Variable jump_func moved to its scope block.
Also return true if propagated types require it.
(ipcp_update_callgraph): Dump redirection info.
(ipcp_process_devirtualization_opportunities): New function.
(ipcp_const_param_count): Include known type information.
(ipcp_insert_stage): Call ipcp_process_devirtualization_opportunities
on new node.  Fixed formatting.
* ipa-prop.c (make_edge_direct_to_target): Renamed to
ipa_make_edge_direct_to_target and changed all callers.  Made
externally visible.
(ipa_node_duplication_hook): Duplicate types vector.
* cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Also try to
redirect outgoing calls for which we can't get a decl from the
statement.  Check that we can get a decl from the call statement.
* ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
ipa_analyze_params_uses only when ipa-cp is disabled.
* tree-inline.c (get_indirect_callee_fndecl): Removed.
(expand_call_inline): Do not call get_indirect_callee_fndecl.
* params.def (PARAM_DEVIRT_TYPE_LIST_SIZE): New parameter.
* Makefile.in (ipa-cp.o): Add gimple.h to dependencies.

* testsuite/g++.dg/ipa/devirt-1.C: New test.
* testsuite/g++.dg/ipa/devirt-2.C: Likewise.
* testsuite/g++.dg/ipa/devirt-3.C: Likewise.
* testsuite/g++.dg/ipa/devirt-4.C: Likewise.
* testsuite/g++.dg/ipa/devirt-5.C: Likewise.
* testsuite/gcc.dg/ipa/iinline-3.c: Likewise.

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

10 years ago * expmed.c (expand_mult_const) <case alg_shift>: Expand shift into
uros [Thu, 5 Aug 2010 12:03:36 +0000 (12:03 +0000)]
* expmed.c (expand_mult_const) <case alg_shift>: Expand shift into
temporary. Emit move from temporary to accum, so REG_EQUAL note will
be attached to this insn in correct mode.

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

10 years ago2010-08-05 Robert Dewar <dewar@adacore.com>
charlet [Thu, 5 Aug 2010 09:26:47 +0000 (09:26 +0000)]
2010-08-05  Robert Dewar  <dewar@adacore.com>

* gnat1drv.adb: Minor reformatting.

2010-08-05  Ed Schonberg  <schonberg@adacore.com>

* sem.adb (Do_Unit_And_Dependents): If some parent unit is an
instantiation, process its body before the spec of the main unit,
because it may contain subprograms invoked in the spec of main.
* einfo.ads: Add documention of delayed freeze.

2010-08-05  Vincent Celier  <celier@adacore.com>

* prj-nmsc.adb (Process_Linker): Take into account new values for
attribute Response_File_Format.
* prj.ads (Response_File_Format): New enumeration values GCC_GNU,
GCC_Object_List and GCC_Option_List.

2010-08-05  Ed Schonberg  <schonberg@adacore.com>

* exp_ch4.adb (Expand_N_Selected_Component): Do not constant-fold a
selected component that denotes a discriminant if it is the
discriminant of a component of an unconstrained record type.

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

10 years ago2010-08-05 Ed Schonberg <schonberg@adacore.com>
charlet [Thu, 5 Aug 2010 09:21:58 +0000 (09:21 +0000)]
2010-08-05  Ed Schonberg  <schonberg@adacore.com>

* exp_util.adb (Insert_Actions): If the action appears within a
conditional expression that is already analyzed, insert action further
out.

2010-08-05  Robert Dewar  <dewar@adacore.com>

* exp_ch4.adb: Minor reformatting.

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

10 years ago2010-08-05 Thomas Quinot <quinot@adacore.com>
charlet [Thu, 5 Aug 2010 09:18:41 +0000 (09:18 +0000)]
2010-08-05  Thomas Quinot  <quinot@adacore.com>

* exp_ch4.adb: Minor reformatting
* gnat1drv.adb: Minor reformatting.
Minor code reorganization (use Nkind_In).

2010-08-05  Ed Schonberg  <schonberg@adacore.com>

* exp_util.ads, exp_util.adb (Needs_Constant_Address): New predicate to
determine whether the expression in an address clause for an
initialized object must be constant. Code moved from freeze.adb.
(Remove_Side_Effects): When the temporary is initialized with a
reference, indicate that the temporary is a constant as done in all
other cases.
* freeze.adb (Check_Address_Clause): use Needs_Constant_Address.
* exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case 'Address):
If object does not need a constant address, remove side effects from
address expression, so it is elaborated at the point of the address
clause and not at the freeze point of the object, so that elaboration
order is respected.

2010-08-05  Vincent Celier  <celier@adacore.com>

* prj.adb (Is_Compilable): Return False for header files of non Ada
languages.

2010-08-05  Emmanuel Briot  <briot@adacore.com>

* prj-nmsc.adb: The Missing_Source_Files flag also considers a missing
exec directory as a warning rather than an error.

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

10 years ago2010-08-05 Thomas Quinot <quinot@adacore.com>
charlet [Thu, 5 Aug 2010 09:14:19 +0000 (09:14 +0000)]
2010-08-05  Thomas Quinot  <quinot@adacore.com>

* sem_ch6.adb, gnat1drv.adb, exp_ch6.adb, sem_eval.adb: Minor
reformatting.

2010-08-05  Steve Baird  <baird@adacore.com>

* exp_util.adb (Remove_Side_Effects): An access value which designates
a volatile object of a nonvolatile type is prohibited.
Do not call Make_Reference to construct a reference to such an object.

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

10 years ago2010-08-05 Robert Dewar <dewar@adacore.com>
charlet [Thu, 5 Aug 2010 09:08:50 +0000 (09:08 +0000)]
2010-08-05  Robert Dewar  <dewar@adacore.com>

* a-suezse.adb, a-suezse.ads, a-suezen.adb, a-suezen.ads: Removed.
* a-suewse.adb, a-suewse.ads, a-suesen.adb, a-suesen.ads,
a-suewen.adb, a-suewen.ads: New files.
* Makefile.rtl, impunit.adb: Update implementation of Ada 2012 string
encoding packages.
* sem_elab.adb: Minor reformatting.

2010-08-05  Arnaud Charlet  <charlet@adacore.com>

* sem_ch8.adb (Use_One_Type): Protect against empty scopes.
* exp_util.adb (Component_May_Be_Bit_Aligned): Prevent assert failure
in case of null Comp.

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

10 years ago2010-08-05 Robert Dewar <dewar@adacore.com>
charlet [Thu, 5 Aug 2010 08:59:22 +0000 (08:59 +0000)]
2010-08-05  Robert Dewar  <dewar@adacore.com>

* errout.adb, a-suewen.adb, a-suezen.adb: Minor reformatting.

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

10 years ago2010-08-05 Gary Dismukes <dismukes@adacore.com>
charlet [Thu, 5 Aug 2010 08:55:34 +0000 (08:55 +0000)]
2010-08-05  Gary Dismukes  <dismukes@adacore.com>

* sem_ch4.adb (Analyze_Allocator): Flag errors on allocators of a
nested access type whose designated type has tasks or is a protected
object when the restrictions No_Task_Hierarchy or
No_Local_Protected_Objects apply. Add ??? comment.
* sem_ch9.adb (Analyze_Protected_Type): Give a warning when a protected
type is not a library-level type and No_Local_Protected_Objects applies.
(Analyze_Task_Type): Give a warning when a task type is not a
library-level type and No_Task_Hierarchy applies.

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

10 years ago * sem.adb: Minor reformatting
charlet [Thu, 5 Aug 2010 08:52:20 +0000 (08:52 +0000)]
* sem.adb: Minor reformatting
* sem_ch4.adb (Analyze_Reference): Disable error message in CodePeer
mode, not useful.

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

10 years ago2010-08-05 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 5 Aug 2010 08:45:26 +0000 (08:45 +0000)]
2010-08-05  Paolo Carlini  <paolo.carlini@oracle.com>

* include/tr1_impl/utility (begin, end): Remove per GB 85.
* testsuite/20_util/pair/range_access.cc: Remove.

* include/std/functional (function<>::function()): Remove explicit,
per JP 3.

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

10 years ago * config/i386/i386.c (ix86_decompose_address): Check for SI_REG
uros [Thu, 5 Aug 2010 08:24:58 +0000 (08:24 +0000)]
* config/i386/i386.c (ix86_decompose_address): Check for SI_REG
using REGNO of base_reg directly.

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

10 years ago2010-08-05 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 5 Aug 2010 07:34:08 +0000 (07:34 +0000)]
2010-08-05  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/move.h (forward): Update to N3092.
(identity): Remove (US 92 is NAD).
* include/debug/set.h: Fix move constructor to simply use move.
* include/debug/unordered_map: Likewise.
* include/debug/multiset.h: Likewise.
* include/debug/vector: Likewise.
* include/debug/unordered_set: Likewise.
* include/debug/deque: Likewise.
* include/debug/map.h: Likewise.
* include/debug/string: Likewise.
* include/debug/list: Likewise.
* include/debug/multimap.h: Likewise.
* include/profile/set.h: Likewise.
* include/profile/unordered_map: Likewise.
* include/profile/multiset.h: Likewise.
* include/profile/unordered_set: Likewise.
* include/profile/vector: Likewise.
* include/profile/deque: Likewise.
* include/profile/map.h: Likewise.
* include/profile/list: Likewise.
* include/profile/multimap.h: Likewise.
* include/ext/vstring.h: Likewise.
* include/bits/stl_list.h: Likewise.
* include/bits/stl_map.h: Likewise.
* include/bits/stl_set.h: Likewise.
* include/bits/forward_list.h: Likewise.
* include/bits/stl_multimap.h: Likewise.
* include/bits/unordered_map.h: Likewise.
* include/bits/stl_vector.h: Likewise.
* include/bits/stl_deque.h: Likewise.
* include/bits/stl_multiset.h: Likewise.
* include/bits/unordered_set.h: Likewise.
* include/bits/stl_bvector.h: Likewise.
* testsuite/20_util/identity/value.cc: Remove
* testsuite/20_util/identity/requirements/typedefs.cc: Likewise.
* testsuite/20_util/identity/requirements/explicit_instantiation.cc:
Likewise.

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

10 years ago PR tree-optimization/45144
jiez [Thu, 5 Aug 2010 03:05:35 +0000 (03:05 +0000)]
PR tree-optimization/45144
* tree-sra.c (type_consists_of_records_p): Return false
if the record contains bit-field.

testsuite/
PR tree-optimization/45144
* gcc.dg/tree-ssa/pr45144.c: New test.

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

10 years agoDaily bump.
gccadmin [Thu, 5 Aug 2010 00:18:51 +0000 (00:18 +0000)]
Daily bump.

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

10 years agoForce the use of stack_pointer_offset in computing the frame size.
rth [Wed, 4 Aug 2010 23:58:39 +0000 (23:58 +0000)]
Force the use of stack_pointer_offset in computing the frame size.

By exporting padding[012] and to_allocate from ix86_compute_frame_layout,
we encouraged re-computation of the size of the local frame.  All of the
truly relevant offsets are now exported directly, and should be compared
against directly.

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

10 years agoRemove code duplication in ix86_expand_epilogue.
rth [Wed, 4 Aug 2010 23:58:33 +0000 (23:58 +0000)]
Remove code duplication in ix86_expand_epilogue.

Union the undo of the frame pointer between the pop and move
code paths.

Combine the local frame stack deallocation with the one for
ix86_static_chain_on_stack, if possible.

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

10 years agoDescribe unwinding for realigned frames explicitly.
rth [Wed, 4 Aug 2010 23:58:26 +0000 (23:58 +0000)]
Describe unwinding for realigned frames explicitly.

We had been relying on some extremely fragile code within
dwarf2out in order to guess what to do with aligned stack
frames, which broke when we decided to perform the stores
to the aligned stack frame via EBP instead of ESP.

Instead, emit the appropriate unwinding instructions from
the backend.  This requires adding a new reg-note in order
to describe a register save at an arbitrary address.

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

10 years agoEmit the prologue/epilogue using frame offsets.
rth [Wed, 4 Aug 2010 23:58:20 +0000 (23:58 +0000)]
Emit the prologue/epilogue using frame offsets.

Record register save offsets in ix86_frame.

Move SP/FP offsets into the global state; update them everywhere
we currently handle CFA offsets.

Use that global state to choose base registers and offsets for
the register saves and restores.

There is a bug fix contained herein, whereby r11 could be clobbered
along an indirect sibcall path when the stack frame is very large (>2GB).
The emit_restore_{sse_,}regs_using_mov functions didn't handle this
case, but pro_epilogue_adjust_stack does.

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

10 years agoRemove duplicate definition of TARGET_64BIT_MS_ABI.
rth [Wed, 4 Aug 2010 23:58:14 +0000 (23:58 +0000)]
Remove duplicate definition of TARGET_64BIT_MS_ABI.

The definition in cygming.h differed from the definition in i386.h in
that the predicate was true for 32-bit when outside of any function.
Which (a) seems wrong and (b) never matters because the predicate is
only tested in terms of REGPARM and RED_ZONE, both of which are tied
to functions.

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

10 years agoCleanup 32-bit ms_hook code.
rth [Wed, 4 Aug 2010 23:58:08 +0000 (23:58 +0000)]
Cleanup 32-bit ms_hook code.

Emit the entire required hook code sequence via ASM_BYTE; emit
unwind info onto a blockage insn.

Remove the vswapmov pattern.

Fix indentation in several places.

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

10 years agoConsolidate red-zone logic into ix86_using_red_zone.
rth [Wed, 4 Aug 2010 23:58:02 +0000 (23:58 +0000)]
Consolidate red-zone logic into ix86_using_red_zone.

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

10 years agoSimplify logic saving the int registers in the prologue.
rth [Wed, 4 Aug 2010 23:57:56 +0000 (23:57 +0000)]
Simplify logic saving the int registers in the prologue.

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

10 years agoEliminate most of the conditional compilation from dwarf2out.c.
rth [Wed, 4 Aug 2010 23:57:50 +0000 (23:57 +0000)]
Eliminate most of the conditional compilation from dwarf2out.c.

Trying to reduce the amount of code compiled when dwarf2 debug
info and/or dwarf2 unwind info are disabled results in a twisted
mess.  Don't bother -- just build it all even if it's not going
to be used.

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

10 years agoPR debug/45171
rth [Wed, 4 Aug 2010 23:32:08 +0000 (23:32 +0000)]
PR debug/45171
* dwarf2out.c (gen_typedef_die): Don't re-generate the die of
an is_naming_typedef_decl.

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

10 years ago PR rtl-optimization/45162
bernds [Wed, 4 Aug 2010 21:07:05 +0000 (21:07 +0000)]
PR rtl-optimization/45162
* df-problems.c (df_word_lr_bb_local_compute): Ignore DEBUG_INSNs.
* dce.c (word_dce_process_block): Likewise.

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

10 years agoAdd Changpeng Fang to the Write After Approval list
cfang [Wed, 4 Aug 2010 20:48:50 +0000 (20:48 +0000)]
Add Changpeng Fang to the Write After Approval list

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

10 years ago2010-08-04 Janus Weil <janus@gcc.gnu.org>
janus [Wed, 4 Aug 2010 19:49:19 +0000 (19:49 +0000)]
2010-08-04  Janus Weil  <janus@gcc.gnu.org>

PR fortran/42207
PR fortran/44064
PR fortran/44065
* class.c (gfc_find_derived_vtab): Do not generate vtabs for class
container types. Do not artificially increase refs. Commit symbols one
by one.
* interface.c (compare_parameter): Make sure vtabs are present before
generating module variables.
* resolve.c (resolve_allocate_expr): Ditto.

2010-08-04  Janus Weil  <janus@gcc.gnu.org>

PR fortran/42207
PR fortran/44064
PR fortran/44065
* gfortran.dg/class_25.f03: New.
* gfortran.dg/class_26.f03: New.

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

10 years ago * g++.dg/warn/miss-format-1.C: Update line number.
mmitchel [Wed, 4 Aug 2010 19:01:24 +0000 (19:01 +0000)]
* g++.dg/warn/miss-format-1.C: Update line number.

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

10 years ago2010-08-04 Tobias Burnus <burnus@net-b.de>
burnus [Wed, 4 Aug 2010 18:49:23 +0000 (18:49 +0000)]
2010-08-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45183
        PR fortran/44857
        * resolve.c (resolve_structure_cons): Fix
        freeing of charlen.

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

10 years ago2010-07-29 Steve Ellcey <sje@cup.hp.com>
sje [Wed, 4 Aug 2010 18:32:37 +0000 (18:32 +0000)]
2010-07-29  Steve Ellcey  <sje@cup.hp.com>

PR target/44583
* config/ia64/constraints.md (Z): New.
* config/ia64/predicates.md (fr_reg_or_signed_fp01_operand): New.
(xfreg_or_signed_fp01_operand): New.
* config/ia64/ia64.md (addsf3): Replace fr_reg_or_fp01_operand
with fr_reg_or_signed_fp01_operand and constraint G with Z.
(subsf3): Ditto.
(*maddsf4): Ditto.
(*msubsf4): Ditto.
(adddf3): Ditto.
(adddf3_trunc): Ditto.
(subdf3): Ditto.
(*subdf3_trunc): Ditto.
(*madddf4): Ditto.
(*madddf4_trunc): Ditto.
(*msubdf4): Ditto.
(*msubdf4_trunc): Ditto.
(addxf3): Replace xfreg_or_fp01_operand with
xfreg_or_signed_fp01_operand and constraint G with Z.
(*addxf3_truncsf): Ditto.
(*addxf3_truncdf): Ditto.
(subxf3): Ditto.
(*subxf3_truncsf): Ditto.
(*subxf3_truncdf): Ditto.
(*maddxf4): Ditto.
(*maddxf4_truncsf): Ditto.
(*maddxf4_truncdf): Ditto.
(*msubxf4): Ditto.
(*msubxf4_truncsf): Ditto.
(*msubxf4_truncdf): Ditto.

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

10 years ago * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
charlet [Wed, 4 Aug 2010 15:50:10 +0000 (15:50 +0000)]
* c-ada-spec.c (dump_ada_template): Mark underlying instance type as
visited.
(dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
decide whether a type has already been declared/seen.
Do not go to the original type.
(dump_nested_types): New parameter forward.
Generate forward declaration if needed and mark type as visited.
(print_ada_declaration): Call dump_nested_types if not already done.
Mark types as visited.

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

10 years ago2010-08-04 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 4 Aug 2010 15:35:21 +0000 (15:35 +0000)]
2010-08-04  Richard Guenther  <rguenther@suse.de>

* alias.c (rtx_refs_may_alias_p): Do not resort to TBAA
if either alias-set is zero.

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

10 years ago PR c++/44641
uros [Wed, 4 Aug 2010 14:19:01 +0000 (14:19 +0000)]
PR c++/44641
* lib/scanasm.exp (dg-function-on-line): Expand regex to also ignore
.frame and .mask assembler directives.

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

10 years ago2010-08-04 Mikael Morin <mikael@gcc.gnu.org>
mikael [Wed, 4 Aug 2010 14:17:31 +0000 (14:17 +0000)]
2010-08-04  Mikael Morin  <mikael@gcc.gnu.org>

PR fortran/42051
PR fortran/44064
* symbol.c (changed_syms): Made static again.
(gfc_symbol_state): Don't conditionalize on GFC_DEBUG.
Changed conditional internal error into assert.
Rename function to ...
(gfc_enforce_clean_symbol_state): ... this.
* gfortran.h (gfc_symbol_state, gfc_enforce_clean_symbol_state):
Rename the former to the latter.
* parse.c (decode_statement, decode_omp_directive,
decode_gcc_attribute): Update callers accordingly. Don't conditionalize
on GFC_DEBUG.
(changed_syms): Remove declaration.
(next_statement): Use gfc_enforce_clean_symbol_state.

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

10 years ago2010-08-04 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 4 Aug 2010 12:29:48 +0000 (12:29 +0000)]
2010-08-04  Richard Guenther  <rguenther@suse.de>

* tree-ssa-propagate.h (struct prop_value_d, prop_value_t): Move ...
* tree-ssa-ccp.c: ... here.
* tree-ssa-copy.c: ... and here.
* tree-ssa-propagate.h (enum value_range_type, struct value_range_d,
value_range_t): Move ...
* tree-vrp.c: ... here.
* tree-ssa-propagate.h (ssa_prop_get_value_fn): New typedef.
(substitute_and_fold): Adjust prototype.
* tree-ssa-propagate.c (replace_uses_in): Adjust.
(replace_phi_args_in): Likewise.
(substitute_and_fold): Take callback to query lattice instead
of pointer to lattice.  Replace SSA name defs with lattice
values first.
* tree-ssa-ccp.c (ccp_finalize): Adjust.
* tree-ssa-copy.c (copy_prop_visit_phi_node): Adjust.
(get_value): New function.
(fini_copy_prop): Adjust.
* tree-vrp.c (vrp_finalize): Adjust.

* gcc.dg/tree-ssa/vrp35.c: Adjust.
* gcc.dg/tree-ssa/vrp36.c: Likewise.
* gcc.dg/tree-ssa/vrp50.c: Likewise.
* gcc.dg/tree-ssa/vrp52.c: Likewise.

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

10 years ago2010-08-04 Tobias Burnus <burnus@net-b.de>
burnus [Wed, 4 Aug 2010 11:51:32 +0000 (11:51 +0000)]
2010-08-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/44857
        * resolve.c (resolve_structure_cons): Fix handling of
        initialization structcture constructors with character
        elements of the wrong length.
        * array.c (gfc_check_iter_variable): Add NULL check.
        (gfc_resolve_character_array_constructor): Also truncate
        character length.

2010-08-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/44857
        * gfortran.dg/derived_constructor_char_1.f90: New.
        * gfortran.dg/derived_constructor_char_2.f90: New.

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

10 years ago2010-08-04 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 4 Aug 2010 11:08:54 +0000 (11:08 +0000)]
2010-08-04  Richard Guenther  <rguenther@suse.de>

PR middle-end/45176
* expr.c (expand_expr_real_1): Also preserve TARGET_MEM_REF
points-to set for original MEM_REF.

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

10 years ago2010-08-04 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 4 Aug 2010 09:16:58 +0000 (09:16 +0000)]
2010-08-04  Richard Guenther  <rguenther@suse.de>

* tree-ssa-ccp.c (get_constant_value): New function.
(get_rhs_assign_op_for_ccp): Remove.
(valueize_op): New function.
(ccp_fold): Use get_constant_value and valueize_op.
(fold_const_aggregate_ref): Likewise.
(ccp_fold_stmt): Likewise.
(visit_assignment): Simplify.

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

10 years ago2010-08-04 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 4 Aug 2010 09:15:51 +0000 (09:15 +0000)]
2010-08-04  Richard Guenther  <rguenther@suse.de>

* Makefile.in (double-int.o): Add $(TOPLEV_H) dependency.
* double-int.h (double_int_ctz): Declare.
* double-int.c (double_int_ctz): New function.

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

10 years ago * config/picochip/picochip.c (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE):
hariharans [Wed, 4 Aug 2010 09:02:48 +0000 (09:02 +0000)]
    * config/picochip/picochip.c (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE):
          Define.
          picochip_expand_movmemhi : Expand movmem pattern.
        * config/picochip/picochip-protos.h (picochip_expand_movmemhi) :
          Declare.
        * config/picochip/picochip.md (movmemhi) : New pattern.

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

10 years ago2010-08-04 Tobias Burnus <burnus@net-b.de>
burnus [Wed, 4 Aug 2010 08:56:32 +0000 (08:56 +0000)]
2010-08-04  Tobias Burnus  <burnus@net-b.de>

        * trans-io.c (gfc_build_io_library_fndecls): Fix return
        value of some libgfortran functions.

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

10 years ago * config/i386/unix.h (GLOBAL_ASM_OPS): Add tabs around .globl.
uros [Wed, 4 Aug 2010 07:07:17 +0000 (07:07 +0000)]
* config/i386/unix.h (GLOBAL_ASM_OPS): Add tabs around .globl.

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

10 years ago * gcc-interface/decl.c: Do not undefine IN_GCC_FRONTEND and do not
ebotcazou [Wed, 4 Aug 2010 06:49:08 +0000 (06:49 +0000)]
* gcc-interface/decl.c: Do not undefine IN_GCC_FRONTEND and do not
include expr.h.
(gnat_to_gnu_entity) <object>: Force address of -1 at the tree level
for the debug-only entity.
* gcc-interface/Make-lang.in (ada/decl.o): Adjust dependencies.

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

10 years agoDaily bump.
gccadmin [Wed, 4 Aug 2010 00:17:28 +0000 (00:17 +0000)]
Daily bump.

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

10 years ago * simplify-rtx.c (simplify_binary_operation_1): Try to simplify away
bernds [Tue, 3 Aug 2010 23:48:52 +0000 (23:48 +0000)]
* simplify-rtx.c (simplify_binary_operation_1): Try to simplify away
NEG as operand of a MULT by merging it with the other operand.
* combine.c (make_compound_operation): Use trunc_int_for_mode when
generating a MULT with constant.  Canonicalize PLUS and MINUS involving
MULT.
* config/arm/constraints.md (M): Examine only 32 bits of a
HOST_WIDE_INT.
* config/arm/predicates.md (power_of_two_operand): Likewise.

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

10 years ago2010-08-03 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Tue, 3 Aug 2010 22:02:30 +0000 (22:02 +0000)]
2010-08-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/45159
* dependency.c (gfc_deb_compare_expr):  Remove any integer
conversion functions to larger types from both arguments.
Remove handling these functions futher down.

2010-08-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/45159
* gfortran.dg/dependency_30.f90:  New test.

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

10 years ago * config/spu/spu.c (spu_emit_branch_hint): Do not access NOTE_KIND of
uweigand [Tue, 3 Aug 2010 18:01:52 +0000 (18:01 +0000)]
* config/spu/spu.c (spu_emit_branch_hint): Do not access NOTE_KIND of
non-NOTE insns.

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

10 years ago * ipa-split.c (struct split_point): Add split_part_set_retval.
hubicka [Tue, 3 Aug 2010 14:23:04 +0000 (14:23 +0000)]
* ipa-split.c (struct split_point): Add split_part_set_retval.
(find_retval): Forward declare.
(test_nonssa_use, mark_nonssa_use): Special case return by reference.
(consider_split): Compute current->split_part_set_retval.
(visit_bb): Do not look into return value.
(split_function): Handle !split_part_set_retval

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

10 years ago2010-08-03 Martin Jambor <mjambor@suse.cz>
jamborm [Tue, 3 Aug 2010 11:50:25 +0000 (11:50 +0000)]
2010-08-03  Martin Jambor  <mjambor@suse.cz>

* tree-sra.c (completely_scalarize_record): New parameter REF, create
its own access->expr intead of using build_ref_for_offset.

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

10 years ago2010-08-03 Janus Weil <janus@gcc.gnu.org>
janus [Tue, 3 Aug 2010 11:08:50 +0000 (11:08 +0000)]
2010-08-03  Janus Weil  <janus@gcc.gnu.org>

PR fortran/44584
PR fortran/45161
* class.c (add_procs_to_declared_vtab1): Don't add erroneous procedures.
* resolve.c (resolve_tb_generic_targets): Check for errors.

2010-08-03  Janus Weil  <janus@gcc.gnu.org>

PR fortran/44584
PR fortran/45161
* gfortran.dg/typebound_call_9.f03: Modified.
* gfortran.dg/typebound_generic_1.f03: Modified.

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

10 years ago * config/alpha/alpha.h (SWITCH_TAKES_ARG): Define.
jsm28 [Tue, 3 Aug 2010 09:42:46 +0000 (09:42 +0000)]
* config/alpha/alpha.h (SWITCH_TAKES_ARG): Define.
* config/alpha/osf5.h (LIB_SPEC): Don't handle -a.
* config/bfin/bfin.h (ASM_SPEC, LINK_SPEC): Don't pass -G*
options.
* config/darwin.h (WORD_SWITCH_TAKES_ARG): Handle -iframework.
* config/ia64/ia64.h (SWITCH_TAKES_ARG): Define.
* config/iq2000/iq2000.h (SWITCH_TAKES_ARG): Remove.
* config/rs6000/sysv4.h (SWITCH_TAKES_ARG): Define using
DEFAULT_SWITCH_TAKES_ARG.
* config/rx/rx.opt (-patch=): Remove option.
* config/rx/rx.c (rx_handle_option): Don't handle OPT_patch_.
* defaults.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Handle -imultilib.
* doc/invoke.texi (RX Options): Remove -patch=.
* gcc.c (cc1_options): Pass -aux-info* instead of -a* options.
(option_map): Remove --profile-blocks, --quiet and --silent.

ada:
* gcc-interface/lang-specs.h: Don't pass -a options.

c-family:
* c.opt (-print-pch-checksum): Remove option.
* c-opts.c (c_common_handle_option): Don't handle
OPT_print_pch_checksum.

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

10 years ago * config/i386/i386.h (ix86_compare_op0, ix86_compare_op1): Remove.
uros [Tue, 3 Aug 2010 09:25:22 +0000 (09:25 +0000)]
* config/i386/i386.h (ix86_compare_op0, ix86_compare_op1): Remove.
* config/i386/i386.c (ix86_compare_op0, ix86_compare_op1): Remove.
(ix86_expand_branch): Add op0 and op1 arguments.  Do not access
ix86_compare_op0 and ix86_compare_op1, use op0 and op1 instead.
Update calls to ix86_expand_compare and ix86_expand_branch.
(ix86_expand_setcc): Add op0 and op1 arguments.  Update calls to
ix86_expand_compare.
(ix86_expand_compare): Add op0 and op1 arguments.  Do not access
ix86_compare_op0 and ix86_compare_op1, use op0 and op1 instead.
Make static.
(ix86_expand_carry_flag_compare): Do not set ix86_compare_op0
and ix86_compare_op1.  Update calls to ix86_expand_compare.
(ix86_expand_int_movcc): Ditto.
(ix86_expand_fp_movcc): Ditto.  Update calls to ix86_expand_setcc.
* config/i386/i386-protos.h (ix86_expand_branch): Update prototype.
(ix86_expand_setcc): Ditto.
(ix86_expand_compare): Remove prototype.
* config/i386/i386.md (cbranch<SDWIM:mode>4): Do not set
ix86_compare_op0 and ix86_compare_op1.  Update calls
to ix86_expand_branch to directly pass operands[1] and operands[2].
(cbranchxf4): Ditto.
(cbranch<MODEF:mode>4): Ditto.
(cbranchcc4): Ditto.
(cstore<SWIM:mode>4): Do not set ix86_compare_op0 and ix86_compare_op1.
Update calls to ix86_expand_setcc to directly pass operands[2] and
operands[3].
(cstorexf4): Ditto.
(cstore<MODEF:mode>4): Ditto.
(cstorecc4): Ditto.

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

10 years agoDaily bump.
gccadmin [Tue, 3 Aug 2010 00:17:02 +0000 (00:17 +0000)]
Daily bump.

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

10 years ago2010-08-02 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Mon, 2 Aug 2010 22:04:36 +0000 (22:04 +0000)]
2010-08-02  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/45159
* depencency.c (gfc_dep_resolver):  Fix logic for when a loop
can be reversed.

2010-08-02  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/45159

* gfortran.dg/dependency_29.f90:  New test.

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

10 years ago PR target/45063
bernds [Mon, 2 Aug 2010 20:17:59 +0000 (20:17 +0000)]
PR target/45063
* caller-save.c (save_call_clobbered_regs): Remove regs from
hard_regs_saved when they are set.

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

10 years ago target/41089
uros [Mon, 2 Aug 2010 17:26:40 +0000 (17:26 +0000)]
target/41089
* config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset
as volatile.

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

10 years ago2010-08-02 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Mon, 2 Aug 2010 16:53:51 +0000 (16:53 +0000)]
2010-08-02  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/36854
* dependency.h:  Add prototype for gfc_are_identical_variables.
* frontend-passes.c:  Include depencency.h.
(optimimize_equality):  Use gfc_are_identical_variables.
* dependency.c (identical_array_ref): New function.
(gfc_are_identical_variables):  New function.
(gfc_deb_compare_expr):  Use gfc_are_identical_variables.
* dependency.c (gfc_check_section_vs_section).  Rename gfc_
prefix from statc function.
(check_section_vs_section): Change arguments to gfc_array_ref,
adjust function body accordingly.

2010-08-02  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/36854
* gfortran.dg/character_comparison_2.f90:  New test.
* gfortran.dg/character_comparison_3.f90:  New test.
* gfortran.dg/dependency_28.f90:  New test.

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

10 years agoAdd -ftree-loop-distribute-patterns enabled at -O3.
spop [Mon, 2 Aug 2010 16:20:36 +0000 (16:20 +0000)]
Add -ftree-loop-distribute-patterns enabled at -O3.

2010-08-02  Sebastian Pop  <sebastian.pop@amd.com>

* common.opt (ftree-loop-distribute-patterns): New.
* invoke.texi (-ftree-loop-distribute-patterns): Documented.
* opts.c (decode_options): Enable flag_tree_loop_distribute_patterns
at -O3.
* tree-data-ref.c (stores_zero_from_loop): New.
* tree-data-ref.h (stores_zero_from_loop): Declared.
* tree-loop-distribution.c (tree_loop_distribution): Call
stores_zero_from_loop.
(tree_loop_distribution): Check flag_tree_loop_distribute_patterns.

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

10 years ago2010-08-02 Mikael Morin <mikael@gcc.gnu.org>
mikael [Mon, 2 Aug 2010 15:30:47 +0000 (15:30 +0000)]
2010-08-02  Mikael Morin  <mikael@gcc.gnu.org>
    Janus Weil  <janus@gcc.gnu.org>

PR fortran/42051
PR fortran/44064
PR fortran/45151
* intrinsic.c (gfc_get_intrinsic_sub_symbol): Commit changed symbol.
* symbol.c (gen_cptr_param, gen_fptr_param, gen_shape_param,
gfc_copy_formal_args, gfc_copy_formal_args_intr,
gfc_copy_formal_args_ppc, generate_isocbinding_symbol): Ditto.
* parse.c (parse_derived_contains, parse_spec, parse_progunit):
Call reject_statement in case of error.
(match_deferred_characteritics): Call gfc_undo_symbols in case match
fails.

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

10 years ago * config/arm/arm.c (arm_rtx_costs_1): Remove second clause from the
bernds [Mon, 2 Aug 2010 10:21:05 +0000 (10:21 +0000)]
* config/arm/arm.c (arm_rtx_costs_1): Remove second clause from the
if statement which adds extra costs to frame-related expressions.

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

10 years ago PR target/40457
bernds [Mon, 2 Aug 2010 10:06:47 +0000 (10:06 +0000)]
PR target/40457
* config/arm/arm.h (arm_regs_in_sequence): Declare.
* config/arm/arm-protos.h (emit_ldm_seq, emit_stm_seq,
load_multiple_sequence, store_multiple_sequence): Delete
declarations.
(arm_gen_load_multiple, arm_gen_store_multiple): Adjust
declarations.
* config/arm/ldmstm.md: New file.
* config/arm/arm.c (arm_regs_in_sequence): New array.
(load_multiple_sequence): Now static.  New args SAVED_ORDER,
CHECK_REGS.  All callers changed.
If SAVED_ORDER is nonnull, copy the computed order into it.
If CHECK_REGS is false, don't sort REGS.  Handle Thumb mode.
(store_multiple_sequence): Now static.  New args NOPS_TOTAL,
SAVED_ORDER, REG_RTXS and CHECK_REGS.  All callers changed.
If SAVED_ORDER is nonnull, copy the computed order into it.
If CHECK_REGS is false, don't sort REGS.  Set up REG_RTXS just
like REGS.  Handle Thumb mode.
(arm_gen_load_multiple_1): New function, broken out of
arm_gen_load_multiple.
(arm_gen_store_multiple_1): New function, broken out of
arm_gen_store_multiple.
(arm_gen_multiple_op): New function, with code from
arm_gen_load_multiple and arm_gen_store_multiple moved here.
(arm_gen_load_multiple, arm_gen_store_multiple): Now just
wrappers around arm_gen_multiple_op.  Remove argument UP, all callers
changed.
(gen_ldm_seq, gen_stm_seq, gen_const_stm_seq): New functions.
* config/arm/predicates.md (commutative_binary_operator): New.
(load_multiple_operation, store_multiple_operation): Handle more
variants of these patterns with different starting offsets.  Handle
Thumb-1.
* config/arm/arm.md: Include "ldmstm.md".
(ldmsi_postinc4, ldmsi_postinc4_thumb1, ldmsi_postinc3, ldmsi_postinc2,
ldmsi4, ldmsi3, ldmsi2, stmsi_postinc4, stmsi_postinc4_thumb1,
stmsi_postinc3, stmsi_postinc2, stmsi4, stmsi3, stmsi2 and related
peepholes): Delete.
* config/arm/ldmstm.md: New file.
* config/arm/arm-ldmstm.ml: New file.

testsuite/
PR target/40457
* gcc.target/arm/pr40457-1.c: New test.
* gcc.target/arm/pr40457-2.c: New test.

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

10 years ago * config/arm/thumb2.md (thumb2_movdi, thumb2_movsf_soft_insn,
bernds [Mon, 2 Aug 2010 09:53:58 +0000 (09:53 +0000)]
* config/arm/thumb2.md (thumb2_movdi, thumb2_movsf_soft_insn,
thumb2_movdf_soft_insn): Delete patterns.
* config/arm/arm.md (arm_pool_range, thumb2_pool_range,
arm_neg_pool_range, thumb2_neg_pool_range): New attributes.
(pool_range, neg_pool_range): Use them to define defaults.
(movdi, arm_movsf_soft_insn, arm_movdf_soft_insn): Define them
and allow for TARGET_32BIT.

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

10 years ago * final.c (final_scan_insn): Call CC_STATUS_INIT unconditionally.
bernds [Mon, 2 Aug 2010 09:51:39 +0000 (09:51 +0000)]
* final.c (final_scan_insn): Call CC_STATUS_INIT unconditionally.
* config/arm/arm.c (thumb1_code): New variable.
(arm_override_options): Set it.
(thumb1_final_prescan_insn): Keep track of condition code status.
(arm_adjust_cost): For Thumb, try to keep cc-setting insns next to
jumps that depend on them.
* config/arm/arm.h (thumb1_code): Declare variable.
(struct machine_function): Guard with #ifndef GENERATOR_FILE.  Add
members thumb1_cc_insn, thumb1_cc_op0, thumb1_cc_op1 and
thumb1_cc_mode.
(CC_STATUS_INIT): New macro.
* config/arm/constraints.md (Pd): New constraint.
* config/arm/predicates.md (noov_comparison_operator): New predicate.
* config/arm/arm.md (is_thumb1): New define_attr.
(conds): Set default to "clob" when generating Thumb1 code.
(thumb1_bicsi3): Renamed from bicsi3.  All uses changed.  Condition
code are set.  Use two-operand assembly syntax.
(thumb1_subsi3_insn): Condition codes are set.  Now a properly named
pattern.
(thumb1_andsi3_insn, thumb1_iorsi3_insn, thumb1_xorsi3_insn): Condition
codes are set.  Use two-operand assembly syntax.
(zero_extendhisi splitter): Remove constraints.
(thumb1_movsi_insn, thumb1_movhi_insn, thumb1_movqi_insn, thumb1_movhf,
thumb1_movsf_insn): Set conds attribute as appropriate.
(cbranchsi4_insn): Use condition code status from struct
machine_function to determine whether the comparison can be eliminated.
Discourage the alternative using high registers.
(movsi_cbranchsi4, andsi3_cbranch, orrsi3_cbranch_scratch,
orrsi3_cbranch, xorsi3_cbranch_scratch, xorsi3_cbranch,
bicsi3_cbranch_scratch, bicsi3_cbranch, subsi3_cbranch_scratch,
subsi3_cbranch): Delete.
(movsi_cbranchsi4 peepholes): Rewrite to generate a sequence of
one subtract and one cbranch insn.

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

10 years ago * postreload.c (reload_cse_simplify_operands): Take attribute enabled
bernds [Mon, 2 Aug 2010 09:42:37 +0000 (09:42 +0000)]
* postreload.c (reload_cse_simplify_operands): Take attribute enabled
into account.

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

10 years ago2010-08-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
ramana [Mon, 2 Aug 2010 08:52:15 +0000 (08:52 +0000)]
2010-08-02  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

* config/arm/arm.c (COSTS_N_INSNS): Remove definition.

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

10 years agoDon't update the position flag for non-seekable files, check for stell() error.
jb [Mon, 2 Aug 2010 06:22:23 +0000 (06:22 +0000)]
Don't update the position flag for non-seekable files, check for stell() error.

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

10 years agoDaily bump.
gccadmin [Mon, 2 Aug 2010 00:17:15 +0000 (00:17 +0000)]
Daily bump.

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

10 years ago * update_web_docs_libstdcxx_svn: Do not compress generated .html
gerald [Sun, 1 Aug 2010 21:10:55 +0000 (21:10 +0000)]
* update_web_docs_libstdcxx_svn: Do not compress generated .html
files any more.

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

10 years ago2010-08-01 Janus Weil <janus@gcc.gnu.org>
janus [Sun, 1 Aug 2010 19:21:49 +0000 (19:21 +0000)]
2010-08-01  Janus Weil  <janus@gcc.gnu.org>

PR fortran/44912
* class.c (gfc_build_class_symbol): Make '$vptr' component private.
(gfc_find_derived_vtab): Make vtabs and vtypes public.
* module.c (read_module): When reading module files, always import
vtab and vtype symbols.

2010-08-01  Janus Weil  <janus@gcc.gnu.org>

PR fortran/44912
* gfortran.dg/typebound_call_17.f03: New.

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

10 years agoUse access(2) instead of stat(2) to test file existence.
jb [Sun, 1 Aug 2010 11:22:18 +0000 (11:22 +0000)]
Use access(2) instead of stat(2) to test file existence.

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

10 years ago PR target/45142
uros [Sun, 1 Aug 2010 10:41:57 +0000 (10:41 +0000)]
PR target/45142
* config/i386/sse.md (vec_set<mode>_0): Do not set mode attribute for
alternative 2.
(vec_set<moode>_0 splitter): Use SSEMODE4S mode iterator to also
split V4SI operands.

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

10 years ago * config/mmix/mmix.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.
aesok [Sun, 1 Aug 2010 08:29:20 +0000 (08:29 +0000)]
* config/mmix/mmix.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.
* config/mmix/mmix-protos.h (mmix_asm_output_source_filename): Remove.
* config/mmix/mmix.c (mmix_asm_output_source_filename): Make static.
(TARGET_ASM_OUTPUT_SOURCE_FILENAME): Define.

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

10 years agoDaily bump.
gccadmin [Sun, 1 Aug 2010 00:17:09 +0000 (00:17 +0000)]
Daily bump.

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

10 years ago* io/inquire.c: Include io.h before string.h.
dje [Sat, 31 Jul 2010 21:37:25 +0000 (21:37 +0000)]
* io/inquire.c: Include io.h before string.h.

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

10 years ago2010-07-31 Kai Tietz <kai.tietz@onevision.com>
ktietz [Sat, 31 Jul 2010 20:00:22 +0000 (20:00 +0000)]
2010-07-31  Kai Tietz  <kai.tietz@onevision.com>

        * cppdefault.c (cpp_include_defaults): Move GCC_INCLUDE_DIR before
        LOCAL_INCLUDE_DIR.

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

10 years agoMove PR c++/45112 ChangeLog entry to correct location.
uweigand [Sat, 31 Jul 2010 17:42:48 +0000 (17:42 +0000)]
Move PR c++/45112 ChangeLog entry to correct location.

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

10 years agogcc/
rsandifo [Sat, 31 Jul 2010 15:51:17 +0000 (15:51 +0000)]
gcc/
* tree-ssa-math-opts.c (convert_plusminus_to_widen): Fix type
used in the call to optab_for_tree_code.  Fix the second
is_widening_mult_p call.  Check that both unwidened operands
have the same sign.

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

10 years agoJohn Tytgat <John.Tytgat@aaug.net>
rearnsha [Sat, 31 Jul 2010 14:27:53 +0000 (14:27 +0000)]
John Tytgat  <John.Tytgat@aaug.net>
* config/arm/arm.c (arm_function_arg): Remove superfluous test.

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

10 years ago * config/spu/spu.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.
aesok [Sat, 31 Jul 2010 12:07:14 +0000 (12:07 +0000)]
* config/spu/spu.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.

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

10 years ago2010-07-31 Mikael Morin <mikael@gcc.gnu.org>
mikael [Sat, 31 Jul 2010 10:27:36 +0000 (10:27 +0000)]
2010-07-31  Mikael Morin  <mikael@gcc.gnu.org>

PR fortran/42051
PR fortran/44064
* symbol.c (changed_syms): Made non-static.
* parse.c (changed_syms): Declare new external.
(next_statement): Assert changed_syms is NULL at the beginning.

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

10 years ago * config/i386/i386.md (mov<SWIM:mode>cc and corresponding splitter):
uros [Sat, 31 Jul 2010 09:33:19 +0000 (09:33 +0000)]
* config/i386/i386.md (mov<SWIM:mode>cc and corresponding splitter):
Use ordered_comparison_operator predicate for operator1.
(add<mode>cc): ditto.

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

10 years ago* config/rx/predicates.md (rx_constshift_operand): New.
dj [Sat, 31 Jul 2010 02:32:08 +0000 (02:32 +0000)]
* config/rx/predicates.md (rx_constshift_operand): New.
* config/rx/rx.md (zs_cond): New.
(cbranchsi4): Remove mode.
(*cbranchsi4_<code>): Likewise.
(*tstbranchsi4_<code>): New.
(*tstbranchsi4r_<code>): New.
(*tstbranchsi4m_eq): New.
(*tstbranchsi4m_ne): New.
(cbranchsf4): Remove mode.
(*cbranchsf4_<code>): Likewise.

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

10 years agoDaily bump.
gccadmin [Sat, 31 Jul 2010 00:17:24 +0000 (00:17 +0000)]
Daily bump.

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

10 years ago * rtlanal.c (simplify_subreg_regno): Don't treat
bernds [Fri, 30 Jul 2010 23:50:00 +0000 (23:50 +0000)]
* rtlanal.c (simplify_subreg_regno): Don't treat
HARD_FRAME_POINTER_REGNUM specially.

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