Richard Guenther [Mon, 29 Oct 2012 14:25:22 +0000 (14:25 +0000)]
re PR middle-end/53695 (ICE: in dfs_enumerate_from, at cfganal.c:1221 with -O2 -ftracer and labels/gotos)
2012-10-29 Richard Guenther <rguenther@suse.de>
PR middle-end/53695
* tracer.c (tracer): Fixup loop structure.
* cfgloopmanip.c (force_single_succ_latches): Add assert.
(fix_loop_structure): Re-compute loop latches and disambiguate
loops with multiple latches if required.
* gcc.dg/torture/pr53695.c: New testcase.
From-SVN: r192943
Arnaud Charlet [Mon, 29 Oct 2012 11:56:46 +0000 (12:56 +0100)]
[multiple changes]
2012-10-29 Pascal Obry <obry@adacore.com>
* xoscons.adb, Make-generated.in; The template used by xoscons is now
given as parameter.
* gcc-interface/Make-lang.in: Update dependencies.
2012-10-29 Yannick Moy <moy@adacore.com>
* exp_dbug.adb (Qualify_Entity_Name): Only do renaming in formal
verification mode when there is a homonym.
From-SVN: r192942
James Greenhalgh [Mon, 29 Oct 2012 11:56:03 +0000 (11:56 +0000)]
MAINTAINERS (Write After Approval): Add myself.
2012-10-26 James Greenhalgh <james.greenhalgh@arm.com>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r192941
Arnaud Charlet [Mon, 29 Oct 2012 11:42:17 +0000 (12:42 +0100)]
[multiple changes]
2012-10-29 Thomas Quinot <quinot@adacore.com>
* xoscons.adb: Minor reformatting.
2012-10-29 Yannick Moy <moy@adacore.com>
* exp_alfa.adb (Expand_Alfa): Backtrack change that removed
qualification of names in formal verification mode. Instead,
the qualification should be modified.
* exp_dbug.adb (Qualify_Entity_Name): Modify qualification in formal
verification mode, so that only a suffix is added to distinguish
homonyms from the same scope.
From-SVN: r192940
Arnaud Charlet [Mon, 29 Oct 2012 11:41:01 +0000 (12:41 +0100)]
[multiple changes]
2012-10-29 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Document that pragma Optimize_Alignment (Space) is
ignored with a warning for packed variable length records.
2012-10-29 Thomas Quinot <quinot@adacore.com>
* socket.c, g-socthi-dummy.adb, g-socthi-dummy.ads, g-socthi-vms.adb,
g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
s-oscons-tmplt.c, g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi.adb,
g-socthi.ads, xoscons.adb, g-socket.adb, g-sothco.ads: Introduce an
appropriate subtype for IOCTL requests, since these may be signed or
unsigned.
From-SVN: r192939
Arnaud Charlet [Mon, 29 Oct 2012 11:39:21 +0000 (12:39 +0100)]
[multiple changes]
2012-10-29 Gary Dismukes <dismukes@adacore.com>
* exp_alfa.adb: Minor reformatting.
2012-10-29 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi, gnat_ugn.texi: Clarify documentation on maximum
line length style switch.
2012-10-29 Robert Dewar <dewar@adacore.com>
* layout.adb (Set_Composite_Alignment): Ignore pragma
Optimize_Alignment (Space) for packed variable length records.
From-SVN: r192938
Arnaud Charlet [Mon, 29 Oct 2012 11:36:12 +0000 (12:36 +0100)]
[multiple changes]
2012-10-29 Robert Dewar <dewar@adacore.com>
* s-bignum.adb: Minor comment change.
2012-10-29 Thomas Quinot <quinot@adacore.com>
* s-oscons-tmplt.c: Fix signedness of ioctl request identifiers
for x86_64-freebsd.
2012-10-29 Yannick Moy <moy@adacore.com>
* exp_alfa.adb (Expand_Alfa): Remove qualification of names.
From-SVN: r192937
Arnaud Charlet [Mon, 29 Oct 2012 11:32:18 +0000 (12:32 +0100)]
[multiple changes]
2012-10-29 Robert Dewar <dewar@adacore.com>
* sem_prag.adb: Minor reformatting.
2012-10-29 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Minor rewording.
2012-10-29 Javier Miranda <miranda@adacore.com>
* exp_disp.ads (Is_Expanded_Dispatching_Call): New subprogram.
* exp_disp.adb (Expand_Dispatching_Call): No action needed if the
call has been already expanded.
(Is_Expanded_Dispatching_Call): New subprogram.
* sem_disp.adb (Propagate_Tag): No action needed if the call
has been already expanded.
2012-10-29 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch9.adb (Create_Index_And_Data): Remove local
variable Index_Typ and its uses. The type of the index is now
System.Tasking.Entry_Index. Update all related comments.
* rtsfind.ads: Add RE_Entry_Index in tables RE_Id and RE_Unit_Table.
* s-taskin.adb (Number_Of_Entries): The return type is now Entry_Index.
* s-taskin.ads: The index type of Task_Entry_Names_Array is now
Entry_Index.
(Number_Of_Entries): The return type is now Entry_Index.
* s-tpoben.adb (Number_Of_Entries): The return type is now Entry_Index.
* s-tpoben.ads: The index type of Protected_Entry_Names_Array
is now Entry_Index.
(Number_Of_Entries): The return type is now Entry_Index.
2012-10-29 Pascal Obry <obry@adacore.com>
* gnat_ugn.texi: Add note about SEH setup on x86-windows.
2012-10-29 Eric Botcazou <ebotcazou@adacore.com>
* s-bignum.adb (Allocate_Bignum): Use the exact layout of
Bignum_Data for the overlay.
From-SVN: r192936
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
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
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
Uros Bizjak [Mon, 29 Oct 2012 11:08:42 +0000 (12:08 +0100)]
* Revert my last commit.
From-SVN: r192932
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Eric Botcazou [Mon, 29 Oct 2012 09:46:52 +0000 (09:46 +0000)]
Move entry to right ChangeLog.
From-SVN: r192912
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
Arnaud Charlet [Mon, 29 Oct 2012 08:17:50 +0000 (08:17 +0000)]
* pprint.ads, pprint.adb: New.
From-SVN: r192909
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
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
GCC Administrator [Mon, 29 Oct 2012 00:18:42 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r192903
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
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
Robert Mason [Sun, 28 Oct 2012 21:42:48 +0000 (21:42 +0000)]
vxworks fixups
From-SVN: r192898
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
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
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
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
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
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
Jan Hubicka [Sun, 28 Oct 2012 09:58:38 +0000 (09:58 +0000)]
Fix previous commit.
From-SVN: r192889
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
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
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
GCC Administrator [Sun, 28 Oct 2012 00:18:24 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r192884
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
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
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
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
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
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
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
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
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
GCC Administrator [Sat, 27 Oct 2012 00:18:35 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r192870
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
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
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
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
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
Andreas Schwab [Fri, 26 Oct 2012 19:12:45 +0000 (19:12 +0000)]
Update copyright
From-SVN: r192859
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Fri, 26 Oct 2012 00:18:52 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r192827
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
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
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
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
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
Ian Lance Taylor [Thu, 25 Oct 2012 18:26:34 +0000 (18:26 +0000)]
libgo: Solaris portability patches.
From Rainer Orth.
From-SVN: r192819
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
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
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
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
Jason Merrill [Thu, 25 Oct 2012 15:53:40 +0000 (11:53 -0400)]
* semantics.c (finish_omp_threadprivate): Call complete_type.
From-SVN: r192812