platform/upstream/gcc.git
11 years agognat_rm.texi, [...] (Sem_Prag.Analyze_Pragma): Handle new pragma Attribute_Definition.
Thomas Quinot [Mon, 29 Oct 2012 11:21:57 +0000 (11:21 +0000)]
gnat_rm.texi, [...] (Sem_Prag.Analyze_Pragma): Handle new pragma Attribute_Definition.

2012-10-29  Thomas Quinot  <quinot@adacore.com>

* gnat_rm.texi, sem_prag.adb, sem_util.adb, sem_util.ads,
par-prag.adb, par-util.adb, snames.ads-tmpl (Sem_Prag.Analyze_Pragma):
Handle new pragma Attribute_Definition.
(Sem_Util.Bad_Attribute): New routine, moved here
from par-util, so that it can be used by the above.
(Par_Util.Signal_Bad_Attribute): Processing moved to
Sem_Util.Bad_Attribute.

From-SVN: r192935

11 years ago[multiple changes]
Arnaud Charlet [Mon, 29 Oct 2012 11:19:30 +0000 (12:19 +0100)]
[multiple changes]

2012-10-29  Robert Dewar  <dewar@adacore.com>

* s-tpoben.ads, s-taskin.ads, exp_ch3.adb: Minor reformatting.

2012-10-29  Yannick Moy  <moy@adacore.com>

* sem_prag.adb, gnat1drv.adb, opt.ads: Rename S14_Extensions
into Formal_Extensions.

2012-10-29  Thomas Quinot  <quinot@adacore.com>

* sem_attr.adb: Minor reformatting.

From-SVN: r192934

11 years ago[multiple changes]
Arnaud Charlet [Mon, 29 Oct 2012 11:09:46 +0000 (12:09 +0100)]
[multiple changes]

2012-10-29  Tristan Gingold  <gingold@adacore.com>

* gnat_rm.texi: Document implementation advice for Pragma
Partition_Elaboration_Policy.

2012-10-29  Yannick Moy  <moy@adacore.com>

* s-bignum.adb (Div_Rem): Reference that Algorithm_D is from
the second edition of TAOCP from Knuth, since the algo changed
in the third edition. Also correct the definition of 'd' which
could overflow.

2012-10-29  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch3.adb (Build_Initialization_Call): Create static strings
which denote entry [family] names and associate them with the
object's Protection_Entries or ATCB.
(Build_Init_Statements):
Remove local variable Names. Do not generate the entry [family]
names inside the init proc because they are now static.
* exp_ch9.adb (Build_Entry_Names): Reimplemented. The strings
which denote entry [family] names are now generated statically
and associated with the concurrent object's Protection_Entries
or ATCB during initialization.
* exp_ch9.ads (Build_Entry_Names): Change subprogram profile
and associated comment on usage.
* rtsfind.ads: Add the following entries to tables RE_Id and
RE_Unit_Table:

RE_Protected_Entry_Names_Array RE_Task_Entry_Names_Array
RO_PE_Number_Of_Entries RO_PE_Set_Entry_Names
RO_ST_Number_Of_Entries RO_ST_Set_Entry_Names

Remove the following entries from tables RE_Id and RE_Unit_Table:

RO_PE_Set_Entry_Name RO_TS_Set_Entry_Name

* s-taskin.adb: Remove with clause for Ada.Unchecked_Deallocation.
(Free_Entry_Names_Array): Removed.
(Number_Of_Entries): New routine.
(Set_Entry_Names): New routine.
* s-taskin.ads: Rename type Entry_Names_Array to
Task_Entry_Names_Array. Rename type Entry_Names_Array_Access
to Task_Entry_Names_Access. Update the type of ACTB field
Entry_Names and add a comment on its protection status.
(Free_Entry_Names_Array): Removed.
(Number_Of_Entries): New routine.
(Set_Entry_Names): New routine.
* s-tassta.adb (Create_Task): Remove formal parameter
Build_Entry_Names. Do not allocate an array to hold the
string names of entries and families.
(Free_Entry_Names): Removed.
(Free_Task): Remove the call to Free_Entry_Names.
(Set_Entry_Name): Removed.
(Vulnerable_Free_Task): Remove the call to Free_Entry_Names.
* s-tassta.ads (Create_Task): Remove formal parameter
Build_Entry_Names along with associated comment.
(Set_Entry_Name): Removed.
* s-tpoben.adb: Remove with clause for Ada.Unchecked_Deallocation.
(Finalize): Remove the call to Free_Entry_Names.
(Free_Entry_Names): Removed.
(Initialize_Protection_Entries):
Remove formal parameter Build_Entry_Names. Do not allocate
an array to hold the string names of entries and families.
(Number_Of_Entries): New routine.
(Set_Entry_Name): Removed.
(Set_Entry_Names): New routine.
* s-tpoben.ads: Add types Protected_Entry_Names_Array and
Protected_Entry_Names_Access. Update the type of Protection_Enties
field Entry_Names.
(Initialize_Protection_Entries): Remove
formal parameter Build_Entry_Names along with associated comment.
(Number_Of_Entries): New routine.
(Set_Entry_Name): Removed.
(Set_Entry_Names): New routine.

2012-10-29  Arnaud Charlet  <charlet@adacore.com>

* gnat_ugn.texi: Minor typo fix.

From-SVN: r192933

11 years ago* Revert my last commit.
Uros Bizjak [Mon, 29 Oct 2012 11:08:42 +0000 (12:08 +0100)]
* Revert my last commit.

From-SVN: r192932

11 years ago[multiple changes]
Arnaud Charlet [Mon, 29 Oct 2012 11:07:12 +0000 (12:07 +0100)]
[multiple changes]

2012-10-29  Yannick Moy  <moy@adacore.com>

* debug.adb Associate debug switch -gnatd.V to extensions for
formal verification.
* gnat1drv.adb (Adjust_Global_Switches): Set flag S14_Extensions
when -gnatd.V is set.
* gnat_rm.texi: Remove doc for Assert_And_Cut.
* opt.ads Declare new flag S14_Extensions, to be set when new
aspects/pragmas/attributes for formal verification should be
accepted.
* sem_prag.adb (Analyze_Pragma): Check that S14_Extensions is
set when treating pragma Assert_And_Cut.

2012-10-29  Tristan Gingold  <gingold@adacore.com>

* s-tarest.ads, s-tassta.adb: Add a pragma Partition_Elaboration_Policy.

From-SVN: r192931

11 years agofreeze.adb: Minor reformatting.
Robert Dewar [Mon, 29 Oct 2012 11:04:55 +0000 (11:04 +0000)]
freeze.adb: Minor reformatting.

2012-10-29  Robert Dewar  <dewar@adacore.com>

* freeze.adb: Minor reformatting.

From-SVN: r192930

11 years ago[multiple changes]
Arnaud Charlet [Mon, 29 Oct 2012 11:03:27 +0000 (12:03 +0100)]
[multiple changes]

2012-10-29  Robert Dewar  <dewar@adacore.com>

* xr_tabls.adb, xr_tabls.ads, exp_ch9.adb, snames.adb-tmpl,
snames.ads-tmpl, exp_ch3.adb: Minor reformatting.

2012-10-29  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb: Call Build_Subprogrm_Instance_Renamings only when
generating code.

2012-10-29  Robert Dewar  <dewar@adacore.com>

* gnat_ugn.texi: Add documentation for -gnatw.k/-gnatw.K.
* ug_words: Add entries for -gnatw.k/.K for [NO]STANDARD_REDEFINITION.
* vms_data.ads: Add entries for [NO]STANDARD_REDEFINITION.

From-SVN: r192929

11 years ago[multiple changes]
Arnaud Charlet [Mon, 29 Oct 2012 11:00:17 +0000 (12:00 +0100)]
[multiple changes]

2012-10-29  Tristan Gingold  <gingold@adacore.com>

* exp_ch9.adb, s-tarest.ads, exp_ch3.adb: Update comments.

2012-10-29  Yannick Moy  <moy@adacore.com>

* gnat_rm.texi: Minor documentation addition.

2012-10-29  Emmanuel Briot  <briot@adacore.com>

* xr_tabls.adb, xr_tabls.ads (Add_Declaration, Add_Reference): No
longer assume that a parameter declaration is seen after the subprogram
that uses it.

2012-10-29  Tristan Gingold  <gingold@adacore.com>

* lib-writ.adb (Write_ALI): Emit partition elaboration policy
in P line.
* lib-writ.ads: Document partition elaboration policy indication.
* sem_prag.adb (Check_Arg_Is_Partition_Elaboration_Policy): New
procedure.
(Analyze_Pragma): Handle Partition_Elaboration_Policy.
(Sig_Flags): Add flag for Pragma_Partition_Elaboration_Policy
* ali.adb (Initialize_ALI): Init Partition_Elaboration_Policy_Specified.
(Scan_ALI): Read Ex indications.
* ali.ads: ALIs_Record: Add Partition_Elaboration_Policy.
* par-prag.adb (Prag): Add Partition_Elaboration_Policy.
* snames.adb-tmpl (Is_Partition_Elaboration_Policy_Name): New function.
* opt.ads (Partition_Elaboration_Policy): Declare.
(Partition_Elaboration_Policy_Sloc): Declare.
* bcheck.adb (Check_Consistent_Partition_Elaboration_Policy):
New procedure. (Check_Configuration_Consistency): Check partition
elaboration policy consistency.
* snames.ads-tmpl (Name_Partition_Elaboration_Policy): New name.
(First_Partition_Elaboration_Policy_Name, Name_Concurrent,
Name_Sequential, Last_Partition_Elaboration_Policy_Name): Likewise.
(Pragma_Partition_Elaboration_Policy): New literal.
(Is_Partition_Elaboration_Policy_Name): New function.

2012-10-29  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Is_Public_Subprogram_For): Handle properly
expression functions, which are rewritten as subprogram
declarations, when generating invariants for its return value
and in-out parameters.

From-SVN: r192928

11 years ago[multiple changes]
Arnaud Charlet [Mon, 29 Oct 2012 10:56:44 +0000 (11:56 +0100)]
[multiple changes]

2012-10-29  Arnaud Charlet  <charlet@adacore.com>

* warnsw.adb (Set_GNAT_Mode_Warnings): Unset
Warn_On_Standard_Redefinition.

2012-10-29  Javier Miranda  <miranda@adacore.com>

* sem_ch3.adb (Derive_Progenitor_Subprograms): Complete documentation.

2012-10-29  Robert Dewar  <dewar@adacore.com>

* par-ch11.adb (Warn_If_Standard_Redefinition): Add calls.
* par-ch3.adb (P_Defining_Identifier): Call
Warn_If_Standard_Redefinition if not inside record definition.
* par-ch6.adb (Warn_If_Standard_Redefinition): Add calls.
* par-util.adb (Warn_If_Standard_Redefinition): New procedure.
* par.adb (Inside_Record_Definition): New flag.
(Warn_If_Standard_Redefinition): New procedure.
* sinfo-cn.adb (Change_Identifier_To_Defining_Identifier): Remove
handling of warning for redefining standard name (moved to Par*).

From-SVN: r192927

11 years ago[multiple changes]
Arnaud Charlet [Mon, 29 Oct 2012 10:54:45 +0000 (11:54 +0100)]
[multiple changes]

2012-10-29  Javier Miranda  <miranda@adacore.com>

* sem_ch3.adb (Derive_Progenitor_Subprograms): Disable small
optimization in generic formal types.

2012-10-29  Robert Dewar  <dewar@adacore.com>

* exp_ch9.adb, exp_ch3.adb: Add comments.
* sem_prag.adb: Minor reformatting.

From-SVN: r192926

11 years agobindgen.adb (Gen_Output_File_Ada): Do not emit declaration for Is_Elaborated if not...
Tristan Gingold [Mon, 29 Oct 2012 10:52:28 +0000 (10:52 +0000)]
bindgen.adb (Gen_Output_File_Ada): Do not emit declaration for Is_Elaborated if not referenced.

2012-10-29  Tristan Gingold  <gingold@adacore.com>

* bindgen.adb (Gen_Output_File_Ada): Do not emit declaration for
Is_Elaborated if not referenced.

2012-10-29  Tristan Gingold  <gingold@adacore.com>

* exp_ch9.adb (Build_Activation_Chain_Entity): Punt in restricted
profile.
* exp_ch3.adb (Build_Initialization_Call): Do no append _Chain
parameter in restricted profile.
(Build_Init_Call_Thru): Likewise.
(Init_Formals): Likewise.
* exp_ch3.adb: Minor reformatting.

From-SVN: r192925

11 years ago[multiple changes]
Arnaud Charlet [Mon, 29 Oct 2012 10:50:12 +0000 (11:50 +0100)]
[multiple changes]

2012-10-29  Arnaud Charlet  <charlet@adacore.com>

* usage.adb: Update usage line for -gnatw.k.

2012-10-29  Yannick Moy  <moy@adacore.com>

* sem_prag.adb: Code clean up.

From-SVN: r192924

11 years ago[multiple changes]
Arnaud Charlet [Mon, 29 Oct 2012 10:48:00 +0000 (11:48 +0100)]
[multiple changes]

2012-10-29  Arnaud Charlet  <charlet@adacore.com>

* s-win32.ads: Kill potential warning.

2012-10-29  Yannick Moy  <moy@adacore.com>

* gnat_rm.texi: Describe new pragma Assert_And_Cut.
* par-prag.adb, sem_prag.adb, snames.ads-tmpl: Add new pragma
and treat it like pragma Assert.

From-SVN: r192923

11 years ago[multiple changes]
Arnaud Charlet [Mon, 29 Oct 2012 10:41:40 +0000 (11:41 +0100)]
[multiple changes]

2012-10-29  Vincent Celier  <celier@adacore.com>

* projects.texi: Clarify documentation of attribute
Ignore_Source_Sub_Dirs.

2012-10-29  Robert Dewar  <dewar@adacore.com>

* g-sechas.adb, g-sechas.ads, exp_ch9.adb, bindgen.adb, exp_dbug.adb,
exp_dbug.ads: Minor reformatting.

From-SVN: r192922

11 years agog-sechas.adb, [...]: (Binary_Message_Digest): New subtype.
Pascal Obry [Mon, 29 Oct 2012 10:26:36 +0000 (10:26 +0000)]
g-sechas.adb, [...]: (Binary_Message_Digest): New subtype.

2012-10-29  Pascal Obry  <obry@adacore.com>

* g-sechas.adb, g-sechas.ads: (Binary_Message_Digest): New subtype.
(Digest): New versions returning a Binary_Message_Digest.
(Wide_Digest): Likewise.

From-SVN: r192921

11 years ago[multiple changes]
Arnaud Charlet [Mon, 29 Oct 2012 10:21:52 +0000 (11:21 +0100)]
[multiple changes]

2012-10-29  Robert Dewar  <dewar@adacore.com>

* warnsw.adb: Complete previous change.

2012-10-29  Tristan Gingold  <gingold@adacore.com>

* bindgen.adb (Check_File_In_Partition, Check_System_Restrictions_Used):
Removed.
(Check_Dispatching_Domains_Used): Removed.
(Gen_Adafinal): Remove call to above procedures.
(Resolve_Binder_Options): Handle system restrictions and dispatching
domains.

2012-10-29  Tristan Gingold  <gingold@adacore.com>

* s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Remove
Chain parameter.
* exp_ch9.adb (Make_Task_Create_Call): Do not add Chain parameter
on restricted runtime.

2012-10-29  Pascal Obry  <obry@adacore.com>

* g-sechas.adb, g-sechas.ads: Minor code clean-up.

From-SVN: r192920

11 years ago[multiple changes]
Arnaud Charlet [Mon, 29 Oct 2012 10:17:29 +0000 (11:17 +0100)]
[multiple changes]

2012-10-29  Ed Schonberg  <schonberg@adacore.com>

* sem_aux.adb (Get_Rep_Item): Treat Priority and Interrupt_Priority
as equivalent, because only one of them can be specified for a
task, protected definition, or subprogram body.
* aspects.adb ((Same_Aspect): The canonical aspect of
Interrupt_Priority is Priority.

2012-10-29  Robert Dewar  <dewar@adacore.com>

* sem_ch13.adb: Minor reformatting.

2012-10-29  Robert Dewar  <dewar@adacore.com>

* i-cstrea.ads: Avoid redefinition of standard symbol string.
* prj-makr.adb: Add comment for OK redefinition of Stadard.
* prj.ads: Add comment for OK redefinition of Stadard.
* s-crtl.ads: Avoid redefinition of standard symbol string.
* sinfo-cn.adb (Change_Identifier_To_Defining_Identifier):
Generate warning for standard redefinition if
Warn_On_Standard_Definition set.
* usage.adb: Add lines for -gnatw.k and -gnatw.K
* warnsw.adb: Set/reset Warn_On_Standard_Redefinition
appropriately.
* warnsw.ads (Warn_On_Standard_Redefinition): New flag.
* s-stratt-xdr.adb: Avoid new warning.

2012-10-29  Ed Schonberg  <schonberg@adacore.com>

* exp_dbug.ads, exp_dbug.adb (Build_Subprogram_Instance_Renamings):
in the body of a subpogram instance, introduce local renamings
for actuals of an elementary type, so that GDB can recover the
values of these actuals more directly.

From-SVN: r192919

11 years ago[multiple changes]
Arnaud Charlet [Mon, 29 Oct 2012 10:07:33 +0000 (11:07 +0100)]
[multiple changes]

2012-10-29  Robert Dewar  <dewar@adacore.com>

* sem_ch5.adb (Analyze_Loop_Statement): Add warning for identical
inner/outer ranges.

2012-10-29  Robert Dewar  <dewar@adacore.com>

* einfo.ads: Change terminology "present" to "defined" in talking
about whether a given field is defined for a given entity kind.

2012-10-29  Bob Duff  <duff@adacore.com>

* atree.ads: Minor comment fix.

2012-10-29  Bob Duff  <duff@adacore.com>

* sem_ch13.adb (Replace_Type_Reference): Set_Comes_From_Source.
Otherwise, the node is ignored by ASIS.
* sem_ch5.adb: Minor reformatting.

2012-10-29  Thomas Quinot  <quinot@adacore.com>

* exp_attr.adb, exp_dist.adb, exp_dist.ads (Build_To_Any_Call): Pass
an explicit Loc parameter to set the source location of generated
nodes.

2012-10-29  Tristan Gingold  <gingold@adacore.com>

* exp_ch9.adb (Build_Task_Activation_Call): Do nothing on
restricted profile.
* bindgen.adb (System_Tasking_Restricted_Stages_Used): New variable.
(Gen_Adainit): Declare and call Activate_Tasks when the above variable
is set.
(Resolve_Binder_Options): Set the variable.
* rtsfind.ads (RE_Activate_Restricted_Tasks): Removed (now unused).
* s-tarest.adb (Tasks_Activation_Chain): New variable.
(Activate_Restricted_Tasks): Removed, and replaced by ...
(Activate_Tasks): New procedure, to activate all tasks at
the end of elaboration.
(Create_Restricted_Tasks): Chain parameter is now unreferenced. Put
the created task on the Tasks_Activation_Chain list.
* s-tarest.ads (Activate_Restricted_Tasks): Removed.
(Activate_Tasks): Added.

2012-10-29  Gary Dismukes  <dismukes@adacore.com>

* sem_res.adb (Resolve_If_Expression): Compare subtype of the 'then'
expression against the subtype of the expression rather than comparing
base types, same as is already done for the 'else' expression.

From-SVN: r192918

11 years ago[multiple changes]
Arnaud Charlet [Mon, 29 Oct 2012 10:02:16 +0000 (11:02 +0100)]
[multiple changes]

2012-10-29  Steve Baird  <baird@adacore.com>

* sem_ch13.adb (Analyze_Attribute_Definition_Clause): If CodePeer_Mode
= True and we detect that an Address specification is used to overlay
another object, do not set that object's Treat_As_Volatile flag.

2012-10-29  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Constant_Redeclaration): If the type of a
deferred constant has invariants, generate invariant call on
the initial value.

From-SVN: r192917

11 years agosem_ch13.adb (Replace_Type_Reference): Use correct sloc for the new node.
Bob Duff [Mon, 29 Oct 2012 10:00:24 +0000 (10:00 +0000)]
sem_ch13.adb (Replace_Type_Reference): Use correct sloc for the new node.

2012-10-29  Bob Duff  <duff@adacore.com>

* sem_ch13.adb (Replace_Type_Reference): Use correct sloc for
the new node.

From-SVN: r192916

11 years ago[multiple changes]
Arnaud Charlet [Mon, 29 Oct 2012 09:58:27 +0000 (10:58 +0100)]
[multiple changes]

2012-10-29  Thomas Quinot  <quinot@adacore.com>

* sem_elab.adb: Minor reformatting and code reorganization.

2012-10-29  Robert Dewar  <dewar@adacore.com>

* par-ch4.adb (P_Primary): Warn on bad use of unary minus.

2012-10-29  Robert Dewar  <dewar@adacore.com>

* s-valuti.ads, s-valuti.adb (Bad_Value): New procedure.
* s-valllu.adb, s-valwch.adb, s-valcha.adb, s-valint.adb,
s-valuns.adb, s-valrea.adb, s-valboo.adb, s-valenu.adb,
s-vallli.adb: Use Bad_Value everywhere.

2012-10-29  Yannick Moy  <moy@adacore.com>

* gnat1drv.adb (Adjust_Global_Switches): Do not suppress checks
in Alfa mode.

From-SVN: r192915

11 years ago[multiple changes]
Arnaud Charlet [Mon, 29 Oct 2012 09:55:29 +0000 (10:55 +0100)]
[multiple changes]

2012-10-29  Yannick Moy  <moy@adacore.com>

* checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
Add special case for case expression alternative.
(Is_Signed_Integer_Arithmetic_Op): Remove special case for case
expression alternative.
* exp_ch4.adb Minor reformatting.

2012-10-29  Thomas Quinot  <quinot@adacore.com>

* sem_elab.adb: Minor reformatting.

2012-10-29  Bob Duff  <duff@adacore.com>

* sem_res.adb: Minor: Remove redundant test.

From-SVN: r192914

11 years ago* adabkend.ads, adabkend.adb, aa_util.ads, aa_util.adb: New.
Arnaud Charlet [Mon, 29 Oct 2012 09:50:53 +0000 (09:50 +0000)]
* adabkend.ads, adabkend.adb, aa_util.ads, aa_util.adb: New.

From-SVN: r192913

11 years agoMove entry to right ChangeLog.
Eric Botcazou [Mon, 29 Oct 2012 09:46:52 +0000 (09:46 +0000)]
Move entry to right ChangeLog.

From-SVN: r192912

11 years agoi386.c (ix86_decompose_address): Use simplify_subreg instead of simplify_gen_subreg.
Uros Bizjak [Mon, 29 Oct 2012 09:08:19 +0000 (10:08 +0100)]
i386.c (ix86_decompose_address): Use simplify_subreg instead of simplify_gen_subreg.

* config/i386/i386.c (ix86_decompose_address): Use simplify_subreg
instead of simplify_gen_subreg.

From-SVN: r192910

11 years ago* pprint.ads, pprint.adb: New.
Arnaud Charlet [Mon, 29 Oct 2012 08:17:50 +0000 (08:17 +0000)]
* pprint.ads, pprint.adb: New.

From-SVN: r192909

11 years agoi386.c (ix86_decompose_address): Use simplify_gen_subreg to generate SImode equivalen...
Uros Bizjak [Mon, 29 Oct 2012 08:03:47 +0000 (09:03 +0100)]
i386.c (ix86_decompose_address): Use simplify_gen_subreg to generate SImode equivalent of address...

* config/i386/i386.c (ix86_decompose_address): Use simplify_gen_subreg
to generate SImode equivalent of address, zero-extended with AND RTX.
* config/i386/i386.md (ashift to lea splitter): Split to SImode mult.
(simple lea to add/shift peephole2s): Remove peephole2s that operate
on subregs of DImode operations.

From-SVN: r192908

11 years agore PR rtl-optimization/55106 (ice: Maximum number of LRA constraint passes is achieve...
Vladimir Makarov [Mon, 29 Oct 2012 00:42:25 +0000 (00:42 +0000)]
re PR rtl-optimization/55106 (ice: Maximum number of LRA constraint passes is achieved (15))

2012-10-28  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/55106
* lra-constraints.c (skip_usage_debug_insns): New function.
(check_secondary_memory_needed_p): Ditto.
(inherit_reload_reg): Use the new functions.  Improve debug
output.

From-SVN: r192904

11 years agoDaily bump.
GCC Administrator [Mon, 29 Oct 2012 00:18:42 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r192903

11 years ago* doc/cpp.texi (Search Path): Fix outdated C++ path.
Jonathan Wakely [Mon, 29 Oct 2012 00:17:31 +0000 (00:17 +0000)]
* doc/cpp.texi (Search Path): Fix outdated C++ path.

From-SVN: r192901

11 years agoipa-inline-analysis.c (eliminated_by_inlining_prob): Handle &this->field expressions.
Jan Hubicka [Sun, 28 Oct 2012 23:59:31 +0000 (00:59 +0100)]
ipa-inline-analysis.c (eliminated_by_inlining_prob): Handle &this->field expressions.

* ipa-inline-analysis.c (eliminated_by_inlining_prob): Handle
&this->field expressions.

From-SVN: r192899

11 years agovxworks fixups
Robert Mason [Sun, 28 Oct 2012 21:42:48 +0000 (21:42 +0000)]
vxworks fixups

From-SVN: r192898

11 years agortl.h (struct rtx_def): Add a comment for member unchanging.
Vladimir Makarov [Sun, 28 Oct 2012 20:02:59 +0000 (20:02 +0000)]
rtl.h (struct rtx_def): Add a comment for member unchanging.

2012-10-28  Vladimir Makarov  <vmakarov@redhat.com>

* rtl.h (struct rtx_def): Add a comment for member unchanging.
* lra-int.h (LRA_TEMP_CLOBBER_P): New macro.
(lra_hard_reg_substitution): Rename to lra_final_code_change.
* lra-constraints.c (match_reload): Mark temporary clobbers.
* lra-spill.c (lra_hard_reg_substitution): Rename to
lra_final_code_change.  Remove temporary clobbers.
* lra.c (lra): Rename to lra_final_code_change.

From-SVN: r192897

11 years agore PR fortran/54958 (Wrongly rejects ac-implied-DO variables which also occur with...
Tobias Burnus [Sun, 28 Oct 2012 16:57:12 +0000 (17:57 +0100)]
re PR fortran/54958 (Wrongly rejects ac-implied-DO variables which also occur with INTENT(IN))

2012-10-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54958
        * gfortran.h (gfc_resolve_iterator_expr,
        gfc_check_vardef_context): Update prototype.
        * expr.c (gfc_check_vardef_context): Add own_scope
        argument and honour it.
        * resolve.c (gfc_resolve_iterator_expr): Add own_scope
        argument and honour it.
        (resolve_deallocate_expr, resolve_allocate_expr,
        resolve_data_variables, resolve_transfer
        resolve_lock_unlock, resolve_code): Update calls.
        * array.c (resolve_array_list): Ditto.
        * check.c (gfc_check_atomic_def, gfc_check_atomic_ref): Ditto.
        * interface.c (compare_actual_formal): Ditto.
        * intrinsic.c (check_arglist): Ditto.
        * io.c (resolve_tag, gfc_resolve_dt, gfc_resolve_inquire):
        * Ditto.

2012-10-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54958
        * gfortran.dg/do_check_6.f90: New.

From-SVN: r192896

11 years agobessel.m4: Remove useless statement.
Tobias Burnus [Sun, 28 Oct 2012 16:54:44 +0000 (17:54 +0100)]
bessel.m4: Remove useless statement.

2012-10-28  Tobias Burnus  <burnus@net-b.de>

         * m4/bessel.m4: Remove useless statement.
         * m4/ifunction.m4: Remove unreachable code.
         * generated/bessel_r10.c: Regenerated.
         * generated/bessel_r16.c: Regenerated.
         * generated/bessel_r4.c: Regenerated.
         * generated/bessel_r8.c: Regenerated.
         * generated/iall_i1.c: Regenerated.
         * generated/iall_i16.c: Regenerated.
         * generated/iall_i2.c: Regenerated.
         * generated/iall_i4.c: Regenerated.
         * generated/iall_i8.c: Regenerated.
         * generated/iany_i1.c: Regenerated.
         * generated/iany_i16.c: Regenerated.
         * generated/iany_i2.c: Regenerated.
         * generated/iany_i4.c: Regenerated.
         * generated/iany_i8.c: Regenerated.
         * generated/iparity_i1.c: Regenerated.
         * generated/iparity_i16.c: Regenerated.
         * generated/iparity_i2.c: Regenerated.
         * generated/iparity_i4.c: Regenerated.
         * generated/iparity_i8.c: Regenerated.
         * generated/maxloc1_16_i1.c: Regenerated.
         * generated/maxloc1_16_i16.c: Regenerated.
         * generated/maxloc1_16_i2.c: Regenerated.
         * generated/maxloc1_16_i4.c: Regenerated.
         * generated/maxloc1_16_i8.c: Regenerated.
         * generated/maxloc1_16_r10.c: Regenerated.
         * generated/maxloc1_16_r16.c: Regenerated.
         * generated/maxloc1_16_r4.c: Regenerated.
         * generated/maxloc1_16_r8.c: Regenerated.
         * generated/maxloc1_4_i1.c: Regenerated.
         * generated/maxloc1_4_i16.c: Regenerated.
         * generated/maxloc1_4_i2.c: Regenerated.
         * generated/maxloc1_4_i4.c: Regenerated.
         * generated/maxloc1_4_i8.c: Regenerated.
         * generated/maxloc1_4_r10.c: Regenerated.
         * generated/maxloc1_4_r16.c: Regenerated.
         * generated/maxloc1_4_r4.c: Regenerated.
         * generated/maxloc1_4_r8.c: Regenerated.
         * generated/maxloc1_8_i1.c: Regenerated.
         * generated/maxloc1_8_i16.c: Regenerated.
         * generated/maxloc1_8_i2.c: Regenerated.
         * generated/maxloc1_8_i4.c: Regenerated.
         * generated/maxloc1_8_i8.c: Regenerated.
         * generated/maxloc1_8_r10.c: Regenerated.
         * generated/maxloc1_8_r16.c: Regenerated.
         * generated/maxloc1_8_r4.c: Regenerated.
         * generated/maxloc1_8_r8.c: Regenerated.
         * generated/maxval_i1.c: Regenerated.
         * generated/maxval_i16.c: Regenerated.
         * generated/maxval_i2.c: Regenerated.
         * generated/maxval_i4.c: Regenerated.
         * generated/maxval_i8.c: Regenerated.
         * generated/maxval_r10.c: Regenerated.
         * generated/maxval_r16.c: Regenerated.
         * generated/maxval_r4.c: Regenerated.
         * generated/maxval_r8.c: Regenerated.
         * generated/minloc1_16_i1.c: Regenerated.
         * generated/minloc1_16_i16.c: Regenerated.
         * generated/minloc1_16_i2.c: Regenerated.
         * generated/minloc1_16_i4.c: Regenerated.
         * generated/minloc1_16_i8.c: Regenerated.
         * generated/minloc1_16_r10.c: Regenerated.
         * generated/minloc1_16_r16.c: Regenerated.
         * generated/minloc1_16_r4.c: Regenerated.
         * generated/minloc1_16_r8.c: Regenerated.
         * generated/minloc1_4_i1.c: Regenerated.
         * generated/minloc1_4_i16.c: Regenerated.
         * generated/minloc1_4_i2.c: Regenerated.
         * generated/minloc1_4_i4.c: Regenerated.
         * generated/minloc1_4_i8.c: Regenerated.
         * generated/minloc1_4_r10.c: Regenerated.
         * generated/minloc1_4_r16.c: Regenerated.
         * generated/minloc1_4_r4.c: Regenerated.
         * generated/minloc1_4_r8.c: Regenerated.
         * generated/minloc1_8_i1.c: Regenerated.
         * generated/minloc1_8_i16.c: Regenerated.
         * generated/minloc1_8_i2.c: Regenerated.
         * generated/minloc1_8_i4.c: Regenerated.
         * generated/minloc1_8_i8.c: Regenerated.
         * generated/minloc1_8_r10.c: Regenerated.
         * generated/minloc1_8_r16.c: Regenerated.
         * generated/minloc1_8_r4.c: Regenerated.
         * generated/minloc1_8_r8.c: Regenerated.
         * generated/minval_i1.c: Regenerated.
         * generated/minval_i16.c: Regenerated.
         * generated/minval_i2.c: Regenerated.
         * generated/minval_i4.c: Regenerated.
         * generated/minval_i8.c: Regenerated.
         * generated/minval_r10.c: Regenerated.
         * generated/minval_r16.c: Regenerated.
         * generated/minval_r4.c: Regenerated.
         * generated/minval_r8.c: Regenerated.
         * generated/product_c10.c: Regenerated.
         * generated/product_c16.c: Regenerated.
         * generated/product_c4.c: Regenerated.
         * generated/product_c8.c: Regenerated.
         * generated/product_i1.c: Regenerated.
         * generated/product_i16.c: Regenerated.
         * generated/product_i2.c: Regenerated.
         * generated/product_i4.c: Regenerated.
         * generated/product_i8.c: Regenerated.
         * generated/product_r10.c: Regenerated.
         * generated/product_r16.c: Regenerated.
         * generated/product_r4.c: Regenerated.
         * generated/product_r8.c: Regenerated.
         * generated/sum_c10.c: Regenerated.
         * generated/sum_c16.c: Regenerated.
         * generated/sum_c4.c: Regenerated.
         * generated/sum_c8.c: Regenerated.
         * generated/sum_i1.c: Regenerated.
         * generated/sum_i16.c: Regenerated.
         * generated/sum_i2.c: Regenerated.
         * generated/sum_i4.c: Regenerated.
         * generated/sum_i8.c: Regenerated.
         * generated/sum_r10.c: Regenerated.
         * generated/sum_r16.c: Regenerated.
         * generated/sum_r4.c: Regenerated.
         * generated/sum_r8.c: Regenerated.

From-SVN: r192895

11 years agore PR libstdc++/55041 (prettyprinting/shared_ptr & cxx11 fails on some platforms)
Jonathan Wakely [Sun, 28 Oct 2012 13:20:31 +0000 (13:20 +0000)]
re PR libstdc++/55041 (prettyprinting/shared_ptr & cxx11 fails on some platforms)

PR libstdc++/55041
* python/libstdcxx/v6/printers.py (Tr1UnorderedMapPrinter): Update
to handle hashtable as member of unordered_map not base class.
(Tr1UnorderedSetPrinter): Likewise.

From-SVN: r192894

11 years agoinlinehint-3.c: New testcase.
Jan Hubicka [Sun, 28 Oct 2012 12:00:32 +0000 (13:00 +0100)]
inlinehint-3.c: New testcase.

* gcc.dg/ipa/inlinehint-3.c: New testcase.
* ipa-inline.c (edge_badness): Fix overflow.
(inline_small_functions): Initialize SCCs correctly.
(do_estimate_edge_time, do_estimate_edge_hints): Skip self
recursive functions in SCC hints.

From-SVN: r192891

11 years agore PR rtl-optimization/38711 (ira should not be using df-lr except at -O1.)
Steven Bosscher [Sun, 28 Oct 2012 11:52:11 +0000 (11:52 +0000)]
re PR rtl-optimization/38711 (ira should not be using df-lr except at -O1.)

PR rtl-optimization/38711
* ira.c (ira): Remove DF_LIVE if the problem is in the stack.
(do_reload): Add it back at the end for -O2 and higher.

* function.c (thread_prologue_and_epilogue_insns): Use
REG_SET_TO_HARD_REG_SET instead of CLEAR_HARD_REG_SET and
reg_set_to_hard_reg_set.

From-SVN: r192890

11 years agoFix previous commit.
Jan Hubicka [Sun, 28 Oct 2012 09:58:38 +0000 (09:58 +0000)]
Fix previous commit.

From-SVN: r192889

11 years agoipa-inline.c (edge_badness): Reduce precision; use scc hints.
Jan Hubicka [Sun, 28 Oct 2012 09:50:58 +0000 (10:50 +0100)]
ipa-inline.c (edge_badness): Reduce precision; use scc hints.

* ipa-inline.c (edge_badness): Reduce precision; use scc hints.
(inline_small_functions): Fix dumps; update all callees after inlining.
* ipa-inline.h (INLINE_HINT_in_scc, INLINE_HINT_same_scc): New constants.
(inline summary): Add SCC_NO.
* ipa-inline-analysis.c (dump_inline_hints): Dump SCC hints.
(reset_inline_summary): Reset scc_no.
(estimate_node_size_and_time): Set in_scc hint.
(do_estimate_edge_time): Add same_scc hint.
(do_estimate_edge_hints): Likewise.

From-SVN: r192888

11 years agocppopts.texi: Fix use of @item vs.
Andreas Schwab [Sun, 28 Oct 2012 09:19:54 +0000 (09:19 +0000)]
cppopts.texi: Fix use of @item vs.

* doc/cppopts.texi: Fix use of @item vs. @itemx inside @table.
* doc/extend.texi: Likewise.
* doc/generic.texi: Likewise.
* doc/invoke.texi: Likewise.
* doc/md.texi: Likewise.
* doc/sourcebuild.texi: Likewise.

From-SVN: r192887

11 years agotm.texi.in (Misc): Add newline before @end.
Andreas Schwab [Sun, 28 Oct 2012 08:41:31 +0000 (08:41 +0000)]
tm.texi.in (Misc): Add newline before @end.

* doc/tm.texi.in (Misc): Add newline before @end.
* doc/tm.texi: Update.

From-SVN: r192886

11 years agoDaily bump.
GCC Administrator [Sun, 28 Oct 2012 00:18:24 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r192884

11 years ago* lra-assigns.c (find_hard_regno_for): Fix use of WORDS_BIG_ENDIAN.
Joern Rennecke [Sat, 27 Oct 2012 15:30:31 +0000 (15:30 +0000)]
* lra-assigns.c (find_hard_regno_for): Fix use of WORDS_BIG_ENDIAN.

From-SVN: r192879

11 years agore PR target/55034 (avr.c:2877:7: error: variable ‘regno_dest’ set but not used)
Georg-Johann Lay [Sat, 27 Oct 2012 14:03:10 +0000 (14:03 +0000)]
re PR target/55034 (avr.c:2877:7: error: variable ‘regno_dest’ set but not used)

PR target/55034
* config/avr/avr.c (avr_out_lpm): Remove unused regno_dest.

From-SVN: r192878

11 years agore PR target/55042 (sh.c:11586:1: error: ‘bool sh1_builtin_p()’ defined but not used)
Oleg Endo [Sat, 27 Oct 2012 13:36:20 +0000 (13:36 +0000)]
re PR target/55042 (sh.c:11586:1: error: ‘bool sh1_builtin_p()’ defined but not used)

PR target/55042
* config/sh/sh.c (sh1_builtin_p): Comment out unused function.

From-SVN: r192877

11 years agounordered_map.h (unordered_map<>): Prefer aggregation to inheritance with _Hashtable.
François Dumont [Sat, 27 Oct 2012 12:20:18 +0000 (12:20 +0000)]
unordered_map.h (unordered_map<>): Prefer aggregation to inheritance with _Hashtable.

2012-10-27  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/unordered_map.h (unordered_map<>): Prefer
aggregation to inheritance with _Hashtable.
(unordered_multimap<>): Likewise.
* include/bits/unordered_set.h
(unordered_set<>(const unordered_set&)):  Use default
implementation.
(unordered_set<>(unordered_set&&)): Likewise.
(unordered_set<>::operator=(const unordered_set&)): Likewise.
(unordered_set<>::operator=(unordered_set&&)): Likewise.
(unordered_multiset<>(const unordered_multiset&)): Likewise.
(unordered_multiset<>(unordered_multiset&&)): Likewise.
(unordered_multiset<>::operator=(const unordered_multiset&)):
Likewise.
(unordered_multiset<>::operator=(unordered_multiset&&)): Likewise.
* include/debug/unordered_map (operator==): Adapt.
* include/profile/unordered_map (operator==): Adapt.

From-SVN: r192876

11 years agotrans.c (gfc_allocate_allocatable): Revert accidental commit.
Thomas Koenig [Sat, 27 Oct 2012 12:07:26 +0000 (12:07 +0000)]
trans.c (gfc_allocate_allocatable): Revert accidental commit.

2012-10-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

* trans.c (gfc_allocate_allocatable):  Revert accidental
commit.

From-SVN: r192875

11 years agore PR target/54404 (*cfstring* failures for (obj-c|g)++ on *-apple-darwin* after...
Dominique d'Humieres [Sat, 27 Oct 2012 11:31:06 +0000 (11:31 +0000)]
re PR target/54404 (*cfstring* failures for (obj-c|g)++ on *-apple-darwin* after revision 186978)

gcc/testsuite:
2012-10-27  Dominique Dhumieres  <dominiq@lps.ens.fr>
    Jack Howarth <howarth@bromo.med.uc.edu>

PR target/54404
* g++.dg/other/darwin-cfstring1.C: Add -ftrack-macro-expansion=0
to dg-options.
* obj-c++.dg/strings/const-cfstring-2.mm: Likewise.

Co-Authored-By: Jack Howarth <howarth@bromo.med.uc.edu>
From-SVN: r192874

11 years agoi386.md (*lea<mode>): Remove unneeded temporary.
Uros Bizjak [Sat, 27 Oct 2012 09:27:54 +0000 (11:27 +0200)]
i386.md (*lea<mode>): Remove unneeded temporary.

* config/i386/i386.md (*lea<mode>): Remove unneeded temporary.

From-SVN: r192873

11 years agore PR rtl-optimization/34283 (Non-optimal reload register used)
Uros Bizjak [Sat, 27 Oct 2012 07:48:55 +0000 (09:48 +0200)]
re PR rtl-optimization/34283 (Non-optimal reload register used)

PR target/34283
* gcc.target/i386/pr34283.c: New test.

From-SVN: r192872

11 years agoUpdate sparc constraint comments and documentation.
David S. Miller [Sat, 27 Oct 2012 02:57:50 +0000 (02:57 +0000)]
Update sparc constraint comments and documentation.

* config/sparc/constraints.md: Update unused letter list, move
"w" near other memory constraints.  Remove no longer relevant
comment.
* doc/md.texi: Sync sparc constraint documentation with reality.

From-SVN: r192871

11 years agoDaily bump.
GCC Administrator [Sat, 27 Oct 2012 00:18:35 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r192870

11 years agorl78.c (rl78_as_legitimate_address): Do not allow reg+addend addresses for the _far...
DJ Delorie [Fri, 26 Oct 2012 23:11:02 +0000 (19:11 -0400)]
rl78.c (rl78_as_legitimate_address): Do not allow reg+addend addresses for the _far namespace.

* config/rl78/rl78.c (rl78_as_legitimate_address): Do not allow
reg+addend addresses for the _far namespace.

From-SVN: r192866

11 years agosync.md (ATOMIC): Correct DI condition.
Segher Boessenkool [Fri, 26 Oct 2012 22:02:41 +0000 (00:02 +0200)]
sync.md (ATOMIC): Correct DI condition.

gcc/
* config/rs6000/sync.md (ATOMIC): Correct DI condition.

From-SVN: r192863

11 years agore PR c++/55081 (Non-optimized static array elements initialization)
Jakub Jelinek [Fri, 26 Oct 2012 20:30:35 +0000 (22:30 +0200)]
re PR c++/55081 (Non-optimized static array elements initialization)

PR c++/55081
* typeck2.c (store_init_value): Call fold_non_dependent_expr
and maybe_constant_init even for C++98.

* g++.dg/opt/pr55081.C: New test.

From-SVN: r192862

11 years agore PR other/55087 (bogus "linux-vdso.so.1: No such file or directory" caused by libba...
Ian Lance Taylor [Fri, 26 Oct 2012 20:08:29 +0000 (20:08 +0000)]
re PR other/55087 (bogus "linux-vdso.so.1: No such file or directory" caused by libbacktrace)

PR other/55087
* posix.c (backtrace_open): Add does_not_exist parameter.
* elf.c (phdr_callback): Do not warn if shared library could not
be opened.
* fileline.c (fileline_initialize): Update calls to
backtrace_open.
* internal.h (backtrace_open): Update declaration.

From-SVN: r192861

11 years agore PR debug/54970 (Missing DW_OP_GNU_implicit_pointer in debuginfo)
Jakub Jelinek [Fri, 26 Oct 2012 19:19:25 +0000 (21:19 +0200)]
re PR debug/54970 (Missing DW_OP_GNU_implicit_pointer in debuginfo)

PR debug/54970
* cfgexpand.c (expand_debug_expr): Expand &MEM_REF[&var, n]
as DEBUG_IMPLICIT_PTR + n if &var expands to DEBUG_IMPLICIT_PTR.
* tree-sra.c (create_access_replacement): Allow also MEM_REFs
with ADDR_EXPR first operand in DECL_DEBUG_EXPR expressions.
* var-tracking.c (track_expr_p): Handle MEM_REFs in DECL_DEBUG_EXPR
expressions.
* dwarf2out.c (add_var_loc_to_decl): Likewise.

PR debug/54971
* gcc.dg/guality/pr54970.c: New test.

From-SVN: r192860

11 years agoUpdate copyright
Andreas Schwab [Fri, 26 Oct 2012 19:12:45 +0000 (19:12 +0000)]
Update copyright

From-SVN: r192859

11 years agoChangeLog: Fix whitespace.
Uros Bizjak [Fri, 26 Oct 2012 18:36:38 +0000 (20:36 +0200)]
ChangeLog: Fix whitespace.

        * ChangeLog: Fix whitespace.
        * testsute/ChangeLog: Ditto.

From-SVN: r192856

11 years agocrtfastmath.c (set_fast_math): Use __builtin_ia32_fxsave.
Uros Bizjak [Fri, 26 Oct 2012 17:54:50 +0000 (19:54 +0200)]
crtfastmath.c (set_fast_math): Use __builtin_ia32_fxsave.

* config/i386/crtfastmath.c (set_fast_math): Use __builtin_ia32_fxsave.
Clear only fxsave.mxcsr_mask.  Use saved mxcsr from fxsave structure
when appropriate.  Correct structure element types.
* config/i386/t-crtfm (crtfastmath.o): Compile with -mfxsr, remove
-minline-all-stringops from compile flags.

From-SVN: r192855

11 years agosyscall: fix creds_test to reliably close os.File
Ian Lance Taylor [Fri, 26 Oct 2012 17:50:10 +0000 (17:50 +0000)]
syscall: fix creds_test to reliably close os.File

Uncovered by Uros Bizjak.

Before this patch the test would close the file descriptor but
not the os.File.  When the os.File was GC'ed, the finalizer
would close the file descriptor again.  That would cause
problems if the same file descriptor were returned by a later
call to open in another test.

On my system:

> GOGC=30 go test
--- FAIL: TestPassFD (0.04 seconds)
passfd_test.go:62:  FileConn: dup: bad file descriptor
FAIL

From-SVN: r192854

11 years agore PR target/55061 (libbacktrace build fails during bootstrap on powerpc-apple-darwin9)
Jack Howarth [Fri, 26 Oct 2012 17:34:59 +0000 (17:34 +0000)]
re PR target/55061 (libbacktrace build fails during bootstrap on powerpc-apple-darwin9)

PR target/55061
* configure.ac: Check for _Unwind_GetIPInfo function declaration.
* configure: Regenerate.

From-SVN: r192853

11 years ago* tree-ssa-threadedge.c (cond_arg_set_in_bb): Use last stmt.
Jeff Law [Fri, 26 Oct 2012 17:33:11 +0000 (11:33 -0600)]
* tree-ssa-threadedge.c (cond_arg_set_in_bb): Use last stmt.

From-SVN: r192852

11 years agoAuthor: Gunther Nikl <gnikl@users.sourceforge.net>
Gunther Nikl [Fri, 26 Oct 2012 17:29:06 +0000 (17:29 +0000)]
Author: Gunther Nikl <gnikl@users.sourceforge.net>

* common/config/m68k/m68k-common.c (m68k_handle_option): Set
gcc_options fields of opts_set for -m68020-40 and -m68020-60.

From-SVN: r192851

11 years agoAvoid conservative behavior in REE by allowing removal of redundant extends when...
Teresa Johnson [Fri, 26 Oct 2012 17:19:35 +0000 (17:19 +0000)]
Avoid conservative behavior in REE by allowing removal of redundant extends when...

Avoid conservative behavior in REE by allowing removal of redundant extends
when the def feeds another extend with a different mode. This works because
in merge_def_and_ext only calls combine_set_extension if the candidate for
removal has a wider mode than the def extend's mode, otherwise the def extend
mode is preserved. In combine_set_extension the def is modified to use the
wider candidate's mode.

2012-10-26  Teresa Johnson  <tejohnson@google.com>

* ree.c (add_removable_extension): Remove unnecessary
mode check with other extension.
* testsuite/gcc.c-torture/execute/20111227-2.c: New test.
* testsuite/gcc.c-torture/execute/20111227-3.c: Ditto.

From-SVN: r192850

11 years agoipa-inline-transform.c (inline_call): Only account size changes for !DECL_EXTERNAL.
Jan Hubicka [Fri, 26 Oct 2012 16:52:09 +0000 (18:52 +0200)]
ipa-inline-transform.c (inline_call): Only account size changes for !DECL_EXTERNAL.

* ipa-inline-transform.c (inline_call): Only account size changes
for !DECL_EXTERNAL.

From-SVN: r192849

11 years agore PR debug/54971 (SRA pessimizes debug info by not creating debug stmts for fields...
Martin Jambor [Fri, 26 Oct 2012 16:13:00 +0000 (18:13 +0200)]
re PR debug/54971 (SRA pessimizes debug info by not creating debug stmts for fields without replacements)

2012-10-26  Martin Jambor  <mjambor@suse.cz>

PR debug/54971
* tree-sra.c (struct access): New flag grp_to_be_debug_replaced.
(dump_access): Dump the new flag.
(analyze_access_subtree): Set the new flag when appropriate.
(create_access_replacement): Handle debug replacements differently.
(generate_subtree_copies): Handle the grp_to_be_debug_replaced flag.
(init_subtree_with_zero): Likewise.
(sra_modify_expr): Likewise.
(load_assign_lhs_subreplacements): Likewise.
(sra_modify_assign): Likewise.

From-SVN: r192848

11 years agore PR c++/54984 (Array allocated with new in a template class is default initialised)
Paolo Carlini [Fri, 26 Oct 2012 14:03:32 +0000 (14:03 +0000)]
re PR c++/54984 (Array allocated with new in a template class is default initialised)

/cp
2012-10-26  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54984
* init.c (build_new): Don't turn a null *init into a pointer to
empty vector orig_init.

/testsuite
2012-10-26  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54984
* g++.dg/template/new11.C: New.

From-SVN: r192846

11 years agoi386.c (insn_is_function_arg): Add check on CALL instruction.
Yuri Rumyantsev [Fri, 26 Oct 2012 12:07:58 +0000 (12:07 +0000)]
i386.c (insn_is_function_arg): Add check on CALL instruction.

        * config/i386/i386.c (insn_is_function_arg) : Add check on CALL
        instruction.
        (ix86_dependencies_evaluation_hook): Insert dependencies in all
        predecessors of call block for non-trivial region avoiding creation
        of loop-carried dependency to avoid cross-block motion of HW registers.

From-SVN: r192842

11 years agore PR tree-optimization/54824 (ICE in verify_loop_structure)
Richard Biener [Fri, 26 Oct 2012 10:12:35 +0000 (10:12 +0000)]
re PR tree-optimization/54824 (ICE in verify_loop_structure)

2012-10-26  Richard Biener  <rguenther@suse.de>

PR middle-end/54824
* tree-optimize.c (execute_fixup_cfg): Insert __builtin_unreachable
at the end of blocks with no successors.

* gcc.dg/torture/pr54824.c: New testcase.

From-SVN: r192841

11 years agoChangeLog/
Alexander Ivchenko [Fri, 26 Oct 2012 09:45:46 +0000 (09:45 +0000)]
ChangeLog/
        * gcc/common/config/i386/i386-common.c
        (OPTION_MASK_ISA_FXSR_SET): New.
        (OPTION_MASK_ISA_XSAVE_SET): Likewise.
        (OPTION_MASK_ISA_XSAVEOPT_SET): Likewise.
        (ix86_handle_option): Handle mfxsr, mxsave, mxsaveopt options.
        * gcc/config.gcc (i[34567]86-*-*): Add fxsrintrin.h,
        xsaveintrin.h, xsaveoptintrin.h.
        (x86_64-*-*): Likewise.
        * config/i386/fxsrintrin.h: New header.
        * config/i386/xsaveintrin.h: Likewise.
        * config/i386/xsaveoptintrin.h: Likewise.
        * gcc/config/i386/driver-i386.c (host_detect_local_cpu): Detect
        FXSR/XSAVE/XSAVEOPT support.
        * gcc/config/i386/i386-builtin-types.def
        (VOID_FTYPE_PVOID_INT64): New function type.
        * gcc/config/i386/i386-c.c: Define __FXSR__, __XSAVE__
        and __XSAVEOPT__ if needed.
        * gcc/config/i386/i386.c (ix86_target_string): Define -mfxsr,
         -mxsave and -mxsaveopt options.
        (PTA_FXSR): New.
        (PTA_XSAVE): Likewise.
        (PTA_XSAVEOPT): Likewise.
        (ix86_option_override_internal): Handle new option.
        (processor_alias_table): Added PTA_FXSR, PTA_XSAVE, PTA_XSAVEOPT.
        (ix86_valid_target_attribute_inner_p): Add OPT_mfxsr,
        OPT_mxsave, OPT_mxsaveopt.
        (ix86_builtins): Add IX86_BUILTIN_FXSAVE, IX86_BUILTIN_FXRSTOR,
        IX86_BUILTIN_FXSAVE64, IX86_BUILTIN_XSAVE, IX86_BUILTIN_XSAVE64,
        IX86_BUILTIN_XRSTOR, IX86_BUILTIN_XRSTOR64, IX86_BUILTIN_XSAVEOPT,
        IX86_BUILTIN_XSAVEOPT64.
        (ix86_expand_builtin): Handle these built-ins.
        * gcc/config/i386/i386.h (TARGET_FXSR): New.
        (TARGET_XSAVE): Likewise.
        (TARGET_XSAVEOPT): Likewise.
        * gcc/config/i386/i386.md (ANY_XSAVE): New int iterator.
        (ANY_XSAVE64): Likewise.
        (xsave): New int attribute.
        (fxsave): New instruction.
        (fxsave64): Likewise.
        (fxrstor): Likewise.
        (fxrstor64): Likewise.
        (<xsave>): Likewise.
        (<xsave>_rex64): Likewise.
        (xrstor): Likewise.
        (xrstor_rex64): Likewise.
        (xrstor64): Likewise.
        * gcc/config/i386/i386.opt (mfxsr): New.
        (mxsave): Likewise.
        (mxsaveopt): Likewise.
        * gcc/config/i386/x86intrin.h: Include
        xsaveintrin.h, fxsrintrin.h, xsaveoptintrin.h.

testsuite/ChangeLog
        * gcc.target/i386/fxsave-1.c: New.
        * gcc.target/i386/fxsave64-1.c: Ditto.
        * gcc.target/i386/fxrstor-1.c: Ditto.
        * gcc.target/i386/fxrstor64-1.c: Ditto.
        * gcc.target/i386/xsave-1.c: Ditto.
        * gcc.target/i386/xsave64-1.c: Ditto.
        * gcc.target/i386/xrstor-1.c: Ditto.
        * gcc.target/i386/xrstor64-1.c: Ditto.
        * gcc.target/i386/xsaveopt-1.c: Ditto.
        * gcc.target/i386/xsaveopt64-1.c: Ditto.
        * gcc.target/i386/sse-12.c: Add -mfxsr, -mxsaveopt.
        * gcc.target/i386/sse-13.c: Ditto.
        * gcc.target/i386/sse-14.c: Ditto.
        * gcc.target/i386/sse-22.c: Ditto.
        * gcc.target/i386/sse-23.c: Ditto.
        * g++.dg/other/i386-2.C: Ditto.
        * g++.dg/other/i386-3.C: Ditto.

Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r192840

11 years agot-rtems: Revert previous commit.
Ralf Corsepius [Fri, 26 Oct 2012 08:07:52 +0000 (10:07 +0200)]
t-rtems: Revert previous commit.

2012-10-26  Ralf Corsépius  <ralf.corsepius@rtems.org>

* config/avr/t-rtems: Revert previous commit.

From-SVN: r192838

11 years agore PR bootstrap/55049 (bootstrap failed with --with-multilib-list=m32,m64,mx32)
Richard Sandiford [Fri, 26 Oct 2012 06:41:53 +0000 (06:41 +0000)]
re PR bootstrap/55049 (bootstrap failed with  --with-multilib-list=m32,m64,mx32)

gcc/
PR bootstrap/55049
* Makefile.in (rtlanal.o): Add dependency on addresses.h.
* rtl.h (address_info): New structure.
(strip_address_mutations, decompose_address, decompose_lea_address)
(decompose_mem_address, update_address, get_index_scale)
(get_index_code): Declare.
* rtlanal.c: Include addresses.h.
(strip_address_mutations, must_be_base_p, must_be_index_p)
(set_address_segment, set_address_base, set_address_index)
(set_address_disp, decompose_incdec_address, decompose_automod_address)
(extract_plus_operands, baseness, decompose_normal_address)
(decompose_address, decompose_lea_address, decompose_mem_address)
(update_address, get_index_scale, get_index_code): New functions.
* lra-constraints.c (strip_subreg): New function.
(address, extract_loc_address_regs, extract_address_regs)
(get_index_scale): Delete.
(process_addr_reg): Apply strip_subreg to the location.
(uses_hard_regs_p): Use decompose_mem_address.
(valid_address_p, base_plus_disp_to_reg, can_add_disp_p)
(equiv_address_substitution): Take an address_info rather
than an address.  Remove other arguments.  Avoid using Pmode.
(process_address): Use decompose_mem_address and decompose_lea_address.
Update calls to above functions.

From-SVN: r192837

11 years agolra-constraints.c (process_address): Tighten arguments to base_reg_class.
Richard Sandiford [Fri, 26 Oct 2012 06:41:33 +0000 (06:41 +0000)]
lra-constraints.c (process_address): Tighten arguments to base_reg_class.

gcc/
* lra-constraints.c (process_address): Tighten arguments to
base_reg_class.  Use simplify_gen_binary to generate PLUS rtxes.

From-SVN: r192836

11 years agolra-constraints.c (get_index_scale, [...]): New functions.
Richard Sandiford [Fri, 26 Oct 2012 06:38:23 +0000 (06:38 +0000)]
lra-constraints.c (get_index_scale, [...]): New functions.

gcc/
* lra-constraints.c (get_index_scale, can_add_disp_p): New functions.
(equiv_address_substitution): Use them.

From-SVN: r192835

11 years agolra-constraints.c (valid_address_p): New function, split out from...
Richard Sandiford [Fri, 26 Oct 2012 06:37:54 +0000 (06:37 +0000)]
lra-constraints.c (valid_address_p): New function, split out from...

gcc/
* lra-constraints.c (valid_address_p): New function, split out from...
(process_address): ...here.

From-SVN: r192834

11 years agolra-constraints.c (process_address): Describe the kinds of address that we might...
Richard Sandiford [Fri, 26 Oct 2012 06:37:28 +0000 (06:37 +0000)]
lra-constraints.c (process_address): Describe the kinds of address that we might see.

gcc/
* lra-constraints.c (process_address): Describe the kinds of address
that we might see.

From-SVN: r192833

11 years agolra-int.h (lra_assert): Redefine it gcc_checking_assert.
Vladimir Makarov [Fri, 26 Oct 2012 03:41:19 +0000 (03:41 +0000)]
lra-int.h (lra_assert): Redefine it gcc_checking_assert.

2012-10-25  Vladimir Makarov  <vmakarov@redhat.com>

* lra-int.h (lra_assert): Redefine it gcc_checking_assert.
* lra-constraints.c (check_and_process_move): Remove #if
ENABLE_ASSERT_CHECKING.

From-SVN: r192832

11 years agortems.h (TARGET_OS_CPP_BUILTINS): Remove __USE_INIT_FINI__.
Ralf Corsepius [Fri, 26 Oct 2012 01:00:29 +0000 (03:00 +0200)]
rtems.h (TARGET_OS_CPP_BUILTINS): Remove __USE_INIT_FINI__.

2012-10-26  Ralf Corsépius  <ralf.corsepius@rtems.org>

* config/avr/rtems.h (TARGET_OS_CPP_BUILTINS): Remove
__USE_INIT_FINI__.
* config/avr/t-rtems (LIB1ASMFUNCS): Filter out _exit.

From-SVN: r192828

11 years agoDaily bump.
GCC Administrator [Fri, 26 Oct 2012 00:18:52 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r192827

11 years agoRemove unnecessary sparc constraint.
David S. Miller [Thu, 25 Oct 2012 22:19:47 +0000 (15:19 -0700)]
Remove unnecessary sparc constraint.

* config/sparc/constraints.md ("U"): Delete.
* config/sparc/sparc.md: Use 'r' constraint instead of 'U'.
* config/sparc/sync.md: Likewise.

From-SVN: r192824

11 years agoChange hash_table to support a comparator type different from the value type stored...
Lawrence Crowl [Thu, 25 Oct 2012 21:45:28 +0000 (21:45 +0000)]
Change hash_table to support a comparator type different from the value type stored in the hash table.

Change hash_table to support a comparator type different from the
value type stored in the hash table.  The 'find' functions now may
take a different type from the value type.  This requires introducing
a second typedef into the Descriptor conceptual type.  Change the
Descriptor concept to use typedefs value_type and compare_type instead
of T.  Change all users to match.

Add usage documentation to hash-table.h.

Tested on x86-64.

Index: gcc/ChangeLog

2012-10-25  Lawrence Crowl  <crowl@google.com>

* hash-table.h: Add usage documentation.
(template struct typed_free_remove): Clarify documentation.
Rename template parameter.
(struct typed_noop_remove): Likewise.
(descriptor concept): Change typedef T to value_type.
Add typedef compare_type.  Use more precise template parameter name,
Descriptor instead of Descr.  Update users to match.
(struct hash_table): Change 'find' parameters to use compare_type
instead of the value type.

From-SVN: r192823

11 years agocunroll-4.c: Update; we now remove the loop at ivcanon time.
Jan Hubicka [Thu, 25 Oct 2012 19:24:19 +0000 (21:24 +0200)]
cunroll-4.c: Update; we now remove the loop at ivcanon time.

* gcc.dg/tree-ssa/cunroll-4.c: Update; we now remove the loop
at ivcanon time.

From-SVN: r192822

11 years agoipa-cp.c (ipcp_discover_new_direct_edges): If something was turned to direct call...
Jan Hubicka [Thu, 25 Oct 2012 19:23:15 +0000 (21:23 +0200)]
ipa-cp.c (ipcp_discover_new_direct_edges): If something was turned to direct call update the summary.

* ipa-cp.c (ipcp_discover_new_direct_edges): If something was turned
to direct call update the summary.
* ipa-inline-transform.c (inline_call): Sanity check that summaries
match the predicted effect; fix updating of summary after edge
redirection.
* ipa-inline-analysis.c (inline_node_duplication_hook): Do not try
to update the summary and recompute it instead.
(estimate_function_body_sizes): Fix self size estimation; double
check that it agrees with inline_update_overall_summary.
(estimate_edge_size_and_time): Handle devirtualizaiton costs.
(estimate_edge_devirt_benefit): Update to be called from
estimate_edge_size_and_time.
(estimate_calls_size_and_time): Update.
(estimate_node_size_and_time): Watch overflows.
(inline_merge_summary): Likewise.
* ipa-prob.c: Include ipa-inline.h
(ipa_make_edge_direct_to_target): After redirection update the summary.

From-SVN: r192821

11 years agore PR debug/55063 (Thousands of failures in the libstdc++-v3 tests after revision...
Cary Coutant [Thu, 25 Oct 2012 18:30:27 +0000 (18:30 +0000)]
re PR debug/55063 (Thousands of failures in the libstdc++-v3 tests after revision 192739)

gcc/
PR debug/55063
* dwarf2out.c (prune_unused_types_prune): Check whether DIE is
already a declaration.

From-SVN: r192820

11 years agolibgo: Solaris portability patches.
Ian Lance Taylor [Thu, 25 Oct 2012 18:26:34 +0000 (18:26 +0000)]
libgo: Solaris portability patches.

From Rainer Orth.

From-SVN: r192819

11 years agolra-assigns.c (assign_by_spills): Add non-reload pseudos assigned to hard register...
Vladimir Makarov [Thu, 25 Oct 2012 16:54:14 +0000 (16:54 +0000)]
lra-assigns.c (assign_by_spills): Add non-reload pseudos assigned to hard register to changed_pseudo_bitmap.

2012-10-25  Vladimir Makarov  <vmakarov@redhat.com>

* lra-assigns.c (assign_by_spills): Add non-reload pseudos
assigned to hard register to changed_pseudo_bitmap.

From-SVN: r192817

11 years agoconfig.gcc (microblaze*-*-rtems*): New target.
Ralf Corsepius [Thu, 25 Oct 2012 16:44:27 +0000 (18:44 +0200)]
config.gcc (microblaze*-*-rtems*): New target.

2012-10-25  Ralf Corsépius  <ralf.corsepius@rtems.org>

* config.gcc (microblaze*-*-rtems*): New target.
* config/microblaze/rtems.h: New.
* config/microblaze/t-rtems: New.

From-SVN: r192815

11 years agore PR c++/53761 (ICE on incorrect transparent union (first field has floating point...
Paolo Carlini [Thu, 25 Oct 2012 16:14:59 +0000 (16:14 +0000)]
re PR c++/53761 (ICE on incorrect transparent union (first field has floating point type))

/cp
2012-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53761
* class.c (finish_struct_1): Reject aggregates decorated with
__transparent_union__ which cannot be made transparent because
the type of the first field has a different ABI from the class
overall.

/testsuite
2012-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53761
* g++.dg/ext/transparent-union.C: New.

From-SVN: r192814

11 years agoCore 1402
Jason Merrill [Thu, 25 Oct 2012 15:54:00 +0000 (11:54 -0400)]
Core 1402

Core 1402
cp/
* call.c (joust): An implicitly deleted move function is
worse than any non-deleted function.
* method.c (process_subob_fn): No special rules for move.
(synthesized_method_walk, implicitly_declare_fn): Likewise.
Warn about virtual base with non-trivial move assignment.
* cp-tree.h (struct lang_decl_fn): Remove suppress_implicit_decl.
(FNDECL_SUPPRESS_IMPLICIT_DECL): Remove.
c-family/
* c.opt (Wvirtual-move-assign): New.

From-SVN: r192813

11 years ago* semantics.c (finish_omp_threadprivate): Call complete_type.
Jason Merrill [Thu, 25 Oct 2012 15:53:40 +0000 (11:53 -0400)]
* semantics.c (finish_omp_threadprivate): Call complete_type.

From-SVN: r192812

11 years agoc.opt (Winherited-variadic-ctor): New.
Jason Merrill [Thu, 25 Oct 2012 15:53:31 +0000 (11:53 -0400)]
c.opt (Winherited-variadic-ctor): New.

c-family/
* c.opt (Winherited-variadic-ctor): New.
cp/
* class.c (one_inherited_ctor): Warn about variadic inherited ctor.

From-SVN: r192811

11 years agoFix previous commit.
Jan Hubicka [Thu, 25 Oct 2012 15:00:06 +0000 (15:00 +0000)]
Fix previous commit.

From-SVN: r192810

11 years agore PR lto/54980 (gimple check: expected gimple_cond(error_mark), have gimple_call...
Jan Hubicka [Thu, 25 Oct 2012 14:52:32 +0000 (16:52 +0200)]
re PR lto/54980 (gimple check: expected gimple_cond(error_mark), have gimple_call() in gimple_cond_set_lhs, at gimple.h:2578)

PR tree-optimize/54980
* tree-ssa-loop-ivcanon.c (constant_after_peeling): Fix
obvious typo.
(loop_edge_to_cancel): Be sure that the edge is from an conditional
so we can cancel it.

From-SVN: r192809

11 years agore PR c++/54427 (Expose more vector extensions)
Marc Glisse [Thu, 25 Oct 2012 13:02:42 +0000 (15:02 +0200)]
re PR c++/54427 (Expose more vector extensions)

2012-10-25  Marc Glisse  <marc.glisse@inria.fr>

PR c++/54427

gcc/
* tree.c (signed_or_unsigned_type_for): Handle vectors.

gcc/cp/
* typeck.c (build_x_conditional_expr): Handle VEC_COND_EXPR.
* call.c (build_conditional_expr_1): Likewise.

gcc/c-family/
* c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.

gcc/testsuite/
* g++.dg/ext/vector19.C: New testcase.

From-SVN: r192808

11 years agoipa-inline.c (recursive_inlining): Redirect to master clone before testing profitability.
Jan Hubicka [Thu, 25 Oct 2012 12:23:08 +0000 (14:23 +0200)]
ipa-inline.c (recursive_inlining): Redirect to master clone before testing profitability.

* ipa-inline.c (recursive_inlining): Redirect to master
clone before testing profitability.

From-SVN: r192807

11 years agoconfig.host (sh*-*-rtems*): Add sh*-*-elf*'s extra_parts.
Ralf Corsepius [Thu, 25 Oct 2012 12:06:06 +0000 (14:06 +0200)]
config.host (sh*-*-rtems*): Add sh*-*-elf*'s extra_parts.

2012-10-25  Ralf Corsépius <ralf.corsepius@rtems.org>

* config.host (sh*-*-rtems*): Add sh*-*-elf*'s extra_parts.

From-SVN: r192805

11 years agore PR target/54902 (, ICE (segfault) building on arm-linux-gnueabi)
Richard Biener [Thu, 25 Oct 2012 11:16:12 +0000 (11:16 +0000)]
re PR target/54902 (, ICE (segfault) building on arm-linux-gnueabi)

2012-10-25  Richard Biener  <rguenther@suse.de>

PR tree-optimization/54902
* tree-ssa-pre.c (fini_eliminate): Return TODO.
(do_pre): Adjust.
(execute_fre): Likewise.
* tree-ssa-tailmerge.c (tail_merge_optimize): Delete unreachable
blocks before computing dominators.

* g++.dg/torture/pr54902.C: New testcase.

From-SVN: r192804

11 years agore PR c++/34892 (ICE with ellipsis in default template argument)
Paolo Carlini [Thu, 25 Oct 2012 09:12:22 +0000 (09:12 +0000)]
re PR c++/34892 (ICE with ellipsis in default template argument)

/cp
2012-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/34892
* parser.c (cp_parser_template_parameter): When
cp_parser_parameter_declaration parsed a default argument don't
see if *is_parameter_pack needs setting.

/testsuite
2012-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/34892
* g++.dg/template/crash114.C: New.

From-SVN: r192802