OSDN Git Service

pf3gnuchains/gcc-fork.git
11 years ago2013-04-12 Robert Dewar <dewar@adacore.com>
charlet [Fri, 12 Apr 2013 13:39:09 +0000 (13:39 +0000)]
2013-04-12  Robert Dewar  <dewar@adacore.com>

* exp_aggr.adb: Minor reformatting.
* namet.ads, namet.adb (Nam_In): New functions.

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

11 years ago2013-04-12 Robert Dewar <dewar@adacore.com>
charlet [Fri, 12 Apr 2013 13:35:06 +0000 (13:35 +0000)]
2013-04-12  Robert Dewar  <dewar@adacore.com>

* einfo.adb (Has_Dynamic_Predicate_Aspect): New flag.
(Has_Static_Predicate_Aspect): New flag.
* einfo.ads (Has_Dynamic_Predicate_Aspect): New flag.
(Has_Static_Predicate_Aspect): New flag.
* exp_ch9.adb: Minor reformatting.
* exp_util.adb (Make_Invariant_Call): Check_Enabled now handles
synonyms.
* gnat1drv.adb: Remove setting of Debug_Pragmas_Enabled,
since this switch is gone and control of Debug is done with
Assertions_Enabled.
* gnat_rm.texi: Update documentation for Assertion_Policy and
Check_Policy pragmas.
* opt.adb (Debug_Pragmas_Disabled[_Config]): Removed
(Debug_Pragmas_Enabled[_Config]): Removed Since debug now
controlled by Assertion_Enabled.
* opt.ads (Debug_Pragmas_Disabled[_Config]): Removed
(Debug_Pragmas_Enabled[_Config]): Removed Since debug now
controlled by Assertion_Enabled.
* par-ch2.adb (Scan_Pragma_Argument_Association): Allow new
'Class forms.
* sem_attr.adb: Minor reformatting.
* sem_ch13.adb (Analyze_Aspect_Specification): Disable aspect
if DISABLE policy applies.
* sem_ch6.adb (Grab_PPC): Check original name of aspect for
aspect from pragma (Process_PPCs): Properly check assertion policy.
* sem_prag.adb (Check_Enabled): Rewritten for new Assertion_Policy
(Check_Appicable_Policy): New procedure.
(Is_Valid_Assertion_Kind): New function.
(Rewrite_Assertion_Kind): New procedure.
(Analyze_Pragma): Handle case of disabled assertion pragma.
(Analyze_Pragma, case Assertion_Policy): Rewritten for Ada 2012.
(Analyze_Pragma, case Check): Deal with 'Class possibilities.
(Analyze_Pragma, case Check_Policy): Deal with 'Class possibilities.
(Analyze_Pragma, case Contract_Class): New handling of ignored pragma.
(Analyze_Pragma, case Debug): New control with Assertion_Policy.
(Analyze_Pragma, case Debug_Policy): Now consistent with
Assertion_Policy.
(Analyze_Pragma, case Loop_Invariant): New handling of ignored
pragma.
(Analyze_Pragma, case Loop_Variant): New handling of ignored pragma.
(Analyze_Pragma, case Precondition): Use proper name for Check pragma.
(Analyze_Pragma, case Check_Enabled): Rewritten for new policy stuff.
* sem_prag.ads (Check_Enabled): Rewritten for new
Assertion_Policy stuff.
(Check_Appicable_Policy): New procedure.
* sinfo.adb (Is_Disabled): New flag.
(Is_Ignored): New flag.
* sinfo.ads (Is_Disabled): New flag.
(Is_Ignored): New flag.
(N_Pragma_Argument_Association): New 'Class forms.
* snames.ads-tmpl: New names Name_uPre, Name_uPost,
Name_uType_Invariant, Name_uInvariant.
* switch-c.adb: Remove setting of Debug_Pragmas_Enabled for -gnata.
* tree_io.ads (ASIS_Version_Number): Updated (remove
read write of obsolete flags Debug_Pragmas_Disabled and
Debug_Pragmas_Enabled.

2013-04-12  Ed Schonberg  <schonberg@adacore.com>

* exp_aggr.adb (Get_Explicit_Discriminant_Value): Subsidiary
of Build_Record_Aggr_Code, used to retrieve explicit values
for inherited discriminants in an extension aggregate, when the
ancestor type is unconstrained.

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

11 years ago2013-04-12 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 12 Apr 2013 13:31:37 +0000 (13:31 +0000)]
2013-04-12  Ed Schonberg  <schonberg@adacore.com>

* sem_attr.adb (Check_Stream_Attribute): If restriction
No_Default_Stream_Attributes is active, it is illegal to use a
predefined elementary type stream attribute either by itself,
or more importantly as part of the attribute subprogram for a
composite type. However, if the broader restriction No_Streams
is active, then stream operations are not generated, and there
is no error.

2013-04-12  Robert Dewar  <dewar@adacore.com>

* gnatbind.adb: Minor reformatting.

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

11 years ago2013-04-12 Bob Duff <duff@adacore.com>
charlet [Fri, 12 Apr 2013 13:24:37 +0000 (13:24 +0000)]
2013-04-12  Bob Duff  <duff@adacore.com>

* sem_attr.adb (Analyze_Access_Attribute): Treat P'Access like a
call only in the static elaboration model.

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

11 years ago2013-04-12 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Fri, 12 Apr 2013 13:23:23 +0000 (13:23 +0000)]
2013-04-12  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Input_List): Detect an illegal dependency
clause where both input and output lists are null.
(Analyze_Pragma): Update the grammar of pragma Depends.

2013-04-12  Vincent Celier  <celier@adacore.com>

* gnatbind.adb (No_Restriction_List): Exclude restrictions that
take a parameter value, not a count.
* prj.ads, prj.adb (Remove_All_Restricted_Languages): New procedure.
* projects.texi: Complete documentation of attribute Roots.

2013-04-12  Thomas Quinot  <quinot@adacore.com>

* exp_ch3.adb, exp_util.ads, checks.adb, freeze.adb, sem_attr.adb,
sem_ch3.adb: Minor reformatting.
* exp_ch4.adb (Size_In_Storage_Elements): Minor documentation
improvement: note that the computation is pessimistic for bit
packed arrays.
* gnat_rm.texi (Range_Length): Fix minor error in description
of attribute.

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

11 years ago2013-04-12 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Fri, 12 Apr 2013 13:20:29 +0000 (13:20 +0000)]
2013-04-12  Hristian Kirtchev  <kirtchev@adacore.com>

* aspects.adb (Find_Aspect): New routine.
(Find_Value_Of_Aspect): New routine.
(Has_Aspect): Reimplemented.
* aspects.ads (Find_Aspect): New routine.
(Find_Value_Of_Aspect): New routine, previously known as Find_Aspect.
* exp_ch5.adb (Expand_Iterator_Loop): Update the call to Find_Aspect.
* exp_util.adb (Is_Iterated_Container): Update the call to Find_Aspect.
* sem_ch4.adb (Try_Container_Indexing): Update calls to Find_Aspect.
* sem_ch5.adb (Analyze_Iterator_Specification): Update
the call to Find_Aspect. Use function Has_Aspect for better
readability.
(Preanalyze_Range): Use function Has_Aspect for better readability.
* sem_ch13.adb (Check_One_Function): Update the call to Find_Aspect.
* sem_prag.adb (Analyze_Pragma): There is no longer need to
look at the parent to extract the corresponding pragma for
aspect Global.

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

11 years ago2013-04-12 Robert Dewar <dewar@adacore.com>
charlet [Fri, 12 Apr 2013 13:19:15 +0000 (13:19 +0000)]
2013-04-12  Robert Dewar  <dewar@adacore.com>

* checks.adb, sem_elab.adb, repinfo.adb, sem_ch4.adb, restrict.adb,
restrict.ads: Minor reformatting.

2013-04-12  Ed Schonberg  <schonberg@adacore.com>

* lib-xref.adb: Retrieve original name of classwide type if any.

2013-04-12  Thomas Quinot  <quinot@adacore.com>

* exp_ch11.ads: Minor reformatting.

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

11 years ago2013-04-12 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Fri, 12 Apr 2013 13:17:28 +0000 (13:17 +0000)]
2013-04-12  Hristian Kirtchev  <kirtchev@adacore.com>

* aspects.adb: Alphabetize subprogram bodies in this unit. Add
an entry for Aspect_Ghost in the table of canonical aspects.
(Has_Aspect): New routine.
* aspects.ads: Add Aspect_Ghost to all relevant
tables. Alphabetize subprograms in this unit.
(Has_Aspect): New routine.
* einfo.adb: Add with and use clauses for Aspects.
(Is_Ghost_Function): New routine.
* einfo.ads: Add new synthesized attribute Is_Ghost_Function and
update the structure of the related nodes.
(Is_Ghost_Function): New routine.
* exp_ch4.adb (Find_Enclosing_Context): Use routine
Is_Body_Or_Package_Declaration to terminate a search.
(Is_Body_Or_Unit): Removed.
* exp_util.adb (Within_Case_Or_If_Expression): Use routine
Is_Body_Or_Package_Declaration to terminate a search.
* par-prag.adb: Add pragma Ghost to the list of pragmas that do
not need special processing by the parser.
* sem_attr.adb (Analyze_Access_Attribute): Detect an
illegal use of 'Access where the prefix is a ghost function.
(Analyze_Attribute): Use routine Is_Body_Or_Package_Declaration
to terminate a search. (Check_References_In_Prefix): Use routine
Is_Body_Or_Package_Declaration to terminate a search.
* sem_ch4.adb (Analyze_Call): Mark a function when it appears
inside an assertion expression.  Verify the legality of a call
to a ghost function.
(Check_Ghost_Function_Call): New routine.
* sem_ch6.adb (Analyze_Function_Call): Code reformatting. Move
the setting of attribute In_Assertion_Expression to Analyze_Call.
(Check_Overriding_Indicator): Detect an illegal attempt to
override a function with a ghost function.
* sem_ch12.adb (Preanalyze_Actuals): Detect an illegal use of
a ghost function as a generic actual.
* sem_elab.adb (Check_Internal_Call_Continue): Update the call
to In_Assertion.
* sem_prag.adb: Add an entry for pragma Ghost in the table
of significant arguments.
(Analyze_Pragma): Do not analyze
an "others" case guard. Add processing for pragma Ghost. Use
Preanalyze_Assert_Expression when analyzing the expression of
pragmas Loop_Invariant and Loop_Variant.
* sem_util.adb (Get_Subprogram_Entity): Reimplemented.
(Is_Body_Or_Package_Declaration): New routine.
* sem_util.ads: Alphabetize subprotrams in this unit.
(Is_Body_Or_Package_Declaration): New routine.
* sinfo.adb (In_Assertion): Rename to In_Assertion_Expression.
(Set_In_Assertion): Rename to Set_In_Assertion_Expression.
* sinfo.ads: Rename flag In_Assertion to In_Assertion_Expression
to better reflect its use.  Update all places that mention the flag.
(In_Assertion): Rename to In_Assertion_Expression. Update
related pragma Inline. (Set_In_Assertion): Rename to
Set_In_Assertion_Expression. Update related pragma Inline.
* snames.ads-tmpl: Add new predefined name Ghost. Add new pragma
id Pragma_Ghost.

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

11 years ago2013-04-12 Arnaud Charlet <charlet@adacore.com>
charlet [Fri, 12 Apr 2013 13:15:12 +0000 (13:15 +0000)]
2013-04-12  Arnaud Charlet  <charlet@adacore.com>

* sem_prag.adb (Set_Imported): Do not generate error for multiple
Import in CodePeer mode.
* s-rident.ads: Fix minor typo.

2013-04-12  Ed Schonberg  <schonberg@adacore.com>

* checks.adb (Insert_Valid_Check): Do not insert validity check
in the body of the generated predicate function, to prevent
infinite recursion.

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

11 years ago2013-04-12 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 12 Apr 2013 13:12:02 +0000 (13:12 +0000)]
2013-04-12  Ed Schonberg  <schonberg@adacore.com>

* s-rident.ads: Add various missing Ada 2012 restrictions:
No_Access_Parameter_Allocators, No_Coextensions,
No_Use_Of_Attribute, No_Use_Of_Pragma.
* snames.ads-tmpl: Add corresponding names.
* restrict.ads restrict.adb: Subprograms and data structures to
handle aspects No_Use_Of_Attribute and No_Use_Of_Pragma.
* sem_ch4.adb: Correct name of restrictions is
No_Standard_Allocators_After_Elaboration.
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Check
violation of restriction No_Use_Of_Attribute.
* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
Set restrictions No_Use_Of_Pragma and No_Use_Of_Attribute.
(Analyze_Pragma): Check violation of restriction No_Use_Of_Pragma.
* sem_res.adb: Check restrictions No_Access_Parameter_Allocators
and No_Coextensions.
* bcheck.adb: Correct name of restrictions is
No_Standard_Allocators_After_Elaboration.
* gnatbind.adb: Correct name of restrictions is
No_Standard_Allocators_After_Elaboration.

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

11 years ago2013-04-12 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Fri, 12 Apr 2013 13:08:07 +0000 (13:08 +0000)]
2013-04-12  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Pragma, (Check_Mode_Restriction_In_Function):
Correct error message format.

2013-04-12  Robert Dewar  <dewar@adacore.com>

* sem_attr.adb: Minor reformatting.

2013-04-12  Ed Schonberg  <schonberg@adacore.com>

* sem_elab.adb (Within_Elaborate_All): Do not examine a context
item that has not been analyzed, because the unit may have errors,
or the context item may come from a proper unit inserted at the
point of a stub and not analyzed yet.

2013-04-12  Thomas Quinot  <quinot@adacore.com>

* gnat1drv.adb, repinfo.adb, repinfo.ads (Repinfo.List_Array_Info,
List_Record_Info): Also include scalar storage order information in
output.

2013-04-12  Yannick Moy  <moy@adacore.com>

* sem_ch6.adb (Process_Contract_Cases): Update code to apply to
Contract_Cases instead of Contract_Case pragma.

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

11 years ago2013-04-12 Robert Dewar <dewar@adacore.com>
charlet [Fri, 12 Apr 2013 13:04:59 +0000 (13:04 +0000)]
2013-04-12  Robert Dewar  <dewar@adacore.com>

* a-cfdlli.ads, g-socket.adb, s-fileio.adb: Minor reformatting.

2013-04-12  Yannick Moy  <moy@adacore.com>

* sem_attr.adb (Analyze_Attribute): Update analyse of
Attribute_Old and Attribute_Result so they are allowed in the
right-hand-side of an association in a Contract_Cases pragma.
* sem_prag.adb (Analyze_CTC_In_Decl_Part): Add pre-analysis of
the expressions in a Contract_Cases pragma.

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

11 years ago2013-04-12 Robert Dewar <dewar@adacore.com>
charlet [Fri, 12 Apr 2013 13:03:19 +0000 (13:03 +0000)]
2013-04-12  Robert Dewar  <dewar@adacore.com>

* sem.ads, opt.ads: Minor comment edits.
* sem_warn.adb, sem_ch6.adb: Minor reformatting.

2013-04-12  Claire Dross  <dross@adacore.com>

* a-cfdlli.adb a-cfdlli.ads (List, Not_No_Element, Iterate,
Reverse_Iterate, Query_Element, Update_Element, Read, Write): Removed,
not suitable for formal analysis.

2013-04-12  Ed Schonberg  <schonberg@adacore.com>

* sem_prag.adb (Analyze_Abstract_State): Use Defining entity
to locate package entity, which may be a child unit.

2013-04-12  Thomas Quinot  <quinot@adacore.com>

* g-socket.adb, g-socket.ads (Connect_Socket, version with timeout): If
the specified timeout is 0, do not attempt to determine whether the
connection succeeded.

2013-04-12  Doug Rupp  <rupp@adacore.com>

* s-fileio.adb (Form_RMS Context_Key): Fix some thinkos.

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

11 years ago2013-04-12 Doug Rupp <rupp@adacore.com>
charlet [Fri, 12 Apr 2013 12:59:15 +0000 (12:59 +0000)]
2013-04-12  Doug Rupp  <rupp@adacore.com>

* s-fileio.adb: Minor reformatting.

2013-04-12  Ed Schonberg  <schonberg@adacore.com>

* sem_warn.adb (Check_Infinite_Loop_Warning): Do not warn if
the last statement in the analyzed loop is an unconditional
exit statement.

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

11 years ago2013-04-12 Robert Dewar <dewar@adacore.com>
charlet [Fri, 12 Apr 2013 12:58:01 +0000 (12:58 +0000)]
2013-04-12  Robert Dewar  <dewar@adacore.com>

* opt.ads (Style_Check_Main): New switch.
* sem.adb (Semantics): Set Style_Check flag properly for new
unit to be analyzed.
* sem_ch10.adb (Analyze_With_Clause): Don't reset Style_Check,
the proper setting of this flag is now part of the Semantics
procedure.
* switch-c.adb (Scan_Front_End_Switches): Set Style_Check_Main
for -gnatg and -gnaty

2013-04-12  Doug Rupp  <rupp@adacore.com>

* s-crtl.ads (fopen, freopen): Add vms_form parameter
* i-cstrea.ads (fopen, freopen): Likewise.
* adaint.h (__gnat_fopen, __gnat_freopen): Likewise.
* adaint.c (__gnat_fopen, __gnat_freopen): Likewise.
[VMS]: Split out RMS keys and call CRTL function appropriately.
* s-fileio.adb (Form_VMS_RMS_Keys, Form_RMS_Context_Key): New
subprograms.
(Open, Reset): Call Form_VMS_RMS_Keys. Call fopen,freopen with
vms_form
* gnat_rm.texi: Document implemented RMS keys.

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

11 years ago2013-04-12 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Fri, 12 Apr 2013 12:55:34 +0000 (12:55 +0000)]
2013-04-12  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch13.adb (Analyze_Aspect_Specifications):
Insert the corresponding pragma for aspect Abstract_State at
the top of the visible declarations of the related package.
Previously this was only done when the package is a compilation
unit.

2013-04-12  Arnaud Charlet  <charlet@adacore.com>

* gnat_ugn.texi: Further menu clean ups.
* sem_prag.adb, opt.ads: Minor reformatting.
* sem_util.ads: Minor comment fix.

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

11 years ago2013-04-12 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Fri, 12 Apr 2013 12:52:32 +0000 (12:52 +0000)]
2013-04-12  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch13.adb (Analyze_Aspect_Specifications): Aspect
Depends is now a delayed aspect. The delay is required
due to the interplay between aspects Depends and Global.
(Check_Aspect_At_Freeze_Point): Add an entry for aspect Depends.
* sem_prag.adb: Reformat various error messages.
(Add_Item): New subsidiary routine.
(Analyze_Pragma): Add new variables
Global_Seen, Result_Seen, Subp_Inputs and Subp_Outputs. The
analysis of pragma Depends now has the capability to check
the proper mode and usage of subprogram inputs and outputs.
(Appears_In): New routine.
(Check_Function_Return): New routine.
(Check_Mode): New routine.
(Check_Usage): New routine.
(Collect_Subprogram_Inputs_Outputs): New routine.

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

11 years ago2013-04-12 Bob Duff <duff@adacore.com>
charlet [Fri, 12 Apr 2013 12:48:12 +0000 (12:48 +0000)]
2013-04-12  Bob Duff  <duff@adacore.com>

* par-ch7.adb (P_Package): Initialize Sloc in the newly-pushed scope
stack entry.

2013-04-12  Robert Dewar  <dewar@adacore.com>

* switch-c.adb: Minor fix to wording of error message for
-gnatet/eT.

2013-04-12  Robert Dewar  <dewar@adacore.com>

* impunit.adb: Add s-multip and s-mudido to list of impl defined
system units.
* gnat_rm.texi: Add documentation for
System.Multiprocessors[.Dispatching_Domains].

2013-04-12  Ben Brosgol  <brosgol@adacore.com>

* gnat_ugn.texi: Completion of menu cleanups.

2013-04-12  Arnaud Charlet  <charlet@adacore.com>

* sem_prag.adb (Diagnose_Multiple_Pragmas): Relax the rules
in Relaxed_RM_Semantics.

2013-04-12  Arnaud Charlet  <charlet@adacore.com>

* set_targ.adb (elab code): Add support for non gcc back-ends
where save_argv is null.

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

11 years ago2013-04-12 Robert Dewar <dewar@adacore.com>
charlet [Fri, 12 Apr 2013 12:44:46 +0000 (12:44 +0000)]
2013-04-12  Robert Dewar  <dewar@adacore.com>

* gnat1drv.adb (Gnat1drv): Test Target_Dependent_Info_Write_Name.
* opt.ads (Target_Dependent_Info_Read): Add _Name, now an access
type (Target_Dependent_Info_Write): Add _Name, now an access type.
* set_targ.adb (Write_Target_Dependent_Values): Use name
from -gnatet switch stored in Target_Dependent_Info_Write_Name
(Read_Target_Dependent_Values): Use name from -gnateT switch
stored in Target_Dependent_Info_Read_Name.
* switch-c.adb: New form of -gnatet and -gnateT switches.
* usage.adb: New form of -gnatet and -gnateT switches with
file name.

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

11 years ago2013-04-12 Richard Biener <rguenther@suse.de>
rguenth [Fri, 12 Apr 2013 09:50:28 +0000 (09:50 +0000)]
2013-04-12  Richard Biener  <rguenther@suse.de>

* tree-pass.h (TODO_do_not_ggc_collect): New.
* passes.c (execute_one_ipa_transform_pass): Honor
TODO_do_not_ggc_collect.
(execute_one_pass): Likewise.

Revert
2013-04-10  Richard Biener  <rguenther@suse.de>

* passes.c (init_optimization_passes): Remove reload pass.
* ira.c (do_reload): Merge into ...
(ira): ... this.
(rest_of_handle_reload): Remove.
(pass_reload): Likewise.
* config/i386/i386.c (ix86_option_override): Refer to ira instead
of reload for vzeroupper pass placement.

* g++.dg/pr55604.C: Use -fdump-rtl-ira.

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

11 years ago2013-04-12 Tobias Burnus <burnus@net-b.de>
burnus [Fri, 12 Apr 2013 08:54:15 +0000 (08:54 +0000)]
2013-04-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56845
        * trans-decl.c (gfc_trans_deferred_vars): Restrict
        static CLASS init to SAVE and -fno-automatic.

2013-04-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56845
        * gfortran.dg/class_allocate_15.f90: New.

        Revert:
        2013-04-12  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_lib_alloc_2.f90: Update
        scan-tree-dump-times.

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

11 years ago PR tree-optimization/56918
jakub [Fri, 12 Apr 2013 08:18:59 +0000 (08:18 +0000)]
PR tree-optimization/56918
PR tree-optimization/56920
* fold-const.c (int_const_binop_1): Use op1.mul_with_sign (op2, ...)
instead of op1 - op2.  Pass 2 * TYPE_PRECISION (type) as second
argument to rshift method.  For 2 * HOST_BITS_PER_WIDE_INT precision
use wide_mul_with_sign method.

* gcc.dg/vect/pr56918.c: New test.
* gcc.dg/vect/pr56920.c: New test.

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

11 years ago2013-04-12 Richard Biener <rguenther@suse.de>
rguenth [Fri, 12 Apr 2013 07:59:58 +0000 (07:59 +0000)]
2013-04-12  Richard Biener  <rguenther@suse.de>

* gimple.c (is_gimple_constant): Vector CONSTRUCTORs should
not be considered a gimple constant.

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

11 years ago2013-04-12 Tobias Burnus <burnus@net-b.de>
burnus [Fri, 12 Apr 2013 07:41:50 +0000 (07:41 +0000)]
2013-04-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56845
        * trans-decl.c (gfc_trans_deferred_vars): Set _vptr for
        allocatable static BT_CLASS.
        * trans-expr.c (gfc_class_set_static_fields): New function.
        * trans.h (gfc_class_set_static_fields): New prototype.

2013-04-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56845
        * gfortran.dg/class_allocate_14.f90: New.
        * gfortran.dg/coarray_lib_alloc_2.f90: Update
        * scan-tree-dump-times.
        * gfortran.dg/coarray_lib_alloc_3.f90: New.

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

11 years ago2013-04-12 Marc Glisse <marc.glisse@inria.fr>
glisse [Fri, 12 Apr 2013 07:40:37 +0000 (07:40 +0000)]
2013-04-12  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* fold-const.c (const_binop): Handle vector shifts by a scalar.
(fold_binary_loc): Call const_binop also for mixed vector-scalar
operations.

gcc/testsuite/
* gcc.dg/fold-cstvecshift.c: New testcase.

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

11 years ago * opts.c: Include diagnostic-color.h.
jakub [Fri, 12 Apr 2013 06:20:36 +0000 (06:20 +0000)]
* opts.c: Include diagnostic-color.h.
(common_handle_option): Handle OPT_fdiagnostics_color_.
* Makefile.in (OBJS-libcommon): Add diagnostic-color.o.
(diagnostic.o, opts.o, pretty-print.o): Depend on diagnostic-color.h.
(diagnostic-color.o): New.
* common.opt (fdiagnostics-color, fdiagnostics-color=): New options.
(diagnostic_color_rule): New enum.
* dwarf2out.c (gen_producer_string): Don't print -fdiagnostics-color*.
* langhooks.c (lhd_print_error_function): Add %r "locus" and %R around
the location string.
* diagnostic.def: Add 3rd argument to DEFINE_DIAGNOSTIC_KIND macros,
either NULL, or color kind.
* diagnostic-color.c: New file.
* diagnostic-color.h: New file.
* diagnostic-core.h (DEFINE_DIAGNOSTIC_KIND): Adjust macro for 3
arguments.
* doc/invoke.texi (-fdiagnostics-color): Document.
* pretty-print.h (pp_show_color): Define.
(struct pretty_print_info): Add show_color field.
* diagnostic.c: Include diagnostic-color.h.
(diagnostic_build_prefix): Adjust for 3 argument DEFINE_DIAGNOSTIC_KIND
macros.  Colorize error:, warning: etc. strings and also the location
string.
(diagnostic_show_locus): Colorize the caret line.
* pretty-print.c: Include diagnostic-color.h.
(pp_base_format): Handle %r and %R format specifiers.  Colorize strings
inside of %< %> quotes or quoted through q format modifier.
c-family/
* c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
specifiers.
cp/
* error.c (cp_print_error_function,
print_instantiation_partial_context_line,
maybe_print_constexpr_context): Colorize locus strings.

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

11 years ago * opts.c: Include diagnostic-color.h.
jakub [Fri, 12 Apr 2013 06:19:58 +0000 (06:19 +0000)]
* opts.c: Include diagnostic-color.h.
(common_handle_option): Handle OPT_fdiagnostics_color_.
* Makefile.in (OBJS-libcommon): Add diagnostic-color.o.
(diagnostic.o, opts.o, pretty-print.o): Depend on diagnostic-color.h.
(diagnostic-color.o): New.
* common.opt (fdiagnostics-color, fdiagnostics-color=): New options.
(diagnostic_color_rule): New enum.
* dwarf2out.c (gen_producer_string): Don't print -fdiagnostics-color*.
* langhooks.c (lhd_print_error_function): Add %r "locus" and %R around
the location string.
* diagnostic.def: Add 3rd argument to DEFINE_DIAGNOSTIC_KIND macros,
either NULL, or color kind.
* diagnostic-color.c: New file.
* diagnostic-color.h: New file.
* diagnostic-core.h (DEFINE_DIAGNOSTIC_KIND): Adjust macro for 3
arguments.
* doc/invoke.texi (-fdiagnostics-color): Document.
* pretty-print.h (pp_show_color): Define.
(struct pretty_print_info): Add show_color field.
* diagnostic.c: Include diagnostic-color.h.
(diagnostic_build_prefix): Adjust for 3 argument DEFINE_DIAGNOSTIC_KIND
macros.  Colorize error:, warning: etc. strings and also the location
string.
(diagnostic_show_locus): Colorize the caret line.
* pretty-print.c: Include diagnostic-color.h.
(pp_base_format): Handle %r and %R format specifiers.  Colorize strings
inside of %< %> quotes or quoted through q format modifier.
c-family/
* c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
specifiers.
cp/
* error.c (cp_print_error_function,
print_instantiation_partial_context_line,
maybe_print_constexpr_context): Colorize locus strings.

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

11 years ago2013-04-12 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
krebbel [Fri, 12 Apr 2013 05:38:27 +0000 (05:38 +0000)]
2013-04-12  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* ifcvt.c (end_ifcvt_sequence): Mark a and b for unsharing as
well.

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

11 years agogcc
naveenh [Fri, 12 Apr 2013 04:19:14 +0000 (04:19 +0000)]
gcc

2013-04-10   Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

* config/aarch64/aarch64.c (aarch64_select_cc_mode): Allow NEG
code in CC_NZ mode.
* config/aarch64/aarch64.md (*neg_<shift><mode>3_compare0): New
pattern.

gcc/testsuite

2013-04-10   Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

* gcc.target/aarch64/negs.c: New.

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

11 years agoDaily bump.
gccadmin [Fri, 12 Apr 2013 00:16:45 +0000 (00:16 +0000)]
Daily bump.

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

11 years agofix changelog
jason [Thu, 11 Apr 2013 19:53:47 +0000 (19:53 +0000)]
fix changelog

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

11 years ago PR c++/52748
jason [Thu, 11 Apr 2013 19:51:52 +0000 (19:51 +0000)]
PR c++/52748
* parser.c (complain_flags): New.
(cp_parser_postfix_expression): Use it.
(cp_parser_unary_expression): Likewise.
(cp_parser_binary_expression): Likewise.
(cp_parser_assignment_expression): Likewise.
(cp_parser_expression): Likewise.
(cp_parser_postfix_open_square_expression): Take decltype_p.
(cp_parser_builtin_offsetof): Adjust.
(cp_convert_range_for): Pass complain to finish_unary_op_expr.
* semantics.c (finish_unary_op_expr): Add complain parm.

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

11 years ago PR c++/56895
jakub [Thu, 11 Apr 2013 19:42:33 +0000 (19:42 +0000)]
PR c++/56895
* call.c (null_ptr_cst_p): Call fold_non_dependent_expr_sfinae before
calling maybe_constant_value for C++98.

* g++.dg/template/arrow4.C: New test.

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

11 years ago PR c++/56901
jason [Thu, 11 Apr 2013 16:49:57 +0000 (16:49 +0000)]
PR c++/56901
* semantics.c (lambda_capture_field_type, lambda_proxy_type):
Strip references before checking WILDCARD_TYPE_P.

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

11 years ago PR tree-optimization/48184
mpolacek [Thu, 11 Apr 2013 16:20:26 +0000 (16:20 +0000)]
PR tree-optimization/48184
* params.def (PARAM_ALIGN_THRESHOLD): Increase the minimum
value to 1.

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

11 years ago * stor-layout.c (skip_simple_constant_arithmetic): Move to...
ebotcazou [Thu, 11 Apr 2013 16:15:25 +0000 (16:15 +0000)]
* stor-layout.c (skip_simple_constant_arithmetic): Move to...
* tree.c (skip_simple_constant_arithmetic): ...here and make public.
(skip_simple_arithmetic): Tidy up.
* tree.h (skip_simple_constant_arithmetic): Declare.
ada/
* gcc-interface/decl.c (elaborate_expression_1): Skip only constant
arithmetics when looking for a read-only variable in the expression.

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

11 years ago2013-04-11 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 11 Apr 2013 16:02:00 +0000 (16:02 +0000)]
2013-04-11  Paolo Carlini  <paolo.carlini@oracle.com>

* call.c (build_conditional_expr_1, build_over_call): Protect
error calls with complain & tf_error.
* typeck.c (finish_class_member_access_expr, cp_build_binary_op,
build_x_unary_op, cp_build_unary_op, cp_build_compound_expr,
build_ptrmemfunc): Likewise.
(lookup_destructor): Take tsubst_flags_t parameter, adjust.

* cvt.c (warn_ref_binding): Rename to diagnose_ref_binding.
(convert_to_reference): Adjust.

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

11 years ago * pt.c (tsubst_copy) [VAR_DECL]: Don't call tsubst for
jason [Thu, 11 Apr 2013 15:51:40 +0000 (15:51 +0000)]
* pt.c (tsubst_copy) [VAR_DECL]: Don't call tsubst for
local variables, look them up instead.
(tsubst_decl) [VAR_DECL]: Remove handling for anonymous union
proxies and substitution in unevaluated context.
(tsubst_expr) [OMP_FOR]: Instantiate OMP_FOR_PRE_BODY
before the iterators.

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

11 years ago2013-04-11 Javier Miranda <miranda@adacore.com>
charlet [Thu, 11 Apr 2013 15:26:40 +0000 (15:26 +0000)]
2013-04-11  Javier Miranda  <miranda@adacore.com>

* check.ads, exp_ch6.adb (Install_Null_Excluding_Check): No check in
interface thunks since it is performed at the caller side.
(Expand_Simple_Function_Return): No accessibility check needed in thunks
since the check is done by the target routine.

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

11 years agoUpdate with PR marker
law [Thu, 11 Apr 2013 15:22:34 +0000 (15:22 +0000)]
Update with PR marker

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

11 years ago * gcc.dg/tree-ssa/vrp87.c: Do not run test on various targets.
law [Thu, 11 Apr 2013 15:21:24 +0000 (15:21 +0000)]
   * gcc.dg/tree-ssa/vrp87.c: Do not run test on various targets.

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

11 years ago[AArch64] Define REVERSIBLE_CC_MODE.
mshawcroft [Thu, 11 Apr 2013 15:19:10 +0000 (15:19 +0000)]
[AArch64] Define REVERSIBLE_CC_MODE.

2013-04-11   Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

* config/aarch64/aarch64.h (REVERSIBLE_CC_MODE): Define.

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

11 years ago libgcc/
jules [Thu, 11 Apr 2013 14:22:54 +0000 (14:22 +0000)]
libgcc/
* config/arm/linux-atomic.c (SUBWORD_SYNC_OP, SUBWORD_VAL_CAS)
(SUBWORD_TEST_AND_SET): Use signed char/short types instead of
unsigned char/unsigned short.
(__sync_val_compare_and_swap_{1,2}): Handle signed argument.

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

11 years ago2013-04-11 Richard Biener <rguenther@suse.de>
rguenth [Thu, 11 Apr 2013 14:03:09 +0000 (14:03 +0000)]
2013-04-11  Richard Biener  <rguenther@suse.de>

* tree-vect-loop.c (get_initial_def_for_induction): Properly
generate vector constants.

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

11 years agoMinor editing.
charlet [Thu, 11 Apr 2013 13:39:45 +0000 (13:39 +0000)]
Minor editing.

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

11 years agoMinor reformatting.
charlet [Thu, 11 Apr 2013 13:39:33 +0000 (13:39 +0000)]
Minor reformatting.

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

11 years agoUpdate dependencies.
charlet [Thu, 11 Apr 2013 13:39:21 +0000 (13:39 +0000)]
Update dependencies.

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

11 years ago2013-04-11 Ed Schonberg <schonberg@adacore.com>
charlet [Thu, 11 Apr 2013 13:38:22 +0000 (13:38 +0000)]
2013-04-11  Ed Schonberg  <schonberg@adacore.com>

* sem_prag.adb (Analyze_Pragma, case Priority): pre-analyze
expression with type Any_Priority.
* exp_ch9.adb (Initialize_Protection): Check that the value
of the priority expression is within the bounds of the proper
priority type.

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

11 years ago2013-04-11 Robert Dewar <dewar@adacore.com>
charlet [Thu, 11 Apr 2013 13:37:02 +0000 (13:37 +0000)]
2013-04-11  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb, prj-env.adb: Minor reformatting.

2013-04-11  Ben Brosgol  <brosgol@adacore.com>

* gnat_ugn.texi: Clean ups.

2013-04-11  Yannick Moy  <moy@adacore.com>

* set_targ.adb: Minor comment update.

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

11 years ago2013-04-11 Pascal Obry <obry@adacore.com>
charlet [Thu, 11 Apr 2013 13:33:53 +0000 (13:33 +0000)]
2013-04-11  Pascal Obry  <obry@adacore.com>

* gnat_ugn.texi: Remove obsolete comment about DLL calling
convention.

2013-04-11  Javier Miranda  <miranda@adacore.com>

* exp_ch6.adb (Expand_Call): For the call to the target primitive
of an interface thunks do not compute the extra actuals; just
propagate the extra actuals received by the thunk.
* exp_disp.adb (Expand_Interface_Thunk): Decorate new attribute
Thunk_Entity.
* sem_ch6.adb (Create_Extra_Formals): Do not generate extra
formals in interface thunks whose target primitive has no extra
formals.

2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Pragma): Detect
a renaming by looking at the Renamed_Object attribute.
(Is_Renaming): Removed.

2013-04-11  Vincent Celier  <celier@adacore.com>

* prj-env.adb (Initialize_Default_Project_Path): Take
into account a project path file, specified by environment
variable GPR_PROJECT_PATH_FILE, before taking into account
GPR_PROJECT_PATH.
* projects.texi: Add documentation for GPR_PROJECT_PATH_FILE

2013-04-11  Ed Schonberg  <schonberg@adacore.com>

* a-cdlili.adb, a-cdlili.ads, a-cihama.adb, a-cihama.ads, a-coinve.adb,
a-coinve.ads, a-ciorse.adb, a-ciorse.ads, a-coorma.adb, a-coorma.ads,
a-cfdlli.adb, a-cfdlli.ads, a-cborma.adb, a-cborma.ads, a-cidlli.adb,
a-cidlli.ads, a-ciormu.adb, a-ciormu.ads, a-cihase.adb, a-cihase.ads,
a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads, a-cbhama.adb,
a-cbhama.ads, a-cborse.adb, a-cborse.ads, a-ciorma.adb, a-cobove.adb,
a-ciorma.ads, a-cobove.ads, a-coormu.adb, a-coormu.ads, a-cohase.adb,
a-cohase.ads, a-cbdlli.adb, a-cbdlli.ads, a-cbhase.adb, a-cbhase.ads:
Move Iterator operations from body to private part of spec.

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

11 years ago2013-04-11 Eric Botcazou <ebotcazou@adacore.com>
charlet [Thu, 11 Apr 2013 13:30:34 +0000 (13:30 +0000)]
2013-04-11  Eric Botcazou  <ebotcazou@adacore.com>

* ttypes.ads, get_targ.ads: More minor rewording of comments.

2013-04-11  Johannes Kanig  <kanig@adacore.com>

* debug.adb: Document use of switch -gnatd.Z.

2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Pragma): Both pragma Depends and Global can now
support renamings of entire objects. Legal renamings are replaced by
the object they rename.
(Is_Renaming): New routine.

2013-04-11  Yannick Moy  <moy@adacore.com>

* set_targ.adb, opt.ads: Minor changes in comments.

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

11 years ago2013-04-11 Ben Brosgol <brosgol@adacore.com>
charlet [Thu, 11 Apr 2013 13:28:02 +0000 (13:28 +0000)]
2013-04-11  Ben Brosgol  <brosgol@adacore.com>

* gnat_ugn.texi: Minor clean ups.

2013-04-11  Robert Dewar  <dewar@adacore.com>

* nlists.ads, nlists.adb, treepr.adb, treepr.ads: Move debugging
function p from Nlists to Treepr.

2013-04-11  Ed Schonberg  <schonberg@adacore.com>

* sem_disp.adb (Check_Dispatching_Context): If the context is
a contract for a null procedure defer error reporting until
postcondition body is created.
* exp_ch13.adb (Expand_N_Freeze_Entity): If the entity is a
null procedure, complete the analysis of its contracts so that
calls within classwide conditions are properly rewritten as
dispatching calls.

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

11 years ago2013-04-11 Thomas Quinot <quinot@adacore.com>
charlet [Thu, 11 Apr 2013 13:26:06 +0000 (13:26 +0000)]
2013-04-11  Thomas Quinot  <quinot@adacore.com>

* sem_ch10.adb, sem_ch12.adb: Minor reformatting.

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

11 years ago2013-04-11 Robert Dewar <dewar@adacore.com>
charlet [Thu, 11 Apr 2013 13:23:39 +0000 (13:23 +0000)]
2013-04-11  Robert Dewar  <dewar@adacore.com>

* exp_attr.adb, sem_res.adb, sem_attr.adb: Minor reformatting.

2013-04-11  Robert Dewar  <dewar@adacore.com>

* atree.adb, atree.ads (Node31): New function.
(Set_Node31): New procedure.

2013-04-11  Robert Dewar  <dewar@adacore.com>

* errout.ads: Minor typo correction.

2013-04-11  Javier Miranda  <miranda@adacore.com>

* einfo.ad[sb] (Thunk_Entity/Set_Thunk_Entity): New attribute.

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

11 years ago2013-04-11 Robert Dewar <dewar@adacore.com>
charlet [Thu, 11 Apr 2013 13:21:21 +0000 (13:21 +0000)]
2013-04-11  Robert Dewar  <dewar@adacore.com>

* back_end.adb (Register_Back_End_Types): Moved to Get_Targ
* back_end.ads (C_String): Moved to Get_Targ
(Register_Type_Proc): Moved to Get_Targ (Register_Back_End_Types):
Moved to Get_Targ.
* cstand.adb (Register_Float_Type): New interface
(Create_Back_End_Float_Types): Use entries in FPT_Mode_Table.
* get_targ.adb (Register_Back_End_Types): Moved here from
Back_End.
* get_targ.ads (C_String): Moved here from Back_End
(Register_Type_Proc): Moved here from Back_End
(Register_Back_End_Types): here from Back_End.
* gnat1drv.adb (GGnat11drv): Add call to
Write_Target_Dependent_Values;
* lib-writ.ads, lib-writ.adb (Write_ALI): Remove section writing
obsolete target dependent info.
* opt.ads (Generate_Target_Dependent_Info):
Removed (Target_Dependent_Info_Read): New flag
(Target_Dependent_Info_Write): New flag
* output.adb: Minor comment change
* s-os_lib.ads: Minor reformatting
* set_targ.ads, set_targ.adb: Minor reformatting.
* switch-c.adb (Scan_Switches.First_Ptr): New variable
(Scan_Front_End_Switches): Check -gnatd.b, -gnateT come first
(Scan_Front_End_Switches): Handle -gnatet, -gnateT
* ttypes.ads: Remove documentation section on target dependent
info in ali file Remove four letter codes, no longer used Instead
of using Get_Targ.Get_xxx, we use Set_Targ.xxx
* usage.adb: Add usage lines for -gnatet/-gnateT
* gcc-interface/Make-lang.in: Update dependencies.

2013-04-11  Thomas Quinot  <quinot@adacore.com>

* sem_ch4.adb: Update documentation.
* sinfo.ads (N_Expression_With_Actions): Ditto.

2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch13.adb (Analyze_Aspect_Specifications):
Add a guard to prevent the double insertion of the same aspect
into a rep item list. This previously led to a circularity.

2013-04-11  Ed Schonberg  <schonberg@adacore.com>

* sem_attr.adb (Eval_Attribute, case 'Access): Reject attribute
reference if the prefix is the dereference of an anonymous access
to subprogram type.
* exp_attr.adb (Expand_N_Attribute_Reference, Access_Cases): Handle
properly a reference to the current instance of a protected type
from within a protected subprogram.
* sem_res.adb (Find_Unique_Access_Type): Treat
Attribute_Access_Type like Allocator_Type when resolving an
equality operator.

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

11 years ago PR c++/23055
jason [Thu, 11 Apr 2013 13:17:54 +0000 (13:17 +0000)]
PR c++/23055
* pt.c (uses_deducible_template_parms): New.
(deducible_array_bound, deducible_expression): New.
(deducible_template_args): New.
(unify_one_argument): Call uses_deducible_template_parms.

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

11 years ago2013-04-11 Arnaud Charlet <charlet@adacore.com>
charlet [Thu, 11 Apr 2013 13:10:28 +0000 (13:10 +0000)]
2013-04-11  Arnaud Charlet  <charlet@adacore.com>

* xgnatugn.adb: Remove obsolete comments.

2013-04-11  Robert Dewar  <dewar@adacore.com>

* back_end.ads, back_end.adb: Minor reformatting.
* set_targ.ads, set_targ.adb: New files.

2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_case.adb (Check_Against_Predicate): New routine.
(Check_Choices): When the type covered by the list of choices
is a static subtype with a static predicate, check all choices
agains the predicate.
(Issue_Msg): All versions removed.
(Missing_Choice): New routines.
* sem_ch4.adb: Code and comment reformatting.
(Analyze_Case_Expression): Do not check the choices when the case
expression is being preanalyzed and the type of the expression
is a subtype with a static predicate.
(Has_Static_Predicate): New routine.
* sem_ch13.adb: Code and comment reformatting. (Build_Range):
Always build a range even if the low and hi bounds denote the
same value. This is needed by the machinery in Check_Choices.
(Build_Static_Predicate): Always build a range even if the low and
hi bounds denote the same value. This is needed by the machinery
in Check_Choices.

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

11 years ago2013-04-11 Robert Dewar <dewar@adacore.com>
charlet [Thu, 11 Apr 2013 13:06:57 +0000 (13:06 +0000)]
2013-04-11  Robert Dewar  <dewar@adacore.com>

* einfo.ads, sem_util.adb, exp_ch6.adb, xgnatugn.adb: Minor
reformatting.

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

11 years ago2013-04-11 Doug Rupp <rupp@adacore.com>
charlet [Thu, 11 Apr 2013 13:05:15 +0000 (13:05 +0000)]
2013-04-11  Doug Rupp  <rupp@adacore.com>

* gnatlink.adb: Fold program basename to lower case on VMS for
consistency.

2013-04-11  Matthew Heaney  <heaney@adacore.com>

* a-rbtgbo.adb (Generic_Equal): Initialize Result variable before
entering loop.

2013-04-11  Arnaud Charlet  <charlet@adacore.com>

* xgnatugn.adb: Remove dead code (handling of @ifset/@ifclear).

2013-04-11  Arnaud Charlet  <charlet@adacore.com>

* gnat_ugn.texi: Remove some use of ifset in menus. Not strictly
needed, and seems to confuse some versions of makeinfo.

2013-04-11  Javier Miranda  <miranda@adacore.com>

* einfo.adb (Is_Thunk): Remove assertion.
(Set_Is_Thunk): Add assertion.
* einfo.ads (Is_Thunk): Complete documentation.
* exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Code cleanup.
* exp_ch3.ad[sb] (Is_Variable_Size_Array): Moved to sem_util
(Is_Variable_Size_Record): Moved to sem_util
* exp_ch6.adb (Expand_Call): Code cleanup.
(Expand_N_Extended_Return_Statement): Code cleanup.
(Expand_Simple_Function_Return): Code cleanup.
* exp_disp.adb Remove dependency on exp_ch3
(Expand_Interface_Thunk): Add minimum decoration needed to set
attribute Is_Thunk.
* sem_ch3.ad[sb] (Is_Constant_Bound): moved to sem_util
* sem_util.ad[sb] (Is_Constant_Bound): Moved from
sem_ch3 (Is_Variable_Size_Array): Moved from exp_ch3
(Is_Variable_Size_Record): Moved from exp_ch3

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

11 years ago2013-04-11 Javier Miranda <miranda@adacore.com>
charlet [Thu, 11 Apr 2013 13:01:09 +0000 (13:01 +0000)]
2013-04-11  Javier Miranda  <miranda@adacore.com>

* exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Do
not add cleanup actions in thunks associated with interface types.
* exp_ch3.ad[sb] (Is_Variable_Size_Record): Move declaration to
the package spec.
* exp_ch4.adb (Tagged_Conversion): Update call to
Expand_Interface_Conversion since the parameter Is_Static is no
longer needed.
* exp_ch6.adb (Expand_N_Extended_Return_Statement): Adding
assertion to ensure that interface thunks are never handled by
this routine.
(Expand_N_Simple_Function_Return): Do not rewrite this statement
as an extended return statement in interface thunks, and do not
perform copy in the secondary stack if the return statement is
located in a thunk.
* exp_disp.adb (Expand_Dispatching_Call): No longer displace
the pointer to the returned object in functions returning interface
types.
(Expand_Interface_Thunk): For functions returning interface types
displace the pointer to the returned object.
(Expand_Interface_Conversion): Remove formal
Is_Static since this subprogram can now evaluate it locally.
* sem_ch3.adb (Add_Internal_Interface_Entities): For functions
propagate the type returned by the covered interface primitive to
the internal interface entity. Needed by the thunk to generate
the code which displaces "this" to reference the corresponding
secondary dispatch table.
* sem_disp.adb (Propagate_Tag): Update call to
Expand_Interface_Conversion since the parameter Is_Static is no
longer needed.
* sem_res.adb (Resolve_Type_Conversion): Update calls to
Expand_Interface_Conversion since the parameter Is_Static is no
longer needed plus code cleanup.

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

11 years ago2013-04-11 Eric Botcazou <ebotcazou@adacore.com>
charlet [Thu, 11 Apr 2013 12:58:54 +0000 (12:58 +0000)]
2013-04-11  Eric Botcazou  <ebotcazou@adacore.com>

* init.c (RETURN_ADDR_OFFSET): Delete as unused.

2013-04-11  Robert Dewar  <dewar@adacore.com>

* a-crbtgk.adb, a-ciorse.adb, a-crbtgo.adb, a-coorse.adb, a-rbtgbo.adb,
a-cborse.adb, a-rbtgso.adb, exp_ch3.adb: Minor reformatting.

2013-04-11  Yannick Moy  <moy@adacore.com>

* exp_ch4.adb (Expand_N_Selected_Component): Do not expand
discriminant check for Unchecked_Union.
* sem_res.adb (Resolve_Selected_Component): Set flag
Do_Discriminant_Check even when expansion is not performed.
* sinfo.ads (Do_Discriminant_Check): Update documentation for the case
of Unchecked_Union.

2013-04-11  Thomas Quinot  <quinot@adacore.com>

* sem_ch13.adb (Same_Representation): Two types with different scalar
storage order never have the same representation.

2013-04-11  Arnaud Charlet  <charlet@adacore.com>

* xgnatugn.adb (Push_Conditional): Simplify handling,
no longer need to keep track of "excluding" sections.
(Currently_Excluding): Removed.
(Process_Source_File):
Set unw/vms flag so that texinfo can do the whole handling of
@ifset/@ifclear sections.  Fix handling of nested @ifset/@ifclear
sections.
* gnat_ugn.texi: Add a section on performing unassisted install
on Windows.

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

11 years ago2013-04-11 Johannes Kanig <kanig@adacore.com>
charlet [Thu, 11 Apr 2013 12:53:52 +0000 (12:53 +0000)]
2013-04-11  Johannes Kanig  <kanig@adacore.com>

* debug.adb: Document usage of -gnatd.Q switch.

2013-04-11  Matthew Heaney  <heaney@adacore.com>

* a-crbtgk.adb (Ceiling, Find, Floor): Adjust locks
before element comparisons.
(Generic_Conditional_Insert, Generic_Conditional_Insert_With_Hint):
Ditto.
* a-crbtgo.adb, a-rbtgbo.adb (Generic_Equal): Adjust locks before
element comparisons.
* a-rbtgso.adb (Difference, Intersection): Adjust locks
before element comparisons.
(Is_Subset, Overlap): Ditto
(Symmetric_Difference, Union): Ditto
* a-btgbso.adb (Set_Difference, Set_Intersection): Adjust locks
before element comparisons.
(Set_Subset, Set_Overlap): Ditto
(Set_Symmetric_Difference, Set_Union): Ditto
* a-coorse.adb, a-ciorse.adb, a-cborse.adb
(Update_Element_Preserving_Key): Adjust locks before element
comparisons (Replace_Element): Ditto

2013-04-11  Pascal Obry  <obry@adacore.com>

* prj-attr.adb, projects.texi, snames.ads-tmpl: Remove Build_Slaves
attribute.

2013-04-11  Ed Schonberg  <schonberg@adacore.com>

* exp_ch3.adb (Build_Equivalent_Aggregate): Subsidiary of
Expand_N_Object_Declaration, used to construct an aggregate
with static components whenever possible, so that objects of a
discriminated type can be initialized without calling the init.
proc for the type.

2013-04-11  Vincent Celier  <celier@adacore.com>

* prj-makr.adb (Process_Directory): On VMS, always delete,
then recreate the temporary file with Create_Output_Text_File,
otherwise the output redirection does not work properly.

2013-04-11  Eric Botcazou  <ebotcazou@adacore.com>

* urealp.ads: Fix minor typo.

2013-04-11  Fabien Chouteau  <chouteau@adacore.com>

* cio.c (mktemp): Don't use tmpnam function from the
system on VxWorks in kernel mode.

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

11 years ago2013-04-11 Vincent Celier <celier@adacore.com>
charlet [Thu, 11 Apr 2013 12:49:21 +0000 (12:49 +0000)]
2013-04-11  Vincent Celier  <celier@adacore.com>

* make.adb (Compile): Clarify the error message reported
when gnatmake refuses to compile a runtime source.
(Start_Compile_If_Possible): Ditto.

2013-04-11  Vincent Celier  <celier@adacore.com>

* gnat_ugn.texi: Add documentation about -gnatc and gnatmake.

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

11 years ago2013-04-11 Vincent Celier <celier@adacore.com>
charlet [Thu, 11 Apr 2013 12:48:23 +0000 (12:48 +0000)]
2013-04-11  Vincent Celier  <celier@adacore.com>

* switch-c.adb: Document internal switches.
* usage.adb: Remove lines for internal switches: -gnatea, -gnateO,
-gnatez and -gnateO.

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

11 years ago2013-04-11 Ed Schonberg <schonberg@adacore.com>
charlet [Thu, 11 Apr 2013 12:46:16 +0000 (12:46 +0000)]
2013-04-11  Ed Schonberg  <schonberg@adacore.com>

* par-ch6.adb (P_Subprogram): Attach aspects to subprogram stub.
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Allow aspects on
subprogram stubs.
* sem_ch13.adb (Analyze_Aspect_Specifications): Analyze generated
pre/post pragmas at once before analyzing the proper body.
* sem_prag.adb (Chain_PPC): Handle pragma that comes from an
aspect on a subprogram stub.
* aspects.adb: Aspect specifications can appear on a
subprogram_Body_Stub.

2013-04-11  Vincent Celier  <celier@adacore.com>

* gnatname.adb: Minor comment fix.

2013-04-11  Vincent Celier  <celier@adacore.com>

* prj-makr.adb (Process_Directory): Create a new temporary
file for each invocation of the compiler, in directory pointed
by environment variable TMPDIR if it exists.

2013-04-11  Arnaud Charlet  <charlet@adacore.com>

* gnat_ugn.texi: Minor editing/clean ups.

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

11 years ago/cp
paolo [Thu, 11 Apr 2013 12:46:10 +0000 (12:46 +0000)]
/cp
2013-04-11  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/56913
* typeck2.c (build_m_component_ref): Protect error calls with
(complain & tf_error).

/testsuite
2013-04-11  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/56913
* g++.dg/cpp0x/sfinae44.C: New.

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

11 years ago2013-04-11 Ed Schonberg <schonberg@adacore.com>
charlet [Thu, 11 Apr 2013 12:43:28 +0000 (12:43 +0000)]
2013-04-11  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Analyze_Null_Procedure): New subprogram, mostly
extracted from Analyze_Subprogram_Declaration, to handle null
procedure declarations that in ada 2012 can be completions of
previous declarations.

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

11 years ago2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Thu, 11 Apr 2013 12:42:28 +0000 (12:42 +0000)]
2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Entity_Of): Moved to Exp_Util.
* exp_util.ads, exp_util.adb (Entity_Of): New routine.

2013-04-11  Robert Dewar  <dewar@adacore.com>

* g-spipat.ads: Minor comment fix.

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

11 years ago2013-04-11 Robert Dewar <dewar@adacore.com>
charlet [Thu, 11 Apr 2013 12:40:12 +0000 (12:40 +0000)]
2013-04-11  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb, sem_util.adb, sem_res.adb, exp_ch4.adb: Minor
reformatting.

2013-04-11  Thomas Quinot  <quinot@adacore.com>

* exp_util.ads (Fully_Qualified_Name_String): Document that the
constructed literal is the entity name in all upper case.

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

11 years ago2013-04-11 Thomas Quinot <quinot@adacore.com>
charlet [Thu, 11 Apr 2013 12:38:20 +0000 (12:38 +0000)]
2013-04-11  Thomas Quinot  <quinot@adacore.com>

* sem_util.adb (Set_Entity_With_Style_Check): Fix logic of
check for implementation defined identifiers.

2013-04-11  Yannick Moy  <moy@adacore.com>

* checks.adb (Apply_Type_Conversion_Checks): Add an explanation
of why range check and length are put on different nodes.
* exp_ch4.adb (Apply_Type_Conversion_Checks): Remove check marks
when doing their expansion.

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

11 years ago2013-04-11 Ed Schonberg <schonberg@adacore.com>
charlet [Thu, 11 Apr 2013 12:36:44 +0000 (12:36 +0000)]
2013-04-11  Ed Schonberg  <schonberg@adacore.com>

* sem_util.ads, sem_util.adb (Get_Incomplete_View_Of_Ancestor):
New function to implement the notion introduced in RM 7.3.1
(5.2/3): in a child unit, a derived type is within the derivation
class of an ancestor declared in a parent unit, even if there
is an intermediate derivation that does not see the full view
of that ancestor.
* sem_res.adb (Valid_Conversion): if all else fails, examine if an
incomplete view of an ancestor makes a numeric conversion legal.

2013-04-11  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb: in Ada2012 operators can only have in
parameters.

2013-04-11  Vincent Celier  <celier@adacore.com>

* makeutl.adb (Create_Binder_Mapping_File): Do not put into
the mapping file ALI files of sources that have been replaced.

2013-04-11  Vincent Celier  <celier@adacore.com>

* projects.texi: Add subsection Duplicate Sources in Projects.

2013-04-11  Vincent Celier  <celier@adacore.com>

* gnat_ugn.texi: Add documentation for gnatmake switch -droot_dir/**

2013-04-11  Arnaud Charlet  <charlet@adacore.com>

* init.c (__gnat_install_handler): Only set up an alternate
stack when installing a signal handler for SIGSEGV.

2013-04-11  Thomas Quinot  <quinot@adacore.com>

* g-socket.adb (Connect_Socket, timeout version): Call
underlying connect operation directly, not through the 2-argument
Connect_Socket thick binding, in order to avoid raising a junk
exception for the EINPROGRESS return.

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

11 years ago2013-04-11 Robert Dewar <dewar@adacore.com>
charlet [Thu, 11 Apr 2013 12:33:22 +0000 (12:33 +0000)]
2013-04-11  Robert Dewar  <dewar@adacore.com>

* a-cdlili.adb: Minor addition of pragma Warnings (Off).

2013-04-11  Robert Dewar  <dewar@adacore.com>

* hostparm.ads: Minor reformatting.

2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>

* aspects.ads, aspects.adb: Add Aspect_Depends to all the relevant
tables.
* elists.ads, elists.adb (Contains): New routine.
* par-prag.adb: Pragma Depends does not need any special treatment
by the parser.
* sem_ch13.adb (Analyze_Aspect_Specifications):
Transform aspect Depends into a corresponding pragma.
(Check_Aspect_At_Freeze_Point): Aspect Depends does not need
inspection at its freeze point.
* sem_prag.adb (Analyze_Pragma): Perform analysis and
normalization of pragma Depends. Remove the use of function
Is_Duplicate_Item. Use End_Scope to uninstalle the formal
parameters of a subprogram. Add a value for pragma Depends in
table Sig_Flags.
(Is_Duplicate_Item): Removed.
* snames.ads-tmpl: Add predefined name for Depends as well as
a pragma identifier.

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

11 years ago2013-04-11 Arnaud Charlet <charlet@adacore.com>
charlet [Thu, 11 Apr 2013 12:25:16 +0000 (12:25 +0000)]
2013-04-11  Arnaud Charlet  <charlet@adacore.com>

* gnat1drv.adb: Minor code clean up.

2013-04-11  Arnaud Charlet  <charlet@adacore.com>

* debug.adb, sem_ch13.adb (Analyze_Enumeration_Representation_Clause):
Ignore enumeration rep clauses by default in CodePeer mode, unless
-gnatd.I is specified.

2013-04-11  Ed Schonberg  <schonberg@adacore.com>

* sem_util.adb (Safe_To_Capture_Value): If the node belongs to
an expression that has been attached to the else_actions of an
if-expression, the capture is not safe.

2013-04-11  Yannick Moy  <moy@adacore.com>

* checks.adb (Apply_Type_Conversion_Checks): Put check mark on type
conversion for arrays.

2013-04-11  Robert Dewar  <dewar@adacore.com>

* a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting.

2013-04-11  Johannes Kanig  <kanig@adacore.com>

* adabkend.adb: Minor comment addition.

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

11 years ago * ada/acats/run_all.sh: Remove special handling of -gnat95 switch.
charlet [Thu, 11 Apr 2013 12:21:18 +0000 (12:21 +0000)]
* ada/acats/run_all.sh: Remove special handling of -gnat95 switch.
* ada/acats/ada95.lst: Remove special handling of -gnat95 switch.

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

11 years ago2013-04-11 Matthew Heaney <heaney@adacore.com>
charlet [Thu, 11 Apr 2013 12:13:49 +0000 (12:13 +0000)]
2013-04-11  Matthew Heaney  <heaney@adacore.com>

* a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb ("="): Increment
lock counts before entering loop.
(Find): Ditto.
(Is_Sorted, Merge, Sort): Ditto.
(Reverse_Find): Ditto.
(Splice_Internal): Internal operation to refactor splicing logic.
(Splice): Some logic moved into Splice_Internal.

2013-04-11  Johannes Kanig  <kanig@adacore.com>

* adabkend.adb (Scan_Compiler_Arguments): Do not call
Set_Output_Object_File_Name in Alfa_Mode
* gnat1drv.adb (Adjust_Global_Switches): Take Alfa_Mode into account.
* opt.ads: Fix documentation.

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

11 years ago2013-03-16 Yvan Roux <yvan.roux@linaro.org>
clyon [Thu, 11 Apr 2013 12:06:04 +0000 (12:06 +0000)]
2013-03-16  Yvan Roux <yvan.roux@linaro.org>

        * include/private/gcconfig.h (AARCH64): New macro (defined only if
__aarch64__).
* include/private/gcconfig.h (mach_type_known):
Update comment adding ARM AArch64 target.
* include/private/gcconfig.h (NOSYS, mach_type_known,CPP_WORDSZ,
MACH_TYPE, ALIGNMENT, HBLKSIZE, OS_TYPE, LINUX_STACKBOTTOM,
USE_GENERIC_PUSH_REGS, DYNAMIC_LOADING, DATASTART, DATAEND,
STACKBOTTOM): Define for AArch64.

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

11 years ago2013-04-11 Richard Biener <rguenther@suse.de>
rguenth [Thu, 11 Apr 2013 11:21:18 +0000 (11:21 +0000)]
2013-04-11  Richard Biener  <rguenther@suse.de>

PR tree-optimization/56878
* tree-flow.h (outermost_invariant_loop_for_expr): Declare.
* tree-ssa-loop-ivopts.c (outermost_invariant_loop_for_expr):
New function.
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
Prefer to align the DR with the most invariant base address.

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

11 years ago2013-04-11 Robert Dewar <dewar@adacore.com>
charlet [Thu, 11 Apr 2013 10:52:33 +0000 (10:52 +0000)]
2013-04-11  Robert Dewar  <dewar@adacore.com>

* sem_res.adb: Minor code reorganization and comment fixes.
* sem_type.adb: Minor reformatting.

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

11 years ago2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Thu, 11 Apr 2013 10:49:20 +0000 (10:49 +0000)]
2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch4.adb (Process_Transient_Object): Add new
local variable Fin_Call. Remove and explain ??? comment. Use the
Actions of logical operators "and then" and "or else" to insert
the generated finalization call.

2013-04-11  Eric Botcazou  <ebotcazou@adacore.com>

* gnat_rm.texi: Fix typo.

2013-04-11  Ed Schonberg  <schonberg@adacore.com>

* sem_res.adb: Minor reformatting.

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

11 years ago2013-04-11 Robert Dewar <dewar@adacore.com>
charlet [Thu, 11 Apr 2013 10:45:11 +0000 (10:45 +0000)]
2013-04-11  Robert Dewar  <dewar@adacore.com>

* atree.h: Add declarations for Flag255-Flag289 Fix declaration
of Field30 (was wrong, but no effect, since not yet referenced by
back end) Add declarations for Field31-Field35 Add declarations
for Node31-Node35.
* einfo.ads, einfo.adb (Has_Invariants): No longer applies to
procedures.
(Has_Predicates): No longer applies to functions.
(Is_Predicate_Function): New flag.
(Is_Predicate_Function_M): New flag.
(Is_Invariant_Procedure): New flag.
(Predicate_Function_M): New function.
(Set_Predicate_Function_M): New procedure.
* exp_ch11.adb (Expand_N_Raise_Expression): Take care of special
case of appearing in predicate used for membership test.
* exp_ch3.adb (Insert_Component_Invariant_Checks): Set
Is_Invariant_Procedure flag.
* exp_ch4.adb (Expand_Op_In): Call special predicate function
that takes care of raise_expression nodes in the predicate.
* exp_util.ads, exp_util.adb (Make_Predicate_Call): Add argument Mem for
membership case.
* sem_ch13.adb (Build_Predicate_Functions): New name for
Build_Predicate_Function.  Major rewrite to take care of raise
expression in predicate for membership tests.
* sem_res.adb (Resolve_Actuals): Include both predicate functions
in defense against infinite predicate function loops.
* sinfo.ads, sinfo.adb (Convert_To_Return_False): New flag.

2013-04-11  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb: Minor reformatting.

2013-04-11  Ed Schonberg  <schonberg@adacore.com>

* lib-xref.adb: Generate reference for component of anonymous
access type.

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

11 years ago2013-04-11 Robert Dewar <dewar@adacore.com>
charlet [Thu, 11 Apr 2013 10:41:49 +0000 (10:41 +0000)]
2013-04-11  Robert Dewar  <dewar@adacore.com>

* stand.ads: Minor reformatting.

2013-04-11  Matthew Heaney  <heaney@adacore.com>

* a-convec.adb, a-coinve.adb, a-cobove.adb ("="): Increment lock
counts before entering loop.
(Find, Find_Index): Ditto.
(Is_Sorted, Merge, Sort): Ditto.
(Reverse_Find, Reverse_Find_Index): Ditto.

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

11 years ago2013-04-11 Robert Dewar <dewar@adacore.com>
charlet [Thu, 11 Apr 2013 10:39:15 +0000 (10:39 +0000)]
2013-04-11  Robert Dewar  <dewar@adacore.com>

* exp_ch11.ads, exp_ch11.adb (Expand_N_Raise_Expression): New procedure.
* exp_util.adb (Insert_Actions): Add entry for N_Raise_Expression.
* expander.adb: Add call to Expand_N_Raise_Expression.
* par-ch11.adb (P_Raise_Expression): New procedure.
* par-ch4.adb (P_Relation): Handle Raise_Expression.
* par.adb (P_Raise_Expression): New procedure.
* sem.adb: Add handling for N_Raise_Expression.
* sem_ch11.ads, sem_ch11.adb (Analyze_Raise_Expression): New procedure.
* sem_res.adb (Resolve): Add handling for N_Raise_Expression.
* sinfo.ads, sinfo.adb (N_Raise_Expression): New node.
* sprint.adb (Sprint_Node_Actual): Add handling for N_Raise_Expression.
* stand.ads (Any_Type): Document use with N_Raise_Expression.

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

11 years ago2013-04-11 Vincent Celier <celier@adacore.com>
charlet [Thu, 11 Apr 2013 10:37:21 +0000 (10:37 +0000)]
2013-04-11  Vincent Celier  <celier@adacore.com>

* gnat_ugn.texi: Remove section "The Development Environments"
now that all predefined attributes are documented, including
those in package IDE.

2013-04-11  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb: Preserve parent link in copy of expression.

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

11 years ago2013-04-11 Vincent Celier <celier@adacore.com>
charlet [Thu, 11 Apr 2013 10:36:09 +0000 (10:36 +0000)]
2013-04-11  Vincent Celier  <celier@adacore.com>

* projects.texi: Complete rewrite of the subsection Attributes
in section "Project file Reference".

2013-04-11  Robert Dewar  <dewar@adacore.com>

* exp_ch4.adb: Minor reformatting.

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

11 years ago2013-04-11 Robert Dewar <dewar@adacore.com>
charlet [Thu, 11 Apr 2013 10:23:56 +0000 (10:23 +0000)]
2013-04-11  Robert Dewar  <dewar@adacore.com>

* exp_ch4.adb (Expand_Concatenate): Remove wrapping in
expression-with-actions node. No longer needed given fix to
sem_prag and caused loss of some useful warnings.
* sem.ads: Minor reformatting.
* sem_prag.adb (Check_Disabled): Removed, to be replaced by not
Check_Enabled. These two routines were curiously incompatible
causing confusion.
(Analyze_Pragma, case Check): Make sure we do
not expand the string argument if the check is disabled. Avoid
use of Check_Disabled, which resulted in missing analysis in
some cases.
* sem_prag.ads (Check_Disabled): Removed, to be replaced by not
Check_Enabled. These two routines were curiously incompatible
causing confusion.

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

11 years ago2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Thu, 11 Apr 2013 10:22:08 +0000 (10:22 +0000)]
2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch4.adb (Process_Transient_Object): Use
an unchecked conversion when associating a transient controlled
object with its "hook".

2013-04-11  Ed Schonberg  <schonberg@adacore.com>

* sem_prag.adb (Analyze_Pragma, case
Preelaborable_Initialization): The pragma is legal if it comes
from an aspect on the private view of the type, even though its
analysis point takes place later at the freeze point.

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

11 years ago2013-04-11 Robert Dewar <dewar@adacore.com>
charlet [Thu, 11 Apr 2013 10:20:34 +0000 (10:20 +0000)]
2013-04-11  Robert Dewar  <dewar@adacore.com>

* sem_ch6.adb: Minor reformatting.

2013-04-11  Yannick Moy  <moy@adacore.com>

* ali-util.adb (Read_Withed_ALIs): Do not consider it an error to
read ALI files with No_Object=True in Alfa mode.
* gnat1drv.adb: Set appropriately Back_End_Mode in Alfa mode, whether
this is during frame condition generation of translation to Why.

2013-04-11  Robert Dewar  <dewar@adacore.com>

* exp_ch4.adb: Minor code reorganization
* types.ads: Minor reformatting.

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

11 years ago2013-04-11 Johannes Kanig <kanig@adacore.com>
charlet [Thu, 11 Apr 2013 10:18:47 +0000 (10:18 +0000)]
2013-04-11  Johannes Kanig  <kanig@adacore.com>

* opt.ads New global boolean Frame_Condition_Mode to avoid
referring to command line switch.
* gnat1drv.adb (Gnat1drv) set frame condition mode when -gnatd.G
is present, and disable Code generation in that case. Disable
ALI file generation when switch is *not* present.

2013-04-11  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Analyze_Expression_Function): Perform the
pre-analysis on a copy of the expression, to prevent downstream
visbility issues involving operators and instantiations.

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

11 years ago2013-04-11 Johannes Kanig <kanig@adacore.com>
charlet [Thu, 11 Apr 2013 10:17:18 +0000 (10:17 +0000)]
2013-04-11  Johannes Kanig  <kanig@adacore.com>

* debug.adb: Reservation and documentation for -gnatd.G switch.
* gnat1drv.adb (Adjust_Global_Switches) Take into account -gnatd.G
switch, and set ALI file generation accordingly.

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

11 years ago2013-04-11 Robert Dewar <dewar@adacore.com>
charlet [Thu, 11 Apr 2013 10:13:47 +0000 (10:13 +0000)]
2013-04-11  Robert Dewar  <dewar@adacore.com>

* exp_ch4.adb, exp_dist.adb: Minor reformatting.
* gnat_rm.texi, gnat_ugn.texi: -020 Add documentation clarifying that
check names introduced with pragma Check_Name are suppressed by -gnatp.

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

11 years ago2013-04-11 Vincent Celier <celier@adacore.com>
charlet [Thu, 11 Apr 2013 10:11:57 +0000 (10:11 +0000)]
2013-04-11  Vincent Celier  <celier@adacore.com>

* gnat_ugn.texi, projects.texi: Move chapter "Tools Supporting Project
Files" from projects.texi to gnat_ugn.texi.

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

11 years ago * gcc-interface/Make-lang.in: Update dependencies.
charlet [Thu, 11 Apr 2013 09:53:54 +0000 (09:53 +0000)]
* gcc-interface/Make-lang.in: Update dependencies.

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

11 years ago2013-04-11 Yannick Moy <moy@adacore.com>
charlet [Thu, 11 Apr 2013 09:51:54 +0000 (09:51 +0000)]
2013-04-11  Yannick Moy  <moy@adacore.com>

* gnat1drv.adb (Adjust_Global_Switches): Allow missing body in Alfa
mode.

2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch4.adb (Expand_N_Allocator): Detect the
allocation of an anonymous controlled object where the type of
the context is named. Use the pool and finalization master of
the named access type to allocate the object.

2013-04-11  Vincent Celier  <celier@adacore.com>

* gnat_ugn.texi: Remove most mentions of gprbuild.
* projects.texi: Remove all mentions of asociative array
attributes.

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

11 years ago2013-04-11 Robert Dewar <dewar@adacore.com>
charlet [Thu, 11 Apr 2013 09:49:40 +0000 (09:49 +0000)]
2013-04-11  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb, sem_attr.adb, gnat1drv.adb, prj-makr.adb,
opt.ads, sem_ch13.adb: Minor reformatting.
* debug.adb: Minor comment fix (remove junk .I doc).

2013-04-11  Thomas Quinot  <quinot@adacore.com>

* rtsfind.ads, exp_dist.adb, exp_dist.ads (Rtsfind.PCS_Version, case
PolyORB): Bump to 6.
(Exp_Dist.PolyORB_Support): Replace TC_Build with
Build_Complex_TC.

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

11 years ago2013-04-11 Arnaud Charlet <charlet@adacore.com>
charlet [Thu, 11 Apr 2013 09:46:54 +0000 (09:46 +0000)]
2013-04-11  Arnaud Charlet  <charlet@adacore.com>

* debug.adb, sem_prag.adb, par-ch2.adb, sem_attr.adb, gnat1drv.adb,
exp_disp.adb, opt.ads, sem_ch13.adb (Relaxed_RM_Semantics): New flag.
Enable this flag in CodePeer mode, and also via -gnatd.M.
Replace some uses of CodePeer_Mode by Relaxed_RM_Semantics.

2013-04-11  Ed Schonberg  <schonberg@adacore.com>

* sem_ch8.adb (Check_Constrained_Object): If a subtype is created
from the renamed object in an object renaming declaration with
an unconstrained nominal subtype, freeze the created subtype at
once, to prevent order of elaboration issues in the backend.

2013-04-11  Arnaud Charlet  <charlet@adacore.com>

* exp_aggr.adb (Aggr_Size_OK): Refine setting of Max_Aggr_Size
in particular in CodePeer mode.

2013-04-11  Vincent Celier  <celier@adacore.com>

* gnat_ugn.texi: Add documentation for backup copies of project
files for gnatname.

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

11 years ago2013-04-11 Tristan Gingold <gingold@adacore.com>
charlet [Thu, 11 Apr 2013 09:41:26 +0000 (09:41 +0000)]
2013-04-11  Tristan Gingold  <gingold@adacore.com>

* gnat_rm.texi: Add Detect_BLocking in the ravenscar profile
pragma list.

2013-04-11  Vincent Celier  <celier@adacore.com>

* gnatname.adb (Scan_Args): Recognize new switch --no-backup
(Usage): Add line for --no-backup.
* opt.ads (No_Nackup): New Boolean variable, initialized to False.
* prj-makr.adb (Initialize): Create a backup for an existing
project file if gnatname is not invoked with --no-backup.

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

11 years ago2013-04-11 Thomas Quinot <quinot@adacore.com>
charlet [Thu, 11 Apr 2013 09:40:08 +0000 (09:40 +0000)]
2013-04-11  Thomas Quinot  <quinot@adacore.com>

* exp_ch4.adb: Minor code improvement: replace various calls to
Make_If_Statement in expansion with Make_Implicit_If_Statement.

2013-04-11  Eric Botcazou  <ebotcazou@adacore.com>

* ali.adb: Fix minor typo.

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

11 years ago2013-04-11 Thomas Quinot <quinot@adacore.com>
charlet [Thu, 11 Apr 2013 09:39:15 +0000 (09:39 +0000)]
2013-04-11  Thomas Quinot  <quinot@adacore.com>

* exp_ch4.adb (Find_Enclosing_Context): Add missing case of
N_Procedure_Call_Statement.

2013-04-11  Robert Dewar  <dewar@adacore.com>

* debug.adb: Minor comment fix.

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

11 years ago2013-04-11 Johannes Kanig <kanig@adacore.com>
charlet [Thu, 11 Apr 2013 09:38:07 +0000 (09:38 +0000)]
2013-04-11  Johannes Kanig  <kanig@adacore.com>

* debug.adb: Remove comment for -gnatd.G.

2013-04-11  Thomas Quinot  <quinot@adacore.com>

* exp_ch4.adb (Expand_Record_Equality.Suitable_Element):
Remove recursive routine, replace with...
(Expand_Record_Equality.Element_To_Compare): New subroutine,
implement iterative search for next element to compare.
Add explanatory comment in the tagged case.

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

11 years ago2013-04-11 Ed Schonberg <schonberg@adacore.com>
charlet [Thu, 11 Apr 2013 09:35:46 +0000 (09:35 +0000)]
2013-04-11  Ed Schonberg  <schonberg@adacore.com>

* sem_ch5.adb: remove spurious warning from non-empty loop.
* sem_ch8.adb (Enclosing_Instance): Make public to other routines
in the package, in order to suppress redundant semantic checks
on subprogram renamings in nested instantiations.

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