Arnaud Charlet [Thu, 10 Oct 2013 13:04:53 +0000 (15:04 +0200)]
[multiple changes]
2013-10-10 Yannick Moy <moy@adacore.com>
* errout.adb (Compilation_Errors): In formal verification mode,
always return False.
2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Collect_Hidden_States_In_Decls): Only consider source
non-constant objects.
From-SVN: r203372
Arnaud Charlet [Thu, 10 Oct 2013 12:56:07 +0000 (14:56 +0200)]
[multiple changes]
2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>
* aspects.adb: Add an entry in table Canonical_Aspect for
Refined_State.
* aspects.ads: Add entries in tables Aspect_Id, Aspect_Argument,
Aspect_Names and Aspect_Delay for Refined_State.
* einfo.adb: Add with and use clauses for Elists.
Remove Refined_State from the list of node usage.
Add Refined_State_Pragma to the list of node usage.
(Has_Null_Abstract_State): New routine.
(Refined_State): Removed.
(Refined_State_Pragma): New routine.
(Set_Refined_State): Removed.
(Set_Refined_State_Pragma): New routine.
(Write_Field8_Name): Add output for Refined_State_Pragma.
(Write_Field9_Name): Remove the output for Refined_State.
* einfo.ads: Add new synthesized attribute Has_Null_Abstract_State
along with usage in nodes. Remove attribute Refined_State along
with usage in nodes. Add new attribute Refined_State_Pragma along
with usage in nodes.
(Has_Null_Abstract_State): New routine.
(Refined_State): Removed.
(Refined_State_Pragma): New routine.
(Set_Refined_State): Removed.
(Set_Refined_State_Pragma): New routine.
* elists.adb (Clone): New routine.
* elists.ads (Clone): New routine.
* par-prag.adb: Add Refined_State to the pragmas that do not
require special processing by the parser.
* sem_ch3.adb: Add with and use clause for Sem_Prag.
(Analyze_Declarations): Add local variables Body_Id, Context and
Spec_Id. Add processing for delayed aspect/pragma Refined_State.
* sem_ch13.adb (Analyze_Aspect_Specifications): Update the
handling of aspect Abstract_State. Add processing for aspect
Refined_State. Remove the bizzare insertion policy for aspect
Abstract_State.
(Check_Aspect_At_Freeze_Point): Add an entry for Refined_State.
* sem_prag.adb: Add an entry to table Sig_Flags
for pragma Refined_State.
(Add_Item): Update the
comment on usage. The inserted items need not be unique.
(Analyze_Contract_Cases_In_Decl_Part): Rename variable Restore to
Restore_Scope and update all its occurrences.
(Analyze_Pragma):
Update the handling of pragma Abstract_State. Add processing for
pragma Refined_State.
(Analyze_Pre_Post_Condition_In_Decl_Part):
Rename variable Restore to Restore_Scope and update all its
occurrences.
(Analyze_Refined_State_In_Decl_Part): New routine.
* sem_prag.ads (Analyze_Refined_State_In_Decl_Part): New routine.
* snames.ads-tmpl: Add new predefined name for Refined_State. Add
new Pragma_Id for Refined_State.
2013-10-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (Install_Limited_Withed_Unit): handle properly the
case of a record declaration in a limited view, when the record
contains a self-referential component of an anonymous access type.
From-SVN: r203371
Arnaud Charlet [Thu, 10 Oct 2013 12:52:31 +0000 (14:52 +0200)]
[multiple changes]
2013-10-10 Thomas Quinot <quinot@adacore.com>
* exp_ch4.adb (Process_Transient_Object): For any context other
than a simple return statement, insert the finalization action
after the context, not as an action on the context (which will
get evaluated before it).
2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>
* einfo.adb (Write_Field19_Name): Correct the
string name of attribute Default_Aspect_Value.
2013-10-10 Ed Schonberg <schonberg@adacore.com>
* sem_type.adb (Interface_Present_In_Ancestor): The progenitor
in a type declaration may be an interface subtype.
2013-10-10 Robert Dewar <dewar@adacore.com>
* sinfo.ads (Do_Range_Check): Add special note on handling of
range checks for Succ and Pred.
2013-10-10 Robert Dewar <dewar@adacore.com>
* erroutc.adb (Output_Msg_Text): Remove VMS special handling.
2013-10-10 Robert Dewar <dewar@adacore.com>
* a-chahan.ads, a-chahan.adb (Is_Line_Terminator): New function
(Is_Mark): New function.
(Is_Other_Format): New function.
(Is_Punctuation_Connector): New function.
(Is_Space): New function.
From-SVN: r203370
Arnaud Charlet [Thu, 10 Oct 2013 12:49:30 +0000 (14:49 +0200)]
[multiple changes]
2013-10-10 Robert Dewar <dewar@adacore.com>
* sem_aggr.adb (Resolve_Array_Aggregate): Redo duplicate/missing
choice circuit. Was not quite right in some cases, which showed
up in ACATS test
B43201C.
* sem_attr.adb (Address_Checks): Make sure name is set right
for some messages issued.
* mlib-prj.adb: Minor code reorganization.
* gnat_ugn.texi: Remove special VMS doc for tagging of warning msgs.
* exp_ch9.adb: Minor reformatting.
2013-10-10 Tristan Gingold <gingold@adacore.com>
* lib-writ.adb (Write_Unit_Information): Adjust previous patch.
2013-10-10 Robert Dewar <dewar@adacore.com>
* sem_ch5.adb (Analyze_If_Statement): Warn on redundant if
statement.
* sem_util.ads, sem_util.adb (Has_No_Obvious_Side_Effects): New
function.
2013-10-10 Ed Schonberg <schonberg@adacore.com>
* exp_ch9.adb (Expand_N_Timed_Entry_Call): Simplify expansion
for the case of a dispatching trigger: there is no need to
duplicate the code or create a subprogram to encapsulate the
triggering statements. This allows exit statements in the
triggering statements, that refer to enclosing loops.
From-SVN: r203369
Robert Dewar [Thu, 10 Oct 2013 12:46:01 +0000 (12:46 +0000)]
freeze.adb: Minor reformatting.
2013-10-10 Robert Dewar <dewar@adacore.com>
* freeze.adb: Minor reformatting.
* sem_ch13.adb (Freeze_Entity_Checks): New procedure
(Analyze_Freeze_Entity): Call Freeze_Entity_Checks
(Analyze_Freeze_Generic_Entity): Call Freeze_Entity_Checks.
* sinfo.ads: Add syntax for sprint for Freeze_Generic_Entity.
* sprint.ads: Add syntax for freeze generic entity node.
2013-10-10 Robert Dewar <dewar@adacore.com>
* einfo.adb, einfo.ads: Minor comment updates.
From-SVN: r203368
Arnaud Charlet [Thu, 10 Oct 2013 12:43:38 +0000 (14:43 +0200)]
[multiple changes]
2013-10-10 Robert Dewar <dewar@adacore.com>
* lib-writ.adb (Write_Unit_Information): Fatal error if linker
options are detected in a predefined generic unit.
2013-10-10 Thomas Quinot <quinot@adacore.com>
* s-oscons-tmplt.c (CLOCK_REALTIME): Always define, possibly using
a dummy placeholder value.
(NEED_PTHREAD_CONDATTR_SETCLOCK): Remove, not needed anymore.
* thread.c: Adjust #if test accordingly.
2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch6.adb (Consequence_Error): Generate an
implicit if statement.
(Expand_Contract_Cases): Generate an implicit if statement.
(Process_Contract_Cases): Do not expand Contract_Cases when no code
is being generated.
2013-10-10 Robert Dewar <dewar@adacore.com>
* sem_attr.adb (Address_Checks): New procedure.
2013-10-10 Ed Schonberg <schonberg@adacore.com>
* sinfo.ads, sinfo.adb: New Node Freeze_Generic_Entity, to trigger
semantic actions at the proper point for entities that previously
had no explicit freeze point.
* freeze.adb (Freeze_Generic_Entities): generate new nodes to
indicate the point at which semantic checks can be performed on
entities declared in generic packages.
* sem_ch13.ads, sem_ch13.adb: New procedure
Analyze_Freeze_Generic_Entity.
* exp_util.adb (Insert_Actions): Treat new node like Freeze_Entity.
* sem.adb (Analyze): Call Analyze_Freeze_Generic_Entity.
* sprint.adb (Sprint_Node): display Analyze_Freeze_Generic_Entity.
* gcc-interface/trans.c: Ignore Analyze_Freeze_Generic_Entity.
* gcc-interface/Make-lang.in: Update dependencies.
From-SVN: r203367
Robert Dewar [Thu, 10 Oct 2013 12:38:44 +0000 (12:38 +0000)]
sem_aggr.adb (Resolve_Array_Aggregate): Identify duplicated cases.
2013-10-10 Robert Dewar <dewar@adacore.com>
* sem_aggr.adb (Resolve_Array_Aggregate): Identify duplicated
cases.
2013-10-10 Robert Dewar <dewar@adacore.com>
* sem_ch9.adb (Analyze_Task_Body): Aspects are illegal
(Analyze_Protected_Body): Aspects are illegal.
2013-10-10 Robert Dewar <dewar@adacore.com>
* sem_ch6.adb, sem_ch13.adb: Minor reformatting.
* sem_case.adb (Check_Choices): Fix bad listing of missing
values from predicated subtype case (Check_Choices): List
duplicated values.
* errout.adb (Set_Msg_Text): Process warning tags in VMS mode
* erroutc.adb (Output_Msg_Text): Handle VMS warning tags
* gnat_ugn.texi: Document /WARNINGS=TAG_WARNINGS for VMS
* ug_words: Add entries for -gnatw.d and -gnatw.D
* vms_data.ads: Add [NO]TAG_WARNINGS for -gnatw.D/-gnatw.d
* lib-writ.ads: Documentation fixes
2013-10-10 Robert Dewar <dewar@adacore.com>
* a-wichha.adb, a-wichha.ads, a-zchhan.adb, a-zchhan.ads
(Is_Other_Format): New name for Is_Other.
(Is_Punctuation_Connector): New name for Is_Punctuation
From-SVN: r203366
Arnaud Charlet [Thu, 10 Oct 2013 12:35:07 +0000 (14:35 +0200)]
[multiple changes]
2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>
* aspects.adb: Add entries in table Canonical_Aspects for aspects
Refined_Depends and Refined_Global.
* aspects.ads: Add entries in tables Aspect_Id, Aspect_Argument,
Aspect_Names, Aspect_Declay, Aspect_On_Body_Or_Stub_OK for
aspects Refined_Depends and Refined_Global.
* einfo.adb (Contract): Subprogram bodies are now valid owners
of contracts.
(Set_Contract): Subprogram bodies are now valid
owners of contracts.
(Write_Field24_Name): Output the contract
attribute for subprogram bodies.
* exp_ch6.adb (Expand_Subprogram_Contract): New routine.
* exp_ch6.ads (Expand_Subprogram_Contract): New routine.
* par-prag.adb: Pragmas Refined_Depends and Refined_Global do
not require any special processing by the parser.
* sem_ch3.adb (Adjust_D): Renamed to Adjust_Decl.
(Analyze_Declarations): Code reformatting. Analyze the contract
of a subprogram body at the end of the declarative region.
* sem_ch6.adb (Analyze_Generic_Subprogram_Body):
Subprogram bodies can now have contracts. Use
Expand_Subprogram_Contract to handle the various contract
assertions.
(Analyze_Subprogram_Body_Contract): New null routine.
(Analyze_Subprogram_Body_Helper): Subprogram bodies can now have
contracts. Use Expand_Subprogram_Contract to handle the various
contract assertions.
(Analyze_Subprogram_Contract): Add local
variable Nam. Update the call to Analyze_PPC_In_Decl_Part. Capture
the pragma name in Nam.
(Process_PPCs): Removed.
* sem_ch6.ads (Analyze_Subprogram_Body_Contract): New routine.
(Analyze_Subprogram_Contract): Update the comment on usage.
* sem_ch13.adb (Analyze_Aspect_Specifications): Add null
implementations for aspects Refined_Depends and Refined_Global.
(Check_Aspect_At_Freeze_Point): Aspects Refined_Depends and
Refined_Global do not need to be checked at the freeze point.
* sem_prag.adb: Add entries in table Sig_Flags
for pragmas Refined_Depends and Refined_Global.
(Analyze_Contract_Cases_In_Decl_Part): Add local
variable Restore. Use Restore to pop the scope.
(Analyze_Depends_In_Decl_Part): Add local variable Restore. Use
Restore to pop the scope.
(Analyze_Global_In_Decl_List): Add local variable Restore. Use Restore
to pop the scope.
(Analyze_PPC_In_Decl_Part): Renamed to
Analyze_Pre_Post_Condition_In_Decl_Part.
(Analyze_Pragma):
Add null implementations for pragmas Refined_Depends and
Refined_Global. Refined_Pre and Refined_Post are now
handled by routine Analyze_Refined_Pre_Post_Condition
exclusively.
(Analyze_Refined_Depends_In_Decl_Part): New
null routine.
(Analyze_Refined_Global_In_Decl_Part):
New null routine.
(Analyze_Refined_Pre_Post):
Renamed to Analyze_Refined_Pre_Post_Condition.
(Analyze_Refined_Pre_Post_Condition): Analyze the boolean
expression.
(Check_Precondition_Postcondition): Update the call
to Analyze_PPC_In_Decl_Part.
* sem_prag.ads: Add entries in table
Pragma_On_Body_Or_Stub_OK for pragmas Refined_Depends
and Refined_Global.
(Analyze_PPC_In_Decl_Part): Renamed
to Analyze_Pre_Post_Condition_In_Decl_Part. Update the
comment on usage.
(Analyze_Refined_Depends_In_Decl_Part): New routine.
(Analyze_Refined_Global_In_Decl_Part): New routine.
(Analyze_Test_Case_In_Decl_Part): Update the comment on usage.
* sem_util.adb (Add_Contract_Item): Rename formal Item to Prag
and update all occurrences. Subprogram body contracts can now
contain pragmas Refined_Depends and Refined_Global.
* sem_util.ads (Add_Contract_Item): Rename formal Item to
Prag. Update the comment on usage.
* sinfo.ads: Update the comment on structure and usage of
N_Contract.
* snames.ads-tmpl: Add new predefined names for Refined_Depends
and Refined_Global. Add entries in table Pragma_Id for
Refined_Depends and Refined_Global.
2013-10-10 Robert Dewar <dewar@adacore.com>
* types.ads: Minor reformatting.
From-SVN: r203365
Arnaud Charlet [Thu, 10 Oct 2013 12:32:03 +0000 (14:32 +0200)]
[multiple changes]
2013-10-10 Thomas Quinot <quinot@adacore.com>
* s-taprop-posix.adb: Add missing comment.
2013-10-10 Robert Dewar <dewar@adacore.com>
* freeze.adb (Freeze_Record_Type): Move choice checking to
Analyze_Freeze_Entity (Freeze_Record_Type): Make sure all choices
are properly frozen
* sem_case.adb (Check_Choices): Remove misguided attempt to
freeze choices (this is now done in Freeze_Record_Type where
it belongs).
(Check_Choices): Remove some analyze/resolve calls
that are redundant since they are done in Analyze_Choices.
* sem_ch13.adb (Analyze_Freeze_Entity): Do the error
checking for choices in variant records here (moved here from
Freeze.Freeze_Record_Type)
From-SVN: r203364
Arnaud Charlet [Thu, 10 Oct 2013 12:30:10 +0000 (14:30 +0200)]
[multiple changes]
2013-10-10 Thomas Quinot <quinot@adacore.com>
* s-oscons-tmplt.c, s-taprop-posix.adb (CLOCK_REALTIME): Always define,
possibly using a dummy placeholder value.
(Compute_Deadline): For the case of an
Absolute_Calendar deadline, if the target uses another clock
than CLOCK_REALTIME as CLOCK_RT_Ada, compensate for possible
different epoch.
2013-10-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Find_Expanded_Name): Handle properly a fully
qualified reference to a generic child unit within itself,
in an instantiation.
From-SVN: r203363
Arnaud Charlet [Thu, 10 Oct 2013 12:27:37 +0000 (14:27 +0200)]
[multiple changes]
2013-10-10 Pascal Obry <obry@adacore.com>
* prj-conf.adb: Minor typo fixes in comment.
2013-10-10 Thomas Quinot <quinot@adacore.com>
* s-taprop-posix.adb (Compute_Deadline): New local subprogram,
factors common code between Timed_Sleep and Timed_Delay.
2013-10-10 Robert Dewar <dewar@adacore.com>
* freeze.adb (Freeze_Record_Type): Don't replace others if
expander inactive. This avoids clobbering the ASIS tree in
-gnatct mode.
2013-10-10 Robert Dewar <dewar@adacore.com>
* sem_res.adb (Resolve_Op_Expon): Avoid crash testing for
fixed-point case in preanalysis mode (error will be caught during
full analysis).
From-SVN: r203362
Arnaud Charlet [Thu, 10 Oct 2013 12:26:07 +0000 (14:26 +0200)]
[multiple changes]
2013-10-10 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Refined_Pre and Refined_Post are now allowed as
assertion identifiers for pragma Assertion_Policy.
* sem_prag.adb (Is_Valid_Assertion_Kind): Add Refined_Pre/Refined_Post
* sem_ch13.adb: Minor reformatting.
2013-10-10 Pascal Obry <obry@adacore.com>
* prj-conf.adb: Code refactoring.
From-SVN: r203361
Arnaud Charlet [Thu, 10 Oct 2013 12:24:31 +0000 (14:24 +0200)]
[multiple changes]
2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>
* einfo.adb: Remove Integrity_Level from the node usage list.
(Has_Option): Update the implementation to match
the new terminology.
(Has_Property): Renamed to Has_Option.
(Integrity_Level): Removed.
(Is_External_State): New routine.
(Is_Input_Only_State): Use Has_Option to determine whether a state
is Input_Only. (Is_Input_State): Renamed to Is_Input_Only_State.
(Is_Output_Only_State): Use Has_Option to determine whether
a state is Output_Only.
(Is_Output_State): Renamed to
Is_Output_Only_State.
(Is_Volatile_State): Use Has_Option to determine whether a state is
volatile.
(Set_Integrity_Level): Removed.
(Write_Field8): Remove the entry for Integrity_Level.
* einfo.ads: Remove Integrity_Level along with its documentation
and usage in nodes. Rename Is_Input_State to Is_Input_Only_State.
Rename Is_Output_State to Is_Output_Only_State. Update the
documentation of Is_Volatile_State. Update the node structure of
E_Abstract_Entity.
(Integrity_Level): Removed along with pragma Inline.
(Is_External_State): New routine.
(Is_Input_State): Renamed to Is_Input_Only_State.
(Is_Output_State): Renamed to Is_Output_Only_State.
(Set_Integrity_Level): Removed along with pragma Inline.
* sem_prag.adb (Analyze_Pragma): Update the checks regarding
global items and abstract state modes. Update the implementation
of pragma Abstract_State to reflect the new rules and terminology.
* snames.ads-tmpl: Remove the predefined name for Integrity
level. Add new predefined names for Input_Only, Non_Volatile,
Output_Only and Part_Of.
2013-10-10 Ed Schonberg <schonberg@adacore.com>
* lib-xref.adb (Generate_Reference): Do not generate a reference
within a _postcondition procedure: a proper source reference has
already been generated when pre- analyzing the original aspect
specification, and the use of a formal in a pre/postcondition
should not count as a proper use in a subprogram body.
2013-10-10 Robert Dewar <dewar@adacore.com>
* sem_eval.adb (Why_Non_Static): Fix bomb for deferred constant
case
From-SVN: r203360
Arnaud Charlet [Thu, 10 Oct 2013 12:20:55 +0000 (14:20 +0200)]
[multiple changes]
2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>
* aspects.adb: Add an entry for Aspect_Refined_Post in table
Canonical_Aspect.
* aspects.ads: Add an entry for Aspect_Refined_Post in tables
Aspect_Id, Aspect_Argument, Aspect_Names, Aspect_Delay,
Aspect_On_Body_Or_Stub_OK. Update the comment on the use of
table Aspect_On_Body_Or_Stub_OK.
* par-prag.adb: Add pragma Refined_Post to the list of pragmas
that do not require special processing by the parser.
* sem_attr.adb (Analyze_Attribute): Add special analysis for
attributes 'Old and 'Result when code generation is disabled and
they appear in aspect/pragma Refined_Post.
(In_Refined_Post): New routine.
* sem_ch6.adb (Analyze_Expression_Function): Move various
aspects and/or pragmas that apply to an expression function to the
corresponding spec or body.
(Collect_Body_Postconditions): New routine.
(Process_PPCs): Use routine Collect_Body_Postconditions
to gather all postcondition pragmas.
* sem_ch10.adb (Analyze_Proper_Body): Use routine
Relocate_Pragmas_To_Body to move all source pragmas that follow
a body stub to the proper body.
(Move_Stub_Pragmas_To_Body): Removed.
* sem_ch13.adb (Analyze_Aspect_Specifications): Add processing
for aspect Refined_Post.
(Check_Aspect_At_Freeze_Point): Aspect
Refined_Post does not need delayed processing at the freeze point.
* sem_prag.adb: Add an entry for pragma Refined_Post in
table Sig_Flags.
(Analyze_Pragma): Add processing for pragma
Refined_Post. Update the processing of pragma Refined_Pre
to use common routine Analyze_Refined_Pre_Post.
(Analyze_Refined_Pre_Post): New routine.
(Relocate_Pragmas_To_Body): New routine.
* sem_prag.ads: Table Pragma_On_Stub_OK is now known as
Pragma_On_Body_Or_Stub_OK. Update the comment on usage of
table Pragma_On_Body_Or_Stub_OK.
(Relocate_Pragmas_To_Body): New routine.
* snames.ads-tmpl: Add new predefined name for Refined_Post. Add
new Pragma_Id for Refined_Post.
2013-10-10 Robert Dewar <dewar@adacore.com>
* exp_ch3.adb (Expand_N_Variant_Part): Now null, expansion of
last choice to others is moved to Freeze_Record_Type.
* freeze.adb (Freeze_Record_Type): Expand last variant to others
if necessary (moved here from Expand_N_Variant_Part
From-SVN: r203359
Arnaud Charlet [Thu, 10 Oct 2013 12:17:35 +0000 (14:17 +0200)]
[multiple changes]
2013-10-10 Robert Dewar <dewar@adacore.com>
* lib-xref-spark_specific.adb, par-ch13.adb, sem_prag.adb, sem_prag.ads,
sem_ch12.adb, sem_attr.adb, sem_ch6.adb, sem_ch13.adb, a-sequio.adb,
s-atocou-builtin.adb: Minor reformatting.
2013-10-10 Thomas Quinot <quinot@adacore.com>
* s-oscons-tmplt.c (NEED_PTHREAD_CONDATTR_SETCLOCK): This
constant needs to be output to s-oscons.h, as it is tested
by init.c.
2013-10-10 Robert Dewar <dewar@adacore.com>
* exp_ch3.adb (Expand_N_Variant_Part): Don't expand choices, too early
* exp_ch5.adb (Expand_N_Case_Statement): Use new Has_SP_Choice
flag to avoid expanding choices when not necessary.
* exp_util.adb: Minor reformatting
* freeze.adb (Freeze_Record_Type): Redo expansion of variants
* sem_aggr.adb: Minor reformatting
* sem_case.ads, sem_case.adb: Major rewrite, separating Analysis and
Checking of choices.
* sem_ch3.adb (Analyze_Variant_Part): Rewrite to call new
Analyze_Choices.
* sem_ch4.adb (Analyze_Case_Expression): Call Analyze_Choices
and Check_Choices
* sem_ch5.adb (Analyze_Case_Statement): Call Analyze_Choices
and Check_Choices
* sem_util.adb: Minor reformatting
* sinfo.ads, sinfo.adb (Has_SP_Choice): New flag.
2013-10-10 Vincent Celier <celier@adacore.com>
* mlib-prj.adb (Build_Library): Do not issue link dynamic
libraries with an Rpath, if switch -R was used.
2013-10-10 Tristan Gingold <gingold@adacore.com>
* s-stalib.ads (Image_Index_Table_8, Image_Index_Table_16,
Image_Index_Table_32): Remove as not used.
* s-imgint.adb (Image_Integer): Call Set_Image_Integer and
remove duplicated code.
From-SVN: r203358
Andrew MacLeod [Thu, 10 Oct 2013 12:16:24 +0000 (12:16 +0000)]
tree-flow.h: Move some prototypes to gimple.h.
2013-10-10 Andrew MacLeod <amacleod@redhat.com>
* tree-flow.h: Move some prototypes to gimple.h.
(gimple_fold_indirect_ref): Move prototype to gimple-fold.h.
* gimple.h: Relocate some prototypes from tree-flow.h
* builtins.c (std_gimplify_va_arg_expr, build_va_arg_indirect_ref):
Move to gimplify.c.
* gimplify.c (gimple_fold_indirect_ref): Move to gimple-fold.c.
(build_va_arg_indirect_ref): Relocate and make static.
(std_gimplify_va_arg_expr): Relocate here.
* gimple-fold.c (gimple_fold_indirect_ref): Relocate here.
* gimple-fold.h (gimple_fold_indirect_ref): Add prototype.
From-SVN: r203357
Arnaud Charlet [Thu, 10 Oct 2013 12:13:03 +0000 (14:13 +0200)]
[multiple changes]
2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Analyze_Pragma): Provide a
more precise error message when pragma Refined_Pre applies to
an expression function that is not a completion.
2013-10-10 Thomas Quinot <quinot@adacore.com>
* sem_attr.adb (Analyse_Attribute, case
Attribute_Scalar_Storage_Order): a 'Scalar_Storage_Order attribute
reference for a generic type is permitted in GNAT runtime mode.
* a-sequio.adb (Read, Write): Use the endianness of the actual
type to encode length information written to the file.
From-SVN: r203356
Arnaud Charlet [Thu, 10 Oct 2013 12:10:58 +0000 (14:10 +0200)]
[multiple changes]
2013-10-10 Ed Schonberg <schonberg@adacore.com>
* par-ch13.adb (Aspect_Specifications_Present)): In earlier than
Ada2012 mode, assume that a legal aspect name following "with"
keyword is an older gnat switch and not a misplaced with_clause.
2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>
* aspects.adb: Add an entry for Aspect_Refined_Pre in
table Canonical_Aspect.
(Aspects_On_Body_OK): Renamed to
Aspects_On_Body_Or_Stub_OK.
(Aspects_On_Body_Or_Stub_OK):
Update the query in table Aspect_On_Body_OK.
* aspects.ads: Add an entry for Aspect_Refined_Pre in tables
Aspect_Id, Aspect_Argument, Aspect_Names, Aspect_Delay,
Aspect_On_Body_Or_Stub_OK. Table Aspect_On_Body_OK is now known as
Aspect_On_Body_Or_Stub_OK. Add a section of aspect specifications
that apply to body stubs.
(Aspects_On_Body_OK): Renamed to Aspects_On_Body_Or_Stub_OK.
(Aspects_On_Body_Or_Stub_OK): Update the comment on usage.
* par-prag.adb: Add pragma Refined_Pre to the list of pragmas
that do not require special processing by the parser.
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Delay the
analysis of aspect specifications that apply to a body stub
until the proper body is analyzed.
* sem_ch10.adb: Add with and use clause for Sem_Ch13.
(Analyze_Package_Body_Stub): Set the corresponding spec of the stub.
(Analyze_Proper_Body): Relocate all pragmas that apply
to a subprogram body stub to the declarations of the proper
body. Analyze the aspect specifications of the stub when the
proper body is not present.
(Analyze_Protected_Body_Stub): Set the corresponding spec of the stub.
(Analyze_Task_Body_Stub): Set the corresponding spec of the stub.
(Move_Stub_Pragmas_To_Body): New routine.
* sem_ch13.adb (Analyze_Aspect_Specifications): Add processing
for aspect Refined_Pre.
(Check_Aspect_At_Freeze_Point): Aspect
Refined_Pre does not need delayed processing at the freeze point.
* sem_prag.adb: Remove with and use clause for Snames. Add
an entry for Pragma_Refined_Pre in table Sig_Flags.
(Analyze_Pragma): Add processing for pragma Refined_Pre.
* sem_prag.ads: Add with and use clause for Snames. Add table
Pragma_On_Stub_OK.
* sinfo.adb (Corresponding_Spec_Of_Stub): New routine.
(Set_Corresponding_Spec_Of_Stub): New routine.
* sinfo.ads: Add new attribute Corresponding_Spec_Of_Stub
along with comment on usage and occurrences in nodes.
(Corresponding_Spec_Of_Stub): New routine along with pragma
Inline.
(Set_Corresponding_Spec_Of_Stub): New routine along
with pragma Inline.
* snames.ads-tmpl: Add new predefined name for Refined_Pre. Add
new Pragma_Id for Refined_Pre.
2013-10-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Analyze_Package_Instantiation,
Analyze_Subprogram_Instantiation): Improve error message when
name in instantiation does not designate a generic unit of the
right kind.
From-SVN: r203355
Andreas Krebbel [Thu, 10 Oct 2013 12:02:16 +0000 (12:02 +0000)]
md.texi: Document the mnemonic attribute.
2013-10-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* doc/md.texi: Document the mnemonic attribute.
From-SVN: r203354
Andreas Krebbel [Thu, 10 Oct 2013 12:01:23 +0000 (12:01 +0000)]
re PR target/57377 (compiler cannot be built with RTL checking)
2013-10-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
PR target/57377
* gensupport.c (gen_mnemonic_attr): Handle (set (attr x) y) and
(set_attr_alternative x ...) when searching for user defined
mnemonic attribute.
From-SVN: r203353
Andrew MacLeod [Thu, 10 Oct 2013 11:53:55 +0000 (11:53 +0000)]
alpha.c: Add gimple-ssa.h to include list.
2013-10-10 Andrew MacLeod <amacleod@redhat.com>
* config/aplha/alpha.c: Add gimple-ssa.h to include list.
From-SVN: r203352
Arnaud Charlet [Thu, 10 Oct 2013 11:07:30 +0000 (13:07 +0200)]
[multiple changes]
2013-10-10 Robert Dewar <dewar@adacore.com>
* exp_ch3.adb (Expand_N_Variant_Part): Expand statically
predicated subtype which appears in Discrete_Choices list.
* exp_ch5.adb (Expand_N_Case_Statement): Expand statically
predicated subtype which appears in Discrete_Choices list of
case statement alternative.
* exp_util.ads, exp_util.adb (Expand_Static_Predicates_In_Choices): New
procedure.
* sem_case.adb: Minor reformatting (Analyze_Choices): Don't
expand out Discrete_Choices that are names of subtypes with
static predicates. This is now done in the analyzer so that the
-gnatct tree is properly formed for ASIS.
* sem_case.ads (Generic_Choices_Processing): Does not apply
to aggregates any more, so change doc accordingly, and remove
unneeded Get_Choices argument.
* sem_ch3.adb (Analyze_Variant_Part): Remove no
longer used Get_Choices argument in instantiation of
Generic_Choices_Processing.
* sem_ch4.adb (Analyze_Case_Expression): Remove no
longer used Get_Choices argument in instantiation of
Generic_Choices_Processing.
* sem_ch5.adb (Analyze_Case_Statement): Remove no
longer used Get_Choices argument in instantiation of
Generic_Choices_Processing.
* sinfo.ads: For N_Variant_Part, and N_Case_Statement_Alternative,
document that choices that are names of statically predicated
subtypes are expanded in the code generation tree passed to the
back end, but not in the ASIS tree generated for -gnatct.
2013-10-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch7.adb: Revert previous change.
2013-10-10 Gary Dismukes <dismukes@adacore.com>
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): In the case where
the Storage_Pool aspect is specified by an aspect clause and a
renaming is used to capture the evaluation of the pool name,
insert the renaming in front of the aspect's associated entity
declaration rather than in front of the corresponding attribute
definition (which hasn't been appended to the declaration
list yet).
2013-10-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Is_Interface_Conformant): The controlling type
of the interface operation is obtained from the ultimate alias
of the interface primitive parameter, because that may be in
fact an implicit inherited operation whose signature involves
the type extension and not the desired interface.
2013-10-10 Ed Schonberg <schonberg@adacore.com>
* par-ch13.adb (Aspect_Specifications_Present): In Ada 2012,
recognize an aspect specification with a misspelled name if it
is followed by a a comma or semicolon.
2013-10-10 Vadim Godunko <godunko@adacore.com>
* s-atocou.adb, s-atocou.ads, s-atocou-x86.adb, s-atocou-builtin.adb:
Fix copyright notice.
2013-10-10 Yannick Moy <moy@adacore.com>
* lib-xref-spark_specific.adb (Enclosing_Subprogram_Or_Package): Get
enclosing subprogram for precondition/postcondition/contract cases.
From-SVN: r203350
Arnaud Charlet [Thu, 10 Oct 2013 11:01:42 +0000 (13:01 +0200)]
[multiple changes]
2013-10-10 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Minor fix.
2013-10-10 Robert Dewar <dewar@adacore.com>
* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
Address): Remove the Comes_From_Source test for the overlap
warning.
2013-10-10 Robert Dewar <dewar@adacore.com>
* sem_util.adb: Minor code reorganization (use Nkind_In).
* sem_warn.adb: Minor code reorganization (optimization in
Check_Unset_Reference).
* exp_ch9.adb, exp_ch4.adb, sinfo.ads: Minor reformatting.
2013-10-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch7.adb (Install_Parent_Private_Declarations): When
instantiating a child unit, do not install private declaration of
a non-generic ancestor of the generic that is also an ancestor
of the current unit: its private part will be installed when
private part of ancestor itself is analyzed.
2013-10-10 Thomas Quinot <quinot@adacore.com>
* freeze.adb (Check_Component_Storage_Order): Retrieve component
aliased status from type entities directly instead of going back
to original component definition.
* sem_ch7.adb: Minor reformatting.
From-SVN: r203349
Arnaud Charlet [Thu, 10 Oct 2013 10:59:13 +0000 (12:59 +0200)]
[multiple changes]
2013-10-10 Robert Dewar <dewar@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specifications): For Address
attribute, consider it to be set in source, because of aliasing
considerations.
(Analyze_Attribute_Definition_Clause): For the
purpose of warning on overlays, take into account the aspect case.
2013-10-10 Robert Dewar <dewar@adacore.com>
* a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
a-cofove.ads: Minor reformatting.
2013-10-10 Arnaud Charlet <charlet@adacore.com>
* gnat_ugn.texi: Remove obsolete mention to -laddr2line.
2013-10-10 Ed Schonberg <schonberg@adacore.com>
* exp_ch4.adb (Expand_N_Case_Expression): Indicate that the
generated variable used as a target of the expression needs
no initialization.
2013-10-10 Jose Ruiz <ruiz@adacore.com>
* exp_util.adb (Corresponding_Runtime_Package): Remove the condition
related to No_Dynamic_Attachment which was wrong. Protected types
with interrupt handlers (when not using a restricted profile)
are always treated as protected types with entries, regardless
of the No_Dynamic_Attachment restriction.
* exp_ch9.adb (Expand_N_Protected_Type_Declaration): Simplify the code
using the result of Corresponding_Runtime_Package.
(Install_Private_Data_Declarations): When having
static handlers and a non restricted profile, we use the
type Static_Interrupt_Protection always, so we removed an
extra wrong condition looking at the No_Dynamic_Attachment
restriction. Simplify the code using the result of
Corresponding_Runtime_Package.
(Make_Initialize_Protection): Simplify the code using
the result of Corresponding_Runtime_Package.
(Install_Private_Data_Declaration): The No_Dynamic_Attachment
restriction has nothing to do with static handlers. Remove the extra
erroneous condition that was creating the wrong data type.
2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>
* sem_util.adb (Is_Object_Reference): Attribute
'Old produces an object reference.
* gnat_rm.texi: Define accessibility level of
X'Update(...) result.
From-SVN: r203348
Arnaud Charlet [Thu, 10 Oct 2013 10:55:36 +0000 (12:55 +0200)]
[multiple changes]
2013-10-10 Yannick Moy <moy@adacore.com>
* gnat_rm.texi, a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
a-cforse.ads, a-cofove.ads: Update comment and doc of formal containers
2013-10-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specifications): For Pre/Post
conditions that apply to a subprogram body, preserve the placement
and order of the generated pragmas, which must appear before
other declarations in the body.
From-SVN: r203347
Arnaud Charlet [Thu, 10 Oct 2013 10:53:30 +0000 (12:53 +0200)]
[multiple changes]
2013-10-10 Bob Duff <duff@adacore.com>
* gnat_ugn.texi: Add gnat2xml doc.
2013-10-10 Doug Rupp <rupp@adacore.com>
* s-vxwork-arm.ads: Fix interface to FP_CONTEXT.
2013-10-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specification): An aspect Import
on a variable need not have a convention specified, as long as
the implicit convention of the object, obtained from its type,
is Ada or Ada-related.
2013-10-10 Robert Dewar <dewar@adacore.com>
* cstand.adb (Standard_Unsigned_64): New internal type.
* gnat_rm.texi: Update documentation on To_Address.
* sem_attr.adb (Analyze_Attribute, case To_Address): Fix
problem with out of range static values given as literals or
named numbers.
* stand.ads (Standard_Unsigned_64): New internal type.
* stand.adb: Minor reformatting.
From-SVN: r203346
Arnaud Charlet [Thu, 10 Oct 2013 10:50:15 +0000 (12:50 +0200)]
[multiple changes]
2013-10-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Analyze_Selected_Component,
Has_Mode_Conformant_Spec): If selected component may be an
indexing of a parameterless call to a protected function, and
expansion is disabled, this is a valid candidate interpretation.
2013-10-10 Arnaud Charlet <charlet@adacore.com>
* gnat_ugn.texi: Minor editing.
From-SVN: r203345
Arnaud Charlet [Thu, 10 Oct 2013 10:47:59 +0000 (12:47 +0200)]
[multiple changes]
2013-10-10 Robert Dewar <dewar@adacore.com>
* gnatlink.adb: Minor reformatting.
2013-10-10 Yannick Moy <moy@adacore.com>
* debug.adb: Free flag d.E and change doc for flag d.K.
2013-10-10 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb (Check_Precondition_Postcondition): If the
pragma comes from an aspect spec, and the subprogram is a
library unit, treat as a ppc in a declarative part in ASIS mode,
so that expression in aspect is properly analyzed. In this case
there is no later point at which the aspect specification would
be examined.
2013-10-10 Bob Duff <duff@adacore.com>
* opt.ads: Minor comment fix.
2013-10-10 Vadim Godunko <godunko@adacore.com>
* a-coinho-shared.ads, a-coinho-shared.adb: New file.
* s-atocou.ads: Add procedure to initialize counter.
* s-atocou.adb: Likewise.
* s-atocou-builtin.adb: Likewise.
* s-atocou-x86.adb: Likewise.
* gcc-interface/Makefile.in: Select special version of
Indefinite_Holders package on platforms where atomic built-ins
are supported. Update tools target pairs for PikeOS.
From-SVN: r203344
Arnaud Charlet [Thu, 10 Oct 2013 10:37:53 +0000 (12:37 +0200)]
[multiple changes]
2013-10-10 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb: Minor reformatting.
2013-10-10 Robert Dewar <dewar@adacore.com>
* sinput-c.adb (Load_File): Ensure Source_Align alignment.
* sinput-d.adb (Create_Debug_Source): Ensure Source_Align alignment.
* sinput-l.adb (Create_Instantiation_Source): Ensure Source_Align
alignment.
(Load_File): Ditto.
* sinput.ads, sinput.adb (Get_Source_File_Index): New optimized (single
line) version.
* types.ads (Source_Align): New definition.
(Source_Buffer): Document new alignment requirement.
2013-10-10 Robert Dewar <dewar@adacore.com>
* sem_prag.adb (Analyze_Pragma, case Linker_Section): Allow
this for types.
2013-10-10 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Minor adjustment to doc for To_Address attribute.
2013-10-10 Vadim Godunko <godunko@adacore.com>
* s-stopoo.ads (Root_Storage_Pool): Add pragma
Preelaborable_Initialization.
From-SVN: r203343
Ian Lance Taylor [Thu, 10 Oct 2013 03:51:11 +0000 (03:51 +0000)]
compiler: Fix test for constant argument too large for make.
From-SVN: r203338
Ian Lance Taylor [Thu, 10 Oct 2013 03:28:22 +0000 (03:28 +0000)]
compiler: Don't inherit logical operator operand type from context.
From-SVN: r203337
GCC Administrator [Thu, 10 Oct 2013 00:16:52 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r203335
Ian Lance Taylor [Thu, 10 Oct 2013 00:04:23 +0000 (00:04 +0000)]
compiler: A type conversion of a constant is not always a constant.
From-SVN: r203332
Ian Lance Taylor [Wed, 9 Oct 2013 22:31:15 +0000 (22:31 +0000)]
compiler, runtime: Fix complex division of NaN / 0.
From-SVN: r203331
Easwaran Raman [Wed, 9 Oct 2013 21:07:54 +0000 (21:07 +0000)]
params.def (PARAM_MIN_SIZE_FOR_STACK_SHARING): New param...
2013-10-09 Easwaran Raman <eraman@google.com>
* params.def (PARAM_MIN_SIZE_FOR_STACK_SHARING): New param...
* cfgexpand.c (defer_stack_allocation): ...use here
* doc/invoke.texi: Add documentation for min-size-for-stack-sharing.
From-SVN: r203330
Zhenqiang Chen [Wed, 9 Oct 2013 18:57:14 +0000 (18:57 +0000)]
tree-ssa-phiopts.c (rhs_is_fed_for_value_replacement): New function.
* tree-ssa-phiopts.c (rhs_is_fed_for_value_replacement): New function.
(operand_equal_for_value_replacement): New function, extracted from
value_replacement and enhanced to catch more cases.
(value_replacement): Use operand_equal_for_value_replacement.
* gcc.dg/tree-ssa/phi-opt-11.c: New test.
From-SVN: r203327
Jonathan Wakely [Wed, 9 Oct 2013 18:37:26 +0000 (18:37 +0000)]
58659.cc: Use VERIFY instead of aborting.
* testsuite/20_util/shared_ptr/cons/58659.cc: Use VERIFY instead of
aborting.
From-SVN: r203325
Andrew MacLeod [Wed, 9 Oct 2013 15:35:46 +0000 (15:35 +0000)]
loop-doloop.c (doloop_modify, [...]): Use get_max_loop_iterations.
* loop-doloop.c (doloop_modify, doloop_optimize): Use
get_max_loop_iterations.
From-SVN: r203324
Marek Polacek [Wed, 9 Oct 2013 14:51:28 +0000 (14:51 +0000)]
re PR c++/58635 ([c++11] ICE with __transaction_atomic and noexcept(false))
PR c++/58635
cp/
* semantics.c (finish_return_stmt): Return error_mark_node
when error_operand_p of the expr is true.
(build_transaction_expr): Check for EXPR_P before setting the
expr location.
testsuite/
* g++.dg/tm/pr58635-1.C: New test.
* g++.dg/tm/pr58635-2.C: New test.
From-SVN: r203323
Kyrylo Tkachov [Wed, 9 Oct 2013 14:27:47 +0000 (14:27 +0000)]
aarch-common.c (arm_early_load_addr_dep): Place comment above function.
[gcc/]
2013-10-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/aarch-common.c (arm_early_load_addr_dep):
Place comment above function.
From-SVN: r203322
Marcus Shawcroft [Wed, 9 Oct 2013 14:26:52 +0000 (14:26 +0000)]
Fix unprototyped abort() introduced in libstdc++/58659.cc testcase.
From-SVN: r203321
Andrew MacLeod [Wed, 9 Oct 2013 14:11:30 +0000 (14:11 +0000)]
tree-flow.h: Remove all remaining prototypes...
* tree-flow.h: Remove all remaining prototypes, enums and structs that
are not related to tree-cfg.c.
* tree-ssa-address.h: New file. Relocate prototypes.
* tree-ssa-address.c: (struct mem_address): Relocate from tree-flow.h.
(addr_for_mem_ref): New. Combine call to get_address_description and
return addr_for_mem_ref.
* expr.c (expand_expr_real_1): Use new addr_for_mem_ref routine.
* tree-ssa-live.h: Adjust prototypes.
* passes.c: Include tree-ssa-live.h.
* gimple-pretty-print.h (gimple_dump_bb): Add prototype.
* graphite.c (graphite_transform_loops): Make static.
(graphite_transforms, gate_graphite_transforms, pass_data_graphite,
make_pass_graphite, pass_data_graphite_transforms,
make_pass_graphite_transforms): Relocate here from tree-ssa-loop.c.
* ipa-pure-const.c (warn_function_noreturn): Make static.
(execute_warn_function_noreturn, gate_warn_function_noreturn,
class pass_warn_function_noreturn, make_pass_warn_function_noreturn):
Relocate from tree-cfg.c
* tree-cfg.c (tree_node_can_be_shared, gimple_empty_block_p): Make
static.
(execute_warn_function_noreturn, gate_warn_function_noreturn,
class pass_warn_function_noreturn, make_pass_warn_function_noreturn):
Move to ipa-pure-const.c.
(execute_fixup_cfg, class pass_fixup_cfg, make_pass_fixup_cfg): Relocate
from tree-optimize.c.
* tree-optimize.c (execute_fixup_cfg, class pass_fixup_cfg,
make_pass_fixup_cfg): Move to tree-cfg.c.
* tree-chrec.h: (enum ev_direction): Relocate here from tree-flow.h.
Relocate some prototypes.
* tree-data-ref.h (tree_check_data_deps) Add prototype.
* tree-dump.c (dump_function_to_file): Remove prototype.
Add tree-flow.h to the include file.
* tree-dump.h: Remove prototype.
* tree-parloops.h: New File. Add prototypes.
* tree-parloops.c (gate_tree_parallelize_loops, tree_parallelize_loops,
pass_data_parallelize_loops, make_pass_parallelize_loops): Relocate
from tree-ssa-loop.c.
* tree-predcom.c (run_tree_predictive_commoning,
gate_tree_predictive_commoning, pass_data_predcom, make_pass_predcom):
Relocate here from tree-ssa-loop.c.
* tree-ssa-dom.c (tree_ssa_dominator_optimize) Don't call
ssa_name_values.release ().
* tree-ssa-threadedge.h: New File. Relocate prototypes here.
(ssa_name_values): Relocate from tree-flow.h.
* tree-ssa.h: Include tree-ssa-threadedge.h and tree-ssa-address.h.
* tree-ssa-loop.c (run_tree_predictive_commoning,
gate_tree_predictive_commoning, pass_data_predcom, make_pass_predcom,
graphite_transforms, gate_graphite_transforms, pass_data_graphite,
make_pass_graphite, pass_data_graphite_transforms,
make_pass_graphite_transforms, gate_tree_parallelize_loops,
tree_parallelize_loops, pass_data_parallelize_loops,
make_pass_parallelize_loops): Move to other files.
* tree-vectorizer.h (lpeel_tree_duplicate_loop_to_edge_cfg): Prototype
moved here.
* tree.h: Remove prototypes from tree-address.c.
From-SVN: r203320
Jakub Jelinek [Wed, 9 Oct 2013 13:55:59 +0000 (15:55 +0200)]
* gcc.dg/vect/bb-slp-31.c: Add cleanup-tree-dump.
From-SVN: r203319
Andrew MacLeod [Wed, 9 Oct 2013 13:42:17 +0000 (13:42 +0000)]
tree-flow.h (tm_restart_node, gimple_df): Move to gimple-ssa.h.
* tree-flow.h (tm_restart_node, gimple_df): Move to gimple-ssa.h.
(struct int_tree_map): Move to tree-hasher.h
(SCALE, LABEL, PERCENT): Move to gimple.h
* tree-flow-inline.h: Delete. Move functions to other files.
(unmodifiable_var_p, ref_contains_array_ref): Unused, so delete.
* gimple-ssa.h (tm_restart_node, gimple_df): Relocate from tree-flow.h.
(gimple_in_ssa_p, gimple_vop): Relocate from tree-flow-inline.h
* gimple.h (imple_stmt_max_uid, set_gimple_stmt_max_uid,
inc_gimple_stmt_max_uid, get_lineno): Relocate from tree-flow-inline.h.
(SCALE, LABEL, PERCENT): Relocate from tree-flow.h
* tree-hasher.h: Don't include tree-flow.h.
(struct int_tree_map): Relocate from tree-flow.h.
* tree-sra.c (contains_view_convert_expr_p): Relocate from
tree-flow-inline.h and make static.
* tree-ssa-alias.h (ranges_overlap_p): Relocate from tree-flow-inline.h.
* tree-ssa-operands.c (gimple_ssa_operands): Relocate from
tree-flow-inline.h and make static.
* tree.h (is_global_var, may_be_aliased): Relocate from
tree-flow-inline.h.
* Makefile.in (GTFILES): Remove tree-flow.h and add gimple-ssa.h.
* value-prof.c: No longer include tree-flow-inline.h.
* tree-switch-conversion.c: No longer include tree-flow-inline.h.
From-SVN: r203318
Andrew MacLeod [Wed, 9 Oct 2013 13:09:23 +0000 (13:09 +0000)]
tree-flow.h: Move some protoypes.
* tree-flow.h: Move some protoypes. Include new tree-ssa-loop.h.
(struct affine_iv, struct tree_niter_desc): Move to tree-ssa-loop.h.
(enum move_pos): Move to tree-ssa-loop-im.h
* cfgloop.h: Move some prototypes.
(gcov_type_to_double_int): relocate from tree-ssa-loop.niter.c.
* tree-flow-inline.h (loop_containing_stmt): Move to tree-ssa-loop.h.
* tree-ssa-loop.h: New File. Include other tree-ssa-loop-*.h files.
(struct affine_iv, struct tree_niter_desc): Relocate from tree-flow.h.
(loop_containing_stmt): Relocate from tree-flow-inline.h.
* tree-ssa-loop-ch.c: (do_while_loop_p): Make static.
* tree-ssa-loop-im.c (for_each_index): Move to tree-ssa-loop.c.
(enum move_pos): Relocate here.
(lsm_tmp_name_add, gen_lsm_tmp_name, get_lsm_tmp_name): Move to
tree-ssa-loop.c.
(execute_sm_if_changed_flag_set): Change get_lsm_tmp_name call.
(tree_ssa_loop_im, gate_tree_ssa_loop_im, pass_data_lim, make_pass_lim):
Relocate here from tree-ssa-loop.c.
* tree-ssa-loop-ivcanon.c (tree_num_loop_insns): Move to
tree-ssa-loop.c.
(loop_edge_to_cancel, unloop_loops): Make static.
(tree_ssa_loop_ivcanon, gate_tree_ssa_loop_ivcanon, pass_data_iv_canon,
make_pass_iv_canon): Relocate from tree-ssa-loop.c.
(tree_complete_unroll, gate_tree_complete_unroll,
pass_data_complete_unroll, make_pass_complete_unroll): Relocate here.
(tree_complete_unroll_inner, gate_tree_complete_unroll_inner,
pass_data_complete_unrolli, make_pass_complete_unrolli): Relocate here.
* tree-ssa-loop-ivopts.c: Remove local prototypes.
(stmt_invariant_in_loop_p): Remove unused function.
* tree-ssa-loop-ivopts.h: New file. Add prototypes.
* tree-ssa-loop-manip.h: New file. Add prototypes.
* tree-ssa-loop-niter.c (record_niter_bound): Move to cfgloop.c.
(gcov_type_to_double_int): Move to cfgloop.h.
(double_int_cmp, bound_index,
estimate_numbers_of_iterations_loop): Make static.
(estimated_loop_iterations): Factor out get_estimated_loop_iterations.
(max_loop_iterations): Factor out get_max_loop_iterations.
(estimated_loop_iterations_int, max_stmt_executions_int): Move to
cfgloop.c.
* tree-ssa-loop-niter.h: New file. Add prototypes.
* tree-ssa-loop-prefetch.c (tree_ssa_loop_prefetch,
gate_tree_ssa_loop_prefetch, pass_data_loop_prefetch,
make_pass_loop_prefetch): Relocate from tree-ssa-loop.c.
* tree-ssa-loop-unswitch.c (tree_ssa_loop_unswitch,
gate_tree_ssa_loop_unswitch, pass_data_tree_unswitch,
make_pass_tree_unswitch): Relocate from tree-ssa-loop.c.
* tree-ssa-loop.c (tree_ssa_loop_im, gate_tree_ssa_loop_im,
pass_data_lim, make_pass_lim): Move to tree-ssa-loop-im.c.
(tree_ssa_loop_unswitch, gate_tree_ssa_loop_unswitch,
pass_data_tree_unswitch, make_pass_tree_unswitch): Move.
(tree_ssa_loop_ivcanon, gate_tree_ssa_loop_ivcanon, pass_data_iv_canon,
make_pass_iv_canon, tree_complete_unroll, gate_tree_complete_unroll,
pass_data_complete_unroll, make_pass_complete_unroll,
tree_complete_unroll_inner, gate_tree_complete_unroll_inner,
pass_data_complete_unrolli, make_pass_complete_unrolli): Move to
tree-ssa-loop-ivcanon.c.
(tree_ssa_loop_prefetch, gate_tree_ssa_loop_prefetch,
pass_data_loop_prefetch, make_pass_loop_prefetch): Move to
tree-ssa-loop-prefetch.c.
(for_each_index, lsm_tmp_name_add, gen_lsm_tmp_name): Relocate from
tree-ssa-loop-im.c.
(get_lsm_tmp_name): Relocate and add suffix parameter.
(tree_num_loop_insns): Relocate from tree-ssa-ivcanon.c.
* tree-scalar-evolution.h (simple_iv): Don't use affive_iv typedef.
* cfgloop.c (record_niter_bound, estimated_loop_iterations_int,
max_stmt_executions_int): Move from tree-ssa-loop-niter.c.
(get_estimated_loop_iterations): Factor out accessor from
estimated_loop_iterations in tree-ssa-loop-niter.c.
(get_max_loop_iterations): Factor out accessor from _max_loop_iterations
in tree-ssa-niter.c.
* loop-unroll.c (decide_unroll_constant_iterations,
decide_unroll_runtime_iterations, decide_peel_simple,
decide_unroll_stupid): Use new get_* accessors.
From-SVN: r203317
Marc Glisse [Wed, 9 Oct 2013 13:03:13 +0000 (15:03 +0200)]
re PR c/20318 (RFE: add attribute to specify that a function never returns NULL)
2013-10-09 Marc Glisse <marc.glisse@inria.fr>
PR tree-optimization/20318
gcc/c-family/
* c-common.c (handle_returns_nonnull_attribute): New function.
(c_common_attribute_table): Add returns_nonnull.
gcc/
* doc/extend.texi (returns_nonnull): New function attribute.
* fold-const.c (tree_expr_nonzero_warnv_p): Look for returns_nonnull
attribute.
* tree-vrp.c (gimple_stmt_nonzero_warnv_p): Likewise.
(stmt_interesting_for_vrp): Accept all GIMPLE_CALL.
gcc/testsuite/
* c-c++-common/pr20318.c: New file.
* gcc.dg/tree-ssa/pr20318.c: New file.
From-SVN: r203316
Eric Botcazou [Wed, 9 Oct 2013 12:59:02 +0000 (12:59 +0000)]
re PR middle-end/58570 (wrong code for bitfields at -O2 and above)
PR middle-end/58570
* tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p): Return
false if both components are bitfields.
From-SVN: r203315
Alex Velenko [Wed, 9 Oct 2013 12:09:11 +0000 (12:09 +0000)]
[AArch64] Implement vclz ADVSimd intrinsic.
From-SVN: r203314
Alex Velenko [Wed, 9 Oct 2013 11:59:38 +0000 (11:59 +0000)]
[AArch64] Implement vadd_f64 and vsub_f64 ADVSimd intrinsics.
From-SVN: r203313
Alex Velenko [Wed, 9 Oct 2013 11:51:15 +0000 (11:51 +0000)]
[AArch64] Implemented vdiv_f64 ADVSimd intrinsic.
From-SVN: r203312
Alex Velenko [Wed, 9 Oct 2013 11:05:15 +0000 (11:05 +0000)]
[AArch64] vneg ADVSimd intrinsics rewritten in C.
From-SVN: r203310
Renlin Li [Wed, 9 Oct 2013 10:51:39 +0000 (10:51 +0000)]
arm.c (arm_output_mi_thunk): Use plus_constant.
[gcc/]
2013-10-09 Renlin Li <Renlin.Li@arm.com>
* config/arm/arm.c (arm_output_mi_thunk): Use plus_constant.
From-SVN: r203309
Andreas Krebbel [Wed, 9 Oct 2013 07:24:35 +0000 (07:24 +0000)]
s390.c (s390_register_info_stdarg_fpr): Remove packed stack special handling.
2013-10-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.c (s390_register_info_stdarg_fpr): Remove
packed stack special handling.
(s390_frame_info, s390_emit_prologue, s390_emit_epilogue): Switch
back to fixed stack slots for FPRs saved due to stdarg.
From-SVN: r203305
Andreas Krebbel [Wed, 9 Oct 2013 07:23:53 +0000 (07:23 +0000)]
s390.c (s390_frame_info): Restructure function.
2013-10-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.c (s390_frame_info): Restructure function.
From-SVN: r203304
Andreas Krebbel [Wed, 9 Oct 2013 07:22:52 +0000 (07:22 +0000)]
s390.c (struct s390_frame_layout): New field gpr_save_slots.
2013-10-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.c (struct s390_frame_layout): New field
gpr_save_slots.
(cfun_save_arg_fprs_p, cfun_gpr_save_slot): New macros.
(s390_reg_clobbered_rtx, s390_regs_ever_clobbered): Change type of
regs_ever_clobbered to char*.
(s390_regs_ever_clobbered): Check crtl->saves_all_registers
instead of cfun->has_nonlocal_label. Ignore frame related restore
INSNs.
(s390_register_info): Enable FPR save slots. Move/Copy some
functionality into ...
(s390_register_info_gprtofpr, s390_register_info_stdarg_fpr)
(s390_register_info_stdarg_gpr, s390_optimize_register_info): New
function.
(s390_frame_info): Do gpr slot allocation here now. stdarg does
not imply a stack frame.
(s390_init_frame_layout): Remove variable clobbered_regs.
(s390_update_register_info): Remove function.
(s390_hard_regno_rename_ok): Call-saved regs without a save slot
cannot be used for register renaming.
(s390_hard_regno_scratch_ok): New function.
(TARGET_HARD_REGNO_SCRATCH_OK): Define target hook.
(s390_initial_elimination_offset): Change offset calculation of
the return address pointer.
(save_gprs): Deal with only r6 being saved from the call-saved
regs.
(restore_gprs): Set frame related flag.
(s390_save_gprs_to_fprs, s390_restore_gprs_from_fprs): New
functions.
(s390_emit_prologue): Call s390_register_info instead of
s390_update_frame_layout. Call s390_save_gprs_to_fprs.
(s390_emit_epilogue): Call s390_restore_gprs_from_fprs.
(s390_optimize_prologue): Call s390_optimize_register_info.
Try to remove also FPR slot save/restore INSNs. Remove frame
related flags from restore INSNs.
From-SVN: r203303
DJ Delorie [Wed, 9 Oct 2013 01:44:31 +0000 (21:44 -0400)]
rl78-expand.md (movqi): use operands[] not operandN.
* config/rl78/rl78-expand.md (movqi): use operands[] not operandN.
(movhi): Likewise.
From-SVN: r203300
DJ Delorie [Wed, 9 Oct 2013 01:05:07 +0000 (21:05 -0400)]
rl78.c (rl78_print_operand_1): Change %c to %C to avoid conflict with the MI use of %c.
* config/rl78/rl78.c (rl78_print_operand_1): Change %c to %C to
avoid conflict with the MI use of %c.
* config/rl78/rl78-real.md: change %c to %C throughout.
* config/rl78/rl78-virt.md: Likewise.
From-SVN: r203299
GCC Administrator [Wed, 9 Oct 2013 00:16:54 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r203298
Ian Lance Taylor [Wed, 9 Oct 2013 00:02:14 +0000 (00:02 +0000)]
runtime: Do not report thunks and recover functions in backtrace.
From-SVN: r203294
Ian Lance Taylor [Tue, 8 Oct 2013 23:54:15 +0000 (23:54 +0000)]
compiler: Error for qualified ID as field name in struct literal.
From-SVN: r203292
Jan Hubicka [Tue, 8 Oct 2013 23:33:34 +0000 (01:33 +0200)]
i386.c (ix86_option_override_internal): Switch to SSE math for -ffast-math when target ISA supports SSE2.
* config/i386/i386.c (ix86_option_override_internal): Switch
to SSE math for -ffast-math when target ISA supports SSE2.
From-SVN: r203291
Paolo Carlini [Tue, 8 Oct 2013 21:58:58 +0000 (21:58 +0000)]
re PR c++/58568 ([c++11] ICE with lambda in invalid template variable definition)
/cp
2013-10-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58568
* lambda.c (begin_lambda_type): Check return value of xref_tag
for error_mark_node; tidy.
* decl.c (grokdeclarator): Tweak error message.
/testsuite
2013-10-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58568
* g++.dg/cpp0x/lambda/lambda-ice10.C: New.
* g++.old-deja/g++.mike/misc9.C: Adjust.
From-SVN: r203289
Paolo Carlini [Tue, 8 Oct 2013 21:54:06 +0000 (21:54 +0000)]
re PR c++/58665 (ICE with using incomplete struct)
/cp
2013-10-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58665
Revert:
2013-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58448
* pt.c (tsubst): Use error_operand_p on parameter t.
/testsuite
2013-10-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58665
Revert:
2013-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58448
* g++.dg/template/crash117.C: New.
From-SVN: r203288
Jonathan Wakely [Tue, 8 Oct 2013 13:54:26 +0000 (13:54 +0000)]
* testsuite/*: Remove stray semi-colons after function definitions.
From-SVN: r203279
Andreas Krebbel [Tue, 8 Oct 2013 13:37:25 +0000 (13:37 +0000)]
htm-nofloat-2.c: Add -mzarch to asm options.
2013-10-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.target/s390/htm-nofloat-2.c: Add -mzarch to asm options.
From-SVN: r203276
Jonathan Wakely [Tue, 8 Oct 2013 12:33:37 +0000 (12:33 +0000)]
re PR libstdc++/58659 (Construction of shared_ptr from unique_ptr mismatches new/delete and std::allocator for __shared_ptr_count)
PR libstdc++/58659
* include/bits/shared_ptr_base.h (__shared_count::__shared_count(P,D)):
Delegate to constructor taking allocator.
(__shared_count::_S_create_from_up): Inline into ...
(__shared_count::__shared_count(unique_ptr<Y,D>&&): Here. Use
std::conditional instead of constrained overloads. Allocate memory
using the allocator type that will be used for deallocation.
* testsuite/20_util/shared_ptr/cons/58659.cc: New.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust.
From-SVN: r203274
Andrew MacLeod [Tue, 8 Oct 2013 12:13:13 +0000 (12:13 +0000)]
tree-flow.h: Remove some prototypes.
* tree-flow.h: Remove some prototypes.
* tree.h: Remove some protypes, add a couple.
* tree.c (using_eh_for_cleanups_flag, using_eh_for_cleanups,
using_eh_for_cleanups_p): Add interface routines for front ends.
* tree-eh.h: New file. Add protoptyes.
* tree-eh.c (using_eh_for_cleanups_p, using_eh_for_cleanups): Delete.
(add_stmt_to_eh_lp_fn): Make static.
(lower_try_finally): Use new using_eh_for_cleanups_p.
* emit-rtl.c: Include tree-eh.h.
* gimple.h: Include tree-eh.h.
From-SVN: r203273
Marc Glisse [Tue, 8 Oct 2013 10:39:49 +0000 (12:39 +0200)]
re PR tree-optimization/58480 (Use attribute((nonnull)) to optimize callers)
2013-10-08 Marc Glisse <marc.glisse@inria.fr>
PR tree-optimization/58480
gcc/
* tree-vrp.c (infer_nonnull_range): New function.
(infer_value_range): Call infer_nonnull_range.
gcc/testsuite/
* gcc.dg/tree-ssa/pr58480.c: New file.
From-SVN: r203271
Dehao Chen [Tue, 8 Oct 2013 08:34:28 +0000 (08:34 +0000)]
re PR tree-optimization/58619 (ICE building in gen_combined_adhoc_loc)
PR tree-optimization/58619
2013-10-08 Dehao Chen <dehao@google.com>
* tree-inline.c (copy_phis_for_bb): Combine location data
only if non-null.
From-SVN: r203269
Zhenqiang Chen [Tue, 8 Oct 2013 07:58:08 +0000 (07:58 +0000)]
re PR target/58423 ([ARM]ICE with shrink-wrap-sibcall.c on a15/neon/hard)
2013-10-08 Zhenqiang Chen <zhenqiang.chen@linaro.org>
PR target/58423
* config/arm/arm.c (arm_emit_ldrd_pop): Attach
RTX_FRAME_RELATED_P on INSN.
From-SVN: r203267
Tim Shen [Tue, 8 Oct 2013 03:41:14 +0000 (03:41 +0000)]
regex_executor.h: Add _TodoList class.
2013-10-08 Tim Shen <timshen91@gmail.com>
* include/bits/regex_executor.h: Add _TodoList class.
* include/bits/regex_executor.tcc (_BFSExecutor<>::_M_main): Add
_M_match_stack and _M_stack to make everything faster. Break if
_M_stack is empty, to reduce unnecessary idling.
* testsuite/performance/28_regex/split.cc: New.
From-SVN: r203261
GCC Administrator [Tue, 8 Oct 2013 00:16:54 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r203259
Ian Lance Taylor [Mon, 7 Oct 2013 15:32:08 +0000 (15:32 +0000)]
reflect: Use C style comments in 386 assembly for Solaris assembler.
From Rainer Orth.
From-SVN: r203249
Bill Schmidt [Mon, 7 Oct 2013 13:01:28 +0000 (13:01 +0000)]
rs6000.c (altivec_expand_vec_perm_const_le): New.
2013-10-07 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (altivec_expand_vec_perm_const_le): New.
(altivec_expand_vec_perm_const): Call it.
From-SVN: r203247
Bill Schmidt [Mon, 7 Oct 2013 12:56:08 +0000 (12:56 +0000)]
vector.md (mov<mode>): Emit permuted move sequences for LE VSX loads and stores at expand time.
gcc:
2013-10-07 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/vector.md (mov<mode>): Emit permuted move
sequences for LE VSX loads and stores at expand time.
* config/rs6000/rs6000-protos.h (rs6000_emit_le_vsx_move): New
prototype.
* config/rs6000/rs6000.c (rs6000_const_vec): New.
(rs6000_gen_le_vsx_permute): New.
(rs6000_gen_le_vsx_load): New.
(rs6000_gen_le_vsx_store): New.
(rs6000_gen_le_vsx_move): New.
* config/rs6000/vsx.md (*vsx_le_perm_load_v2di): New.
(*vsx_le_perm_load_v4si): New.
(*vsx_le_perm_load_v8hi): New.
(*vsx_le_perm_load_v16qi): New.
(*vsx_le_perm_store_v2di): New.
(*vsx_le_perm_store_v4si): New.
(*vsx_le_perm_store_v8hi): New.
(*vsx_le_perm_store_v16qi): New.
(*vsx_xxpermdi2_le_<mode>): New.
(*vsx_xxpermdi4_le_<mode>): New.
(*vsx_xxpermdi8_le_V8HI): New.
(*vsx_xxpermdi16_le_V16QI): New.
(*vsx_lxvd2x2_le_<mode>): New.
(*vsx_lxvd2x4_le_<mode>): New.
(*vsx_lxvd2x8_le_V8HI): New.
(*vsx_lxvd2x16_le_V16QI): New.
(*vsx_stxvd2x2_le_<mode>): New.
(*vsx_stxvd2x4_le_<mode>): New.
(*vsx_stxvd2x8_le_V8HI): New.
(*vsx_stxvd2x16_le_V16QI): New.
gcc/testsuite:
2013-10-07 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/pr43154.c: Skip for ppc64 little endian.
* gcc.target/powerpc/fusion.c: Likewise.
From-SVN: r203246
Renlin Li [Mon, 7 Oct 2013 09:00:34 +0000 (09:00 +0000)]
arm-cores.def (cortex-a53): Use cortex tuning.
[gcc/]
2013-10-07 Renlin Li <Renlin.Li@arm.com>
* config/arm/arm-cores.def (cortex-a53): Use cortex tuning.
From-SVN: r203241
Andreas Krebbel [Mon, 7 Oct 2013 07:52:25 +0000 (07:52 +0000)]
s390.c (s390_register_info): Make the call-saved FPR loop to work also for 31bit ABI.
2013-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.c (s390_register_info): Make the call-saved FPR
loop to work also for 31bit ABI.
Save the stack pointer for frame_size > 0.
2013-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.target/s390/htm-nofloat-2.c: New testcase.
From-SVN: r203240
Andreas Krebbel [Mon, 7 Oct 2013 07:50:25 +0000 (07:50 +0000)]
2013-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.md ("tbegin", "tbegin_nofloat", "tbegin_retry")
("tbegin_retry_nofloat", "tend", "tabort", "tx_assist"): Remove
constraint letters from expanders.
("tbegin_retry", "tbegin_retry_nofloat"): Change predicate of the
retry count to general_operand.
("tabort"): Give operand 0 a mode.
("tabort_1"): Add mode and constraint letter for operand 0.
* doc/extend.texi: Fix protoype of __builtin_non_tx_store.
2013-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.target/s390/htm-1.c: Add more tests to cover different
operand types.
From-SVN: r203239
GCC Administrator [Mon, 7 Oct 2013 00:16:52 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r203235
Paolo Carlini [Sun, 6 Oct 2013 21:41:19 +0000 (21:41 +0000)]
re PR c++/58126 (No diagnostic when inheriting an uninitialized const or reference member)
/cp
2013-10-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58126
* class.c (check_bases): Propagate CLASSTYPE_READONLY_FIELDS_NEED_INIT
and CLASSTYPE_REF_FIELDS_NEED_INIT from bases to derived.
* init.c (diagnose_uninitialized_cst_or_ref_member_1): Extend error
messages about uninitialized const and references members to mention
the base class.
/testsuite
2013-10-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58126
* g++.dg/init/uninitialized1.C: New.
From-SVN: r203232
Tim Shen [Sun, 6 Oct 2013 17:53:14 +0000 (17:53 +0000)]
regex.h: (regex_token_iterator<>::regex_token_iterator): Fix compile error.
2013-10-06 Tim Shen <timshen91@gmail.com>
* include/bits/regex.h: (regex_token_iterator<>::regex_token_iterator):
Fix compile error.
* include/bits/regex.tcc: (regex_replace<>): Remove default parameter.
2013-10-06 Tim Shen <timshen91@gmail.com>
* include/bits/regex.h (__regex_algo_impl<>, regex_match<>,
regex_search<>): New abstract function for regex_match and regex_search.
* include/bits/regex.tcc (__regex_algo_impl<>): Implement.
* include/bits/regex_executor.h
(_Executor<>::_M_lookahead,
_DFSExecutor<>::_M_clone,
_BFSExecutor<>::_M_clone): Let _M_clone to choose which executor to
use.
* include/bits/regex_executor.tcc (__get_executor<>): Update the
definition to support __policy.
* testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Use
*_debug.
* testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: Same.
* testsuite/28_regex/algorithms/regex_match/basic/string_01.cc: Same.
* testsuite/28_regex/algorithms/regex_match/basic/string_range_00_03.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/basic/string_range_01_03.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/basic/string_range_02_03.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc: Same.
* testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc: Same.
* testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc: Same.
* testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: Same.
* testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Same.
* testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: Same.
* testsuite/28_regex/algorithms/regex_match/extended/
string_bracket_01.cc: Same.
* testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/extended/
string_questionmark.cc: Same.
* testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/extended/string_any.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/extended/
string_dispatch_01.cc: Same.
* testsuite/28_regex/algorithms/regex_match/extended/
string_range_00_03.cc: Same.
* testsuite/28_regex/algorithms/regex_match/extended/
string_range_01_03.cc: Same.
* testsuite/28_regex/algorithms/regex_match/extended/
string_range_02_03.cc: Same.
* testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
Same.
* testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: Same.
* testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: Same.
* testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Same.
* testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Same.
* testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: Same.
* testsuite/28_regex/match_results/format.cc: Same.
* testsuite/util/testsuite_regex.h
(regex_match_debug<>, regex_search_debug<>): Implement.
From-SVN: r203231
Paolo Carlini [Sun, 6 Oct 2013 14:43:07 +0000 (14:43 +0000)]
re PR c++/56060 (ICE on invalid code in type_dependent_expression_p, at cp/pt.c:19742)
/cp
2013-10-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56060
* pt.c (type_dependent_expression_p): Handle EXPR_PACK_EXPANSION.
/testsuite
2013-10-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56060
* g++.dg/cpp0x/variadic144.C: New.
From-SVN: r203229
Oleg Endo [Sun, 6 Oct 2013 13:44:47 +0000 (13:44 +0000)]
re PR libstdc++/58625 (std::signbit always converts to double)
2013-10-06 Oleg Endo <olegendo@gcc.gnu.org>
Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/58625
* include/c_global/cmath (signbit): Use __builtin_signbitf and
__builtin_signbitl.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r203228
GCC Administrator [Sun, 6 Oct 2013 00:16:38 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r203227
GCC Administrator [Sat, 5 Oct 2013 00:17:08 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r203223
Paolo Carlini [Fri, 4 Oct 2013 23:48:29 +0000 (23:48 +0000)]
re PR c++/58560 ([c++11] ICE with auto in typedef)
/cp
2013-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58560
* typeck2.c (build_functional_cast): Use error_operand_p on exp.
/testsuite
2013-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58560
* g++.dg/cpp0x/auto39.C: New.
From-SVN: r203220
Paolo Carlini [Fri, 4 Oct 2013 23:17:51 +0000 (23:17 +0000)]
re PR c++/58503 ([c++11] ICE with invalid range in range-based for-loop)
/cp
2013-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58503
* parser.c (cp_parser_perform_range_for_lookup): If eventually
either *begin or *end is type-dependent, return NULL_TREE.
(do_range_for_auto_deduction): If cp_parser_perform_range_for_lookup
returns NULL_TREE, don't actually do_auto_deduction.
/testsuite
2013-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58503
* g++.dg/cpp0x/range-for26.C: New.
* g++.dg/cpp0x/range-for27.C: Likewise.
From-SVN: r203219
Paolo Carlini [Fri, 4 Oct 2013 23:13:59 +0000 (23:13 +0000)]
re PR c++/58448 (ICE on invalid: tree_class_check_failed)
/cp
2013-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58448
* pt.c (tsubst): Use error_operand_p on parameter t.
/testsuite
2013-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58448
* g++.dg/template/crash117.C: New.
From-SVN: r203218
Jeff Law [Fri, 4 Oct 2013 20:36:27 +0000 (14:36 -0600)]
tree-ssa-threadedge.c: Fix some trailing whitespace problems.
* tree-ssa-threadedge.c: Fix some trailing whitespace problems.
* tree-ssa-threadedge.c (thread_through_normal_block): Broken out of ...
(thread_across_edge): Here. Call it.
From-SVN: r203217
Ian Lance Taylor [Fri, 4 Oct 2013 18:52:22 +0000 (18:52 +0000)]
reflect: Fix calling Interface method on value created by MakeFunc.
From-SVN: r203212
Chris Manghane [Fri, 4 Oct 2013 18:07:20 +0000 (18:07 +0000)]
compiler: Use backend interface for temporary reference expressions.
* go-gcc.cc (Backend::convert_expression): New function.
From-SVN: r203209
Cary Coutant [Fri, 4 Oct 2013 16:25:23 +0000 (16:25 +0000)]
dwarf2out.c (dw_sra_loc_expr): Release addr_table entries when discarding a location list expression (or a...
gcc/
* dwarf2out.c (dw_sra_loc_expr): Release addr_table entries when
discarding a location list expression (or a piece of one).
From-SVN: r203206
Jan Hubicka [Fri, 4 Oct 2013 16:19:23 +0000 (16:19 +0000)]
Fix changelog.
From-SVN: r203205
Uros Bizjak [Fri, 4 Oct 2013 07:06:16 +0000 (09:06 +0200)]
* ChangeLog: Some further fixes.
From-SVN: r203199
Uros Bizjak [Fri, 4 Oct 2013 07:04:51 +0000 (09:04 +0200)]
ChangeLog: Fix ChangeLog.
* ChangeLog: Fix ChangeLog.
* testsuite/ChangeLog: Ditto.
From-SVN: r203198
GCC Administrator [Fri, 4 Oct 2013 00:16:56 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r203197
Marc Glisse [Thu, 3 Oct 2013 23:48:18 +0000 (01:48 +0200)]
re PR c++/19476 (Missed null checking elimination with new)
2013-10-04 Marc Glisse <marc.glisse@inria.fr>
PR c++/19476
gcc/cp/
* decl.c (cxx_init_decl_processing): Set operator_new_flag.
gcc/testsuite/
* g++.dg/tree-ssa/pr19476-5.C: New file.
* g++.dg/tree-ssa/pr19476-1.C: Mention pr19476-5.C.
From-SVN: r203194
Paolo Carlini [Thu, 3 Oct 2013 22:50:59 +0000 (22:50 +0000)]
re PR c++/58584 ([c++11] ICE with invalid argument for alignas)
/cp
2013-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58584
* decl2.c (save_template_attributes): Handle error_mark_node as
*attr_p argument.
(cp_check_const_attributes): Likewise for attributes.
* parser.c (cp_parser_std_attribute_spec): When alignas_expr is an
error_mark_node call cp_parser_skip_to_end_of_statement.
/testsuite
2013-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58584
* g++.dg/cpp0x/gen-attrs-55.C: New.
From-SVN: r203193
Joseph Myers [Thu, 3 Oct 2013 21:44:12 +0000 (22:44 +0100)]
* sr.po: Update.
From-SVN: r203191
Tim Shen [Thu, 3 Oct 2013 20:54:01 +0000 (20:54 +0000)]
regex_executor.tcc (_DFSExecutor<>::_M_dfs): Fix wrong backup variable initialization.
2013-10-03 Tim Shen <timshen91@gmail.com>
* include/bits/regex_executor.tcc (_DFSExecutor<>::_M_dfs): Fix wrong
backup variable initialization.
From-SVN: r203190