charlet [Thu, 31 Jul 2014 13:25:43 +0000 (13:25 +0000)]
2014-07-31 Robert Dewar <dewar@adacore.com>
* exp_strm.adb: Minor reformatting.
2014-07-31 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Build_Wrapper): New procedure, subsidiary to
Analyze_Associations, to create a wrapper around operators that
are actuals to formal subprograms. This is done in GNATProve
mode in order to propagate the contracts of the operators to
the body of the instance.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213363
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 13:24:48 +0000 (13:24 +0000)]
2014-07-31 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Analyze_Attribute, case 'Old): The reference is
legal if within an aspect specification for a generic subprogram.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213362
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 13:11:44 +0000 (13:11 +0000)]
2014-07-31 Javier Miranda <miranda@adacore.com>
* gnat1drv.adb (Back_End_Inlining): Set to false if
Suppress_All_Inlining is set.
* debug.adb: Adding documentation for -gnatd.z.
* inline.adb (Add_Inlined_Body): Extend the -gnatn2
processing to -gnatn1 for calls to Inline_Always routines.
(Add_Inlined_Subprogram): Remove previous patch.
2014-07-31 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb (Check_One_Function): Apply properly the static
semantic rules for indexing aspects and the functions they denote.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213361
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 13:02:24 +0000 (13:02 +0000)]
2014-07-31 Javier Miranda <miranda@adacore.com>
* debug.adb: Complete documentation of -gnatd.z.
2014-07-31 Bob Duff <duff@adacore.com>
* gnat_ugn.texi: Minor doc fixes.
2014-07-31 Robert Dewar <dewar@adacore.com>
* sem_aggr.adb (Resolve_Array_Aggregate): Fix posting of missing
index value.
2014-07-31 Tristan Gingold <gingold@adacore.com>
* s-unstyp.ads (Packed_Byte): Make this type universal aliasing.
(Packed_Bytes1): Make component aliased.
2014-07-31 Robert Dewar <dewar@adacore.com>
* s-unstyp.ads, s-fileio.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213360
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 13:00:42 +0000 (13:00 +0000)]
2014-07-31 Robert Dewar <dewar@adacore.com>
* inline.adb, gnat1drv.adb, exp_ch6.adb, s-fileio.adb: Minor
reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213359
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 12:59:27 +0000 (12:59 +0000)]
Minor reformmating. complete previous change on s-traceb.adb.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213358
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 12:58:59 +0000 (12:58 +0000)]
Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213357
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 12:57:54 +0000 (12:57 +0000)]
* gcc-interface/utils2.c ((build_binary_op): Don't set TREE_THIS_NOTRAP
on array references here, now done more selectively in trans.c.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213356
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 12:54:32 +0000 (12:54 +0000)]
2014-07-31 Doug Rupp <rupp@adacore.com>
* gcc-interface/misc.c (gnat_init_gcc_fp(): Set flag_errno_math to 0.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213355
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 12:53:19 +0000 (12:53 +0000)]
* gcc-interface/decl.c, gcc-interface/trans.c,
gcc-interface/gigi.h: Add handling of Inline_Always pragma.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213354
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 12:51:34 +0000 (12:51 +0000)]
2014-07-31 Hristian Kirtchev <kirtchev@adacore.com>
* sem_util.adb (Is_Effectively_Volatile): New routine.
2014-07-31 Fedor Rybin <frybin@adacore.com>
* gnat_ugn.texi: Document --test-duration option for gnattest.
2014-07-31 Javier Miranda <miranda@adacore.com>
* opt.ads (Back_End_Inlining): New variable which controls
activation of inlining by back-end expansion.
* gnat1drv.adb (Adjust_Global_Switches): Initialize Back_End_Inlining
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not build
the body to be inlined by the frontend if Back_End_Inlining
is enabled.
* exp_ch6.adb (Register_Backend_Call): Moved to inline.adb.
(Expand_Call): If backend inlining is enabled let the backend to
handle inlined subprograms.
* inline.ads (Register_Backend_Call): Moved here from exp_ch6
* inline.adb (Register_Backend_Call): Moved here from exp_ch6.
(Add_Inlined_Subprogram): Add subprograms when Back_End_Inlining is set.
(Must_Inline): Do not return Inline_Call if Back_End_Inlining is
enabled.
* debug.adb Document -gnatd.z
* fe.h Import Back_End_Inlining variable.
* gcc-interface/utils.c (create_subprog_decl): If Back_End_Inlining is
enabled then declare attribute "always inline"
2014-07-31 Robert Dewar <dewar@adacore.com>
* a-ngelfu.ads: Minor comment fix.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213353
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 12:46:16 +0000 (12:46 +0000)]
2014-07-31 Hristian Kirtchev <kirtchev@adacore.com>
* freeze.adb (Freeze_Record_Type): Replace all calls to
Is_SPARK_Volatile with Is_Effectively_Volatile and update
related comments.
* sem_ch3.adb (Analyze_Object_Contract, Process_Discriminants):
Replace all calls to Is_SPARK_Volatile with
Is_Effectively_Volatile and update related comments.
* sem_ch5.adb (Analyze_Iterator_Specification,
Analyze_Loop_Parameter_Specification): Replace all calls to
Is_SPARK_Volatile with Is_Effectively_Volatile and update
related comments.
* sem_ch6.adb (Process_Formals): Replace all calls to
Is_SPARK_Volatile with Is_Effectively_Volatile and update
related comments.
* sem_ch12.adb (Instantiate_Object): Replace the call to
Is_SPARK_Volatile_Object with Is_Effectively_Volatile_Object
and update related comment.
* sem_prag.adb (Analyze_External_Property_In_Decl_Part,
Analyze_Global_Item): Replace all calls to Is_SPARK_Volatile
with Is_Effectively_Volatile and update related comments.
* sem_res.adb (Resolve_Actuals, Resolve_Entity_Name): Replace
all calls to Is_SPARK_Volatile with Is_Effectively_Volatile and
update related comments.
* sem_util.adb (Has_Enabled_Property,
Variable_Has_Enabled_Property): Replace all calls
to Is_SPARK_Volatile with Is_Effectively_Volatile and
update related comments.
(Is_Effectively_Volatile): New routine.
(Is_Effectively_Volatile_Object): New routine.
(Is_SPARK_Volatile): Removed.
(Is_SPARK_Volatile_Object): Removed.
* sem_util.ads (Is_Effectively_Volatile): New routine.
(Is_Effectively_Volatile_Object): New routine.
(Is_SPARK_Volatile): Removed.
(Is_SPARK_Volatile_Object): Removed.
2014-07-31 Pascal Obry <obry@adacore.com>
* s-fileio.adb (Open): Make sure a shared file gets inserted into
the global list atomically. This ensures that the file descriptor
won't be freed because another tasks is closing the file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213352
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 12:43:28 +0000 (12:43 +0000)]
2014-07-31 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb (Process_Range_Expr_In_Decl): Add comments on
generation of _FIRST and _LAST variables even in GNATprove_Mode.
* gnat_ugn.texi: Minor editing.
* sem_prag.adb (Ensure_Aggregate_Form): Make sure generated
aggregate is marked Comes_From_Source if argument is CFS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213351
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 12:40:36 +0000 (12:40 +0000)]
2014-07-31 Pascal Obry <obry@adacore.com>
* s-fileio.adb: Remove obsolete comment.
2014-07-31 Vincent Celier <celier@adacore.com>
* a-strbou.ads ("=" (Bounded_String, Bounded_String): Add
overriding keyword before function to avoid error when compiler
is called with -gnatyO (check overriding indicators).
2014-07-31 Tucker Taft <taft@adacore.com>
* gnat_ugn.texi: Add a paragraph pointing the reader
to the "plugins" example.
2014-07-31 Hristian Kirtchev <kirtchev@adacore.com>
* freeze.adb (Freeze_Expression): Document the
purpose of the parent chain traversal.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213350
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 12:37:03 +0000 (12:37 +0000)]
2014-07-31 Robert Dewar <dewar@adacore.com>
* checks.ads, checks.adb (Activate_Overflow_Check): Do not set flag for
unconstrained fpt ops.
2014-07-31 Pascal Obry <obry@adacore.com>
* s-fileio.adb (Open): Make sure a shared file gets inserted into
the global list atomically. This ensures that the file descriptor
won't be freed because another tasks is closing the file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213349
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 12:32:10 +0000 (12:32 +0000)]
2014-07-31 Vincent Celier <celier@adacore.com>
* projects.texi: Minor spelling error fix.
2014-07-31 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Document No_Elaboration_Code_All restriction.
* lib-writ.adb, lib-load.adb: Initialize No_Elab_Code field in unit
information.
* lib.ads, lib.adb (No_Elab_Code): New field in unit information.
* restrict.adb (Process_Restriction_Synonyms): Add handling
of No_Elaboration_Code_All.
* restrict.ads (Process_Restriction_Synonyms): Now handles
No_Elaboration_Code_All.
* sem_ch10.adb (Analyze_Context): Enforce transitive with for
No_Elaboration_Code_All.
* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
Handle setting of No_Elab_Code in unit information. Handle
No_Elaboration_Code_All.
* snames.ads-tmpl (Name_No_Elaboration_Code): New name for
pragma processing.
(Name_No_Elaboration_Code_All): New name for pragma processing.
2014-07-31 Eric Botcazou <ebotcazou@adacore.com>
* exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Reject array
types with a null range and use the Esize of the component
instead of its RM_Size to identify appropriate values.
2014-07-31 Hristian Kirtchev <kirtchev@adacore.com>
* freeze.adb Add with and use clause for Aspects.
(Freeze_Expression): Emit an error when a volatile constant lacks
Boolean aspect Import.
(Has_Boolean_Aspect_Import): New routine.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213347
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 12:28:48 +0000 (12:28 +0000)]
2014-07-31 Gary Dismukes <dismukes@adacore.com>
* exp_util.adb: Minor reformatting.
2014-07-31 Vincent Celier <celier@adacore.com>
* errutil.adb (Error_Msg): Make sure that all components of
the error message object are initialized.
2014-07-31 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Try_Container_Indexing): If the container type is
class-wide, use specific type to locate iteration primitives.
* sem_ch13.adb (Check_Indexing_Functions): Add legality checks for
rules in RM 4.1.6 (Illegal_Indexing): New diagnostic procedure.
Minor error message reformating.
* exp_ch5.adb (Expand_Iterator_Loop): Handle properly Iterator
aspect for a derived type.
2014-07-31 Robert Dewar <dewar@adacore.com>
* debug.adb: Document debug flag d.X.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213346
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 12:26:19 +0000 (12:26 +0000)]
2014-07-31 Ed Schonberg <schonberg@adacore.com>
* sem_util.ads (Find_Specific_Type): Moved here from exp_disp.adb.
* sem_util.adb (Find_Specific_Type): If type is untagged private,
retrieve full view so that primitive operations can be located.
* exp_disp.adb Move Find_Specific_Type to sem_util.
* exp_ch4.adb (Expand_N_Op_Eq): If operands are class-wide, use
Find_Specific_Type to locate primitive equality.
* exp_util.adb (Make_CW_Equivalent_Type): A class_wide equivalent
type does not require initialization.
* exp_attr.adb (Compile_Stream_Body_In_Scope): Within an instance
body all visibility is established, and the enclosing package
declarations must not be installed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213345
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 12:24:57 +0000 (12:24 +0000)]
2014-07-31 Yannick Moy <moy@adacore.com>
* sem_parg.adb, sem_prag.ads (Collect_Subprogram_Inputs_Outputs):
Make subprogram public.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213344
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 10:16:33 +0000 (10:16 +0000)]
* gcc-interface/Makefile.in (s-traceb.o): Adjust rules.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213342
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 10:13:59 +0000 (10:13 +0000)]
2014-07-31 Ed Schonberg <schonberg@adacore.com>
* exp_ch9.adb (Expand_N_Protected_Type_Declaration): New
predicate Discriminated_Size, to distinguish between private
components that depend on discriminants from those whose size
depends on some other non-static expression.
2014-07-31 Nicolas Setton <setton@adacore.com>
* g-exptty.adb (Close): Fix binding to Waitpid: use the
tty version.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213341
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 31 Jul 2014 10:11:44 +0000 (10:11 +0000)]
2014-07-31 Richard Biener <rguenther@suse.de>
* lto-streamer.h (struct output_block): Remove global.
(struct data_in): Remove labels, num_named_labels and
num_unnamed_labels.
* lto-streamer-in.c (lto_data_in_delete): Do not free labels.
* lto-streamer-out.c (produce_asm_for_decls): Do not set global.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213340
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 10:11:39 +0000 (10:11 +0000)]
2014-07-31 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Make_Index): Reject properly the use of 'Length
in a discrete range, when 'range was probably intended.
2014-07-31 Robert Dewar <dewar@adacore.com>
* sem_warn.adb, sem_warn.ads (Has_Junk_Name): Moved from body to spec.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213339
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 10:09:08 +0000 (10:09 +0000)]
2014-07-31 Robert Dewar <dewar@adacore.com>
* frontend.adb: Minor reformatting.
* sem.adb: Minor reformatting.
* sem_ch6.adb (Analyze_Null_Procedure): Set proper sloc for
identifiers on rewrite.
* par.adb: Minor comment updates.
* a-ngelfu.adb (Cos): Minor simplification.
* par-ch13.adb (Get_Aspect_Specifications): Improve messages
and recovery for bad aspect.
* exp_ch3.adb: Code clean up.
* sem_util.ads: Minor comment correction.
* sem_ch13.adb (Check_Array_Type): Properly handle large types.
* sem_ch3.adb: Code clean up.
* binderr.ads: Minor comment correction.
2014-07-31 Ed Schonberg <schonberg@adacore.com>
* exp_disp.adb (Expand_Interface_Conversion): A call whose
prefix is a static conversion to an interface type that is not
class-wide is not dispatching.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213338
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 10:03:25 +0000 (10:03 +0000)]
2014-07-31 Robert Dewar <dewar@adacore.com>
* inline.adb, s-traceb.adb, s-traceb-hpux.adb, memtrack.adb,
s-traceb-mastop.adb: Minor reformatting.
2014-07-31 Ed Schonberg <schonberg@adacore.com>
* exp_ch3.adb (Expand_Record_Extension): In ASIS_Mode perform
expansion, to handle properly visibility of selected components
in instance bodies.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213337
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 10:02:13 +0000 (10:02 +0000)]
2014-07-31 Robert Dewar <dewar@adacore.com>
* par-ch13.adb (Get_Aspect_Specifications): Set Inside_Depends.
* par-ch2.adb (P_Pragma): Set Inside_Depends.
* par-ch4.adb (P_Simple_Expression): Pass Inside_Depends to
Check_Unary_Plus_Or_Minus.
* scans.ads (Inside_Depends): New flag.
* scng.adb (Scan): Pass Inside_Depends to Check_Arrow.
* style.ads: Add Inside_Depends parameter to Check_Arrow Add
Inside_Depends parameter to Check_Unary_Plus_Or_Minus.
* styleg.adb (Check_Arrow): Handle Inside_Depends case.
(Check_Unary_Plus_Or_Minus): Handle Inside_Depends case.
* styleg.ads: Add Inside_Depends parameter to Check_Arrow Add.
Inside_Depends parameter to Check_Unary_Plus_Or_Minus.
2014-07-31 Javier Miranda <miranda@adacore.com>
* s-vaflop.adb Move the body of function T_To_G before
T_To_D. Required for frontend inlining.
* inline.adb (Has_Excluded_Contract): New subprogram used to
check if a subprogram inlined by the frontend has contracts
which cannot be inlined.
2014-07-31 Bob Duff <duff@adacore.com>
* s-traceb.adb, s-traceb-hpux.adb, s-traceb-mastop.adb:
(Call_Chain): Add 1 to number of frames to skip, to account for
the fact that there's one more frame on the stack.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213336
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 09:58:06 +0000 (09:58 +0000)]
2014-07-31 Robert Dewar <dewar@adacore.com>
* checks.adb (Enable_Overflow_Check): More precise setting of
Do_Overflow_Check flag for division.
2014-07-31 Eric Botcazou <ebotcazou@adacore.com>
* exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Reject packed
array types with implementation type.
2014-07-31 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch10.adb (Process_State): Remove local variable Name. Add
local variable Decl. Partially declare an abstract state by
generating an entity and storing it in the state declaration.
* sem_prag.adb (Create_Abstract_State): Fully declare a
semi-declared abstract state.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213335
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 09:56:12 +0000 (09:56 +0000)]
2014-07-31 Robert Dewar <dewar@adacore.com>
* prj-nmsc.adb: Minor reformatting.
2014-07-31 Bob Duff <duff@adacore.com>
* s-tasdeb.adb (System.Tasking.Debug): Remove
all usage of the secondary stack from this package.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213334
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 09:54:35 +0000 (09:54 +0000)]
2014-07-31 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb (Analyze_Iterator_Specification): If the domain of
iteration is an array component that depends on discriminants,
create an actual subtype for it, because the preanalysis of the
iterator name does not create actual subtypes of components.
2014-07-31 Hristian Kirtchev <kirtchev@adacore.com>
* freeze.adb (Freeze_Expression): Update the loop in charge
of finding a proper insertion place for freeze nodes to handle
N_Expression_With_Actions nodes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213333
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 09:52:57 +0000 (09:52 +0000)]
2014-07-31 Robert Dewar <dewar@adacore.com>
* sem_util.adb, a-ngelfu.ads, prj-nmsc.adb, prj-conf.adb: Minor
reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213332
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 09:52:07 +0000 (09:52 +0000)]
2014-07-31 Pascal Obry <obry@adacore.com>
* prj-nmsc.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213331
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 09:51:11 +0000 (09:51 +0000)]
2014-07-31 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb (Has_Preelaborable_Initialization): Check that
type is tagged before checking whether a user-defined Initialize
procedure is present.
2014-07-31 Gary Dismukes <dismukes@adacore.com>
* a-ngelfu.ads (Sqrt): Augment postcondition.
2014-07-31 Pascal Obry <obry@adacore.com>
* prj-nmsc.adb (Check_Library_Attributes): An aggegate library
directory and ALI directory must be different than all object
and library directories of aggregated projects.
2014-07-31 Vincent Celier <celier@adacore.com>
* prj-pars.adb, prj-conf.ads, prj-conf.adb (Locate_Runtime): Move spec
to package body, as it is not called from outside. Remove argument
Project_Tree, no longer used. When runtime cannot be found,
call Raise_Invalid_Config instead of failing the program.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213330
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 09:48:12 +0000 (09:48 +0000)]
2014-07-31 Robert Dewar <dewar@adacore.com>
* bindgen.adb (Gen_Output_File_Ada): Generate pragma Suppress
(Overflow_Check).
* gnatlink.adb (Process_Args): Remove generation of -gnato0,
no longer needed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213329
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 09:46:06 +0000 (09:46 +0000)]
2014-07-31 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Document new switch -gnato0.
* sem_ch3.ads: Minor reformatting.
* gnatlink.adb (Process_Args): Compile bind file with -gnato0
(we do not want overflow checks when incrementing elaboration
counters).
* einfo.ads: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213328
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 09:43:55 +0000 (09:43 +0000)]
2014-07-31 Robert Dewar <dewar@adacore.com>
* exp_ch5.adb, freeze.adb, exp_ch3.adb: Minor comment correction.
* s-arit64.adb: Minor reformatting.
2014-07-31 Robert Dewar <dewar@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Default for overflow
checking is enabled except in GNAT_Mode.
* switch-c.adb (Scan_Front_End_Switches): Implement -gnato0
(suppress overflow checks).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213327
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 09:38:40 +0000 (09:38 +0000)]
2014-07-31 Ed Schonberg <schonberg@adacore.com>
* exp_ch3.adb (Expand_Freeze_Record_Type): Do not build an
invariant procedure for an internally generated subtype that is
created for an object of a class-wide type.
2014-07-31 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb, errutil.adb: Make code similar to Errout.
2014-07-31 Gary Dismukes <dismukes@adacore.com>
* gnat_rm.texi, sem_aux.ads, einfo.ads, sem_util.ads, sem_ch6.adb,
exp_disp.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213326
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 09:37:12 +0000 (09:37 +0000)]
2014-07-31 Robert Dewar <dewar@adacore.com>
* exp_ch5.adb, sem_ch3.adb, exp_ch7.adb, exp_util.adb, exp_ch9.adb,
sem_ch7.adb, checks.adb, s-exctra.adb, exp_ch6.adb, exp_disp.adb,
exp_dist.adb, sem_ch13.adb, exp_strm.adb, exp_ch3.adb: Minor
reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213325
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 09:35:27 +0000 (09:35 +0000)]
2014-07-31 Robert Dewar <dewar@adacore.com>
* sem_ch13.adb: Minor reformatting.
2014-07-31 Ed Schonberg <schonberg@adacore.com>
* exp_ch3.adb (Build_Invariant_Checks): If the enclosing record
is an unchecked_union, warn that invariants will not be checked
on components that have them.
2014-07-31 Robert Dewar <dewar@adacore.com>
* freeze.adb (Freeze_Entity): Check for error of
Type_Invariant'Class applied to a untagged type.
* sem_ch6.adb (Analyze_Null_Procedure): Unconditionally rewrite
as null body, so that we perform error checks even if expansion
is off.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213324
138bc75d-0d04-0410-961f-
82ee72b054a4
glisse [Thu, 31 Jul 2014 09:33:58 +0000 (09:33 +0000)]
2014-07-31 Marc Glisse <marc.glisse@inria.fr>
PR c++/60517
gcc/c/
* c-typeck.c (c_finish_return): Return 0 instead of the address of
a local variable.
gcc/cp/
* typeck.c (maybe_warn_about_returning_address_of_local): Return
whether it is returning the address of a local variable.
(check_return_expr): Return 0 instead of the address of a local
variable.
gcc/c-family/
* c.opt (-Wreturn-local-addr): Move to common.opt.
gcc/
* common.opt (-Wreturn-local-addr): Moved from c.opt.
* gimple-ssa-isolate-paths.c: Include diagnostic-core.h and intl.h.
(isolate_path): New argument to avoid inserting a trap.
(find_implicit_erroneous_behaviour): Handle returning the address
of a local variable.
(find_explicit_erroneous_behaviour): Likewise.
gcc/testsuite/
* c-c++-common/addrtmp.c: New file.
* c-c++-common/uninit-G.c: Adapt.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213323
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 31 Jul 2014 09:33:10 +0000 (09:33 +0000)]
2014-07-31 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb (Build_Invariant_Procedure): If body of procedure
is already present, nothing to do.
* exp_ch3.adb (Build_Component_Invariant_Call): For an access
component, check whether the access type has an invariant before
checking the designated type.
(Build_Record_Invariant_Proc): Change suffix of generated
name to prevent ambiguity when record type has invariants
in addition to those of components, and two subprograms are
constructed. Consistent with handling of array types.
(Insert_Component_Invariant_Checks): Build invariant procedure
body when one has not been created yet, in the case of composite
types that are completions and whose full declarations carry
invariants.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213322
138bc75d-0d04-0410-961f-
82ee72b054a4
meibf [Thu, 31 Jul 2014 08:50:50 +0000 (08:50 +0000)]
2014-07-31 Bingfeng Mei <bmei@broadcom.com>
PR lto/61868
* toplev.c (init_random_seed): Move piece of code never called to
set_random_seed.
(set_random_seed): see above.
* gcc.dg/pr61868.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213321
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Thu, 31 Jul 2014 08:28:35 +0000 (08:28 +0000)]
Remove dead code in pass_tree_loop_init::execute
2014-07-31 Tom de Vries <tom@codesourcery.com>
* tree-ssa-loop.c (pass_tree_loop_init::execute): Remove dead code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213319
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Thu, 31 Jul 2014 08:25:56 +0000 (08:25 +0000)]
gcc/
* ira.c (insn_contains_asm_1, insn_contains_asm): Delete.
(compute_regs_asm_clobbered): Use extract_asm_operands instead.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213318
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 31 Jul 2014 07:51:41 +0000 (07:51 +0000)]
2014-07-31 Richard Biener <rguenther@suse.de>
* data-streamer.h (streamer_write_data_stream): Declare here,
renamed from ...
* lto-streamer.h (lto_output_data_stream): ... this. Remove.
* lto-cgraph.c (lto_output_node): Adjust.
(lto_output_varpool_node): Likewise.
* data-streamer-out.c (streamer_string_index): Likewise.
(streamer_write_data_stream, lto_append_block): Move from ...
* lto-section-out.c (lto_output_data_stream,
lto_append_block): ... here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213317
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 31 Jul 2014 00:16:42 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213316
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 30 Jul 2014 21:29:25 +0000 (21:29 +0000)]
PR lto/53808
PR c++/61659
* pt.c (push_template_decl_real): Don't set DECL_COMDAT on friends.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213311
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Wed, 30 Jul 2014 20:06:29 +0000 (20:06 +0000)]
/cp
2014-07-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57397
* pt.c (unify_arity): Add boolean parameter.
(unify_too_few_arguments): Likewise.
(type_unification_real): Diagnose correctly insufficient
arguments in the presence of trailing variadic parameters;
deducing multiple trailing packs as empty is fine.
/testsuite
2014-07-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57397
* g++.dg/cpp0x/vt-57397-1.C: New.
* g++.dg/cpp0x/vt-57397-2.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213310
138bc75d-0d04-0410-961f-
82ee72b054a4
mrs [Wed, 30 Jul 2014 18:29:41 +0000 (18:29 +0000)]
* configure.ac: Also check for popen.
* tree-loop-distribution.c (dot_rdg): Autoconfize popen use.
* configure: Regenerate.
* config.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213309
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 30 Jul 2014 17:27:20 +0000 (17:27 +0000)]
PR c++/61659
PR c++/61687
Revert:
gcc/c-family/
* c.opt (-fuse-all-virtuals): New.
gcc/cp/
* decl2.c (mark_all_virtuals): New variable.
(maybe_emit_vtables): Check it instead of flag_devirtualize.
(cp_write_global_declarations): Set it and give helpful diagnostic
if it introduces errors.
* class.c (finish_struct_1): Check it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213308
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 30 Jul 2014 17:27:14 +0000 (17:27 +0000)]
PR lto/53808
PR c++/61659
* pt.c (push_template_decl_real): Set DECL_COMDAT on templates.
(check_explicit_specialization): Clear it on specializations.
* decl.c (duplicate_decls, start_decl): Likewise.
(grokmethod, grokfndecl): Set DECL_COMDAT on inlines.
* method.c (implicitly_declare_fn): Set DECL_COMDAT. Determine
linkage after setting the appropriate flags.
* tree.c (decl_linkage): Don't check DECL_COMDAT.
* decl2.c (mark_needed): Mark clones.
(import_export_decl): Not here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213307
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Wed, 30 Jul 2014 16:39:23 +0000 (16:39 +0000)]
2014-07-30 Martin Jambor <mjambor@suse.cz>
* tree-sra.c (sra_ipa_modify_assign): Change type of the first
parameter to gimple.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213306
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Wed, 30 Jul 2014 16:26:15 +0000 (16:26 +0000)]
gcc/
2014-07-30 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
* config/s390/s390.c (s390_emit_tpf_eh_return): Pass original return
address as second parameter to __tpf_eh_return routine.
libgcc/
2014-07-30 J. D. Johnston <jjohnst@us.ibm.com>
* config/s390/tpf-unwind.h: Include <stdbool.h>.
(__tpf_eh_return): Add original return address as second parameter.
Handle cases where unwinder routines were called directly, instead
of from within the C++ library.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213305
138bc75d-0d04-0410-961f-
82ee72b054a4
ramana [Wed, 30 Jul 2014 16:24:12 +0000 (16:24 +0000)]
Fix Thumb2 testsuite fallout.
Applied for Jiong.
2014-07-30 Jiong Wang <jiong.wang@arm.com>
* config/arm/arm.c (arm_get_frame_offsets): Adjust condition for
Thumb2.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213304
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 16:05:46 +0000 (16:05 +0000)]
* gnat.dg/case_null.adb, gnat.dg/specs/debug1.ads: Adjust tests.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213303
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 15:20:45 +0000 (15:20 +0000)]
Code clean ups.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213302
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 15:19:17 +0000 (15:19 +0000)]
2014-07-30 Thomas Quinot <quinot@adacore.com>
* gnat_rm.texi: Minor doc fixes.
2014-07-30 Robert Dewar <dewar@adacore.com>
* a-rbtgbo.adb, sem_ch13.adb: Minor reformatting.
2014-07-30 Vincent Celier <celier@adacore.com>
* errutil.adb (Set_Msg_Text): Process tilde ('~'): no processing
of error message.
* prj-nmsc.adb (Locate_Directory): Use a tilde ('~') in the
message to report that a directory cannot be created, to avoid
processing of the directory path that may contains special
insertion characters.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213301
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 15:17:33 +0000 (15:17 +0000)]
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* a-crdlli.ads: Place declaration of Empty_List after full type
declaration for Curosr, to prevent freezing error.
2014-07-30 Robert Dewar <dewar@adacore.com>
* get_targ.adb: Minor code reorganization.
* prj-proc.adb, prj-proc.ads, get_targ.ads, sem_ch6.adb: Minor
reformatting.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* a-cbhase.adb: a-cbhase.adb (Insert): Raise Constraint_Error,
not Program_Error, when attempting to remove an element not in
the set. This is the given semantics for all set containers.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* a-rbtgbo.adb: -rbtgbo.adb (Delete_Node_Sans_Free): If
element is not present in tree return rather than violating
an assertion. Constraint_Error will be raised in the caller if
element is not in the container.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213300
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 15:15:32 +0000 (15:15 +0000)]
2014-07-30 Arnaud Charlet <charlet@adacore.com>
* set_targ.adb (Read_Target_Dependent_Values): New subprogram.
(elab body): Add provision for default target config file.
* get_targ.ads, get_targ.adb (Get_Back_End_Config_File): New subprogram.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* a-cbhase.adb (Delete): Raise Constraint_Error, not Program_Error,
when attempting to remove an element not in the set. This is
the given semantics for all set containers.
* a-cborse.adb (Delete): Attempt removal first, to check for
tampering, before checking whether this is an attempt to
delete a non-existing element, and in fthe latter case raise
Constraint_Error.
2014-07-30 Vincent Celier <celier@adacore.com>
* prj-proc.adb (Recursive_Process): Do not create a new
Project_Id if the project is already in the list of projects of
the tree.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Function_Return): Reject a return expression
whose type is an incomplete formal type.
(Analyze_Return_Type): Reject a return type that is an untagged
imcomplete formal type.
(Process_Formals): Reject a formal parameter whose type is an
untagged formal incomplete type.
* sem_res.adb (Resolve_Actuals): Reject an actual whose type is
an untagged formal incomplete type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213299
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 15:13:23 +0000 (15:13 +0000)]
2014-07-30 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Minor spelling correction.
* makeutl.adb: Minor code reorganization.
* exp_ch4.adb, exp_aggr.adb, exp_ch3.adb: Minor reformatting.
2014-07-30 Robert Dewar <dewar@adacore.com>
* einfo.ads (Has_Unchecked_Union): Document that this is used
to check for illegal Valid_Scalars attribute references.
* exp_attr.adb (Build_Record_VS_Func): New function
(Expand_N_Attribute_Reference, case Valid_Scalars): Call this
function.
* gnat_rm.texi: Document 'Valid_Scalars cannot be applied to
Unchecked_Union Add note on 'Valid_Scalars generating a lot
of code.
* sem_attr.adb (Analyze_Attribute, case Valid_Scalars): Give
error on attempt to apply Valid_Scalars to Unchecked_Union type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213298
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 15:11:17 +0000 (15:11 +0000)]
2014-07-30 Steve Baird <baird@adacore.com>
* exp_ch4.adb (Expand_N_Indexed_Component): Disable optimized handling
of A(I..J)(K) in CodePeer_Mode.
2014-07-30 Ben Brosgol <brosgol@adacore.com>
* gnat_ugn.texi: Fix typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213297
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 15:09:05 +0000 (15:09 +0000)]
2014-07-30 Thomas Quinot <quinot@adacore.com>
* lib-writ.ads: document format change.
2014-07-30 Pascal Obry <obry@adacore.com>
* prj-util.adb (For_Interface_Sources): Do not
include sources from withed externally built projects.
2014-07-30 Robert Dewar <dewar@adacore.com>
* lib.adb: Minor reformatting.
* prj-util.adb: Minor reformatting.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* exp_aggr.adb (Build_Record_Aggr_Code): For an array component
that depends on discriminants, and which is given by an others
clause, create an explicit subtype with the discriminant values
of the enclosing aggregate, because the backend cannot otherwise
retrieve the actual bounds of the array.
2014-07-30 Fedor Rybin <frybin@adacore.com>
* gnat_ugn.texi: Improve gnattest documentation.
2014-07-30 Pascal Obry <obry@adacore.com>
* makeutl.adb (Insert_Project_Sources): Properly handle sources
that are aggregated. We want to include sources not only part
of libraries but also if part of an aggregated project from an
aggregate library.
* prj.adb (For_Project_And_Aggregated_Context): Properly check
state of root project.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213296
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 15:06:40 +0000 (15:06 +0000)]
2014-07-30 Thomas Quinot <quinot@adacore.com>
* lib-load.ads: Minor reformatting.
* sinfo.ads (Library_Unit): Update comment.
* lib.ads (Notes): Simplify. The Unit component in Notes_Entry
is redundant. Instead used the pragma Node_Id directly as the
element type.
2014-07-30 Thomas Quinot <quinot@adacore.com>
* lib.adb (Store_Note): Store only notes that do not come from
an instance, and that are in the extended main source unit.
* lib-writ (Write_Unit_Information): Annotations from subunits
must be emitted along with those for the main unit, and they
must carry a specific file name.
* ali.ads (Notes_Record): Use a File_Name_Type instead of a
Unit_Id for the source file containing the pragma, as in the
case of annotations from subunits we might not have a readily
available unit id.
* ali.adb (Scan_ALI): Account for above change in data structure.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213295
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 15:04:20 +0000 (15:04 +0000)]
2014-07-30 Vincent Celier <celier@adacore.com>
* makeutl.adb (Insert_Project_Sources): When the library project
is an aggregate Stand-Alone Library, insert in the queue the
Ada interface units, with Closure set to True;
2014-07-30 Eric Botcazou <ebotcazou@adacore.com>
* sem_util.adb: Fix minor typo.
* makeutl.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213294
138bc75d-0d04-0410-961f-
82ee72b054a4
tromey [Wed, 30 Jul 2014 15:02:59 +0000 (15:02 +0000)]
2014-07-30 Tom Tromey <tromey@redhat.com>
PR c/59855
* doc/invoke.texi (Warning Options): Document -Wdesignated-init.
* doc/extend.texi (Type Attributes): Document designated_init
attribute.
2014-07-30 Tom Tromey <tromey@redhat.com>
PR c/59855
* c.opt (Wdesignated-init): New option.
* c-common.c (c_common_attribute_table): Add "designated_init".
(handle_designated_init): New function.
2014-07-30 Tom Tromey <tromey@redhat.com>
* c-typeck.c (struct constructor_stack) <designator_depth>: New
field.
(really_start_incremental_init, push_init_level): Initialize
designator_depth.
(pop_init_level): Set global designator_depth.
(process_init_element): Check for designated_init attribute.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213293
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 15:01:55 +0000 (15:01 +0000)]
2014-07-30 Robert Dewar <dewar@adacore.com>
* exp_ch7.adb, checks.adb, makeutl.adb, makeutl.ads: Minor reformatting.
2014-07-30 Yannick Moy <moy@adacore.com>
* checks.ads: Fix typo in comment.
2014-07-30 Pierre-Marie Derodat <derodat@adacore.com>
* sem_util.adb (Set_Debug_Info_Needed): For scalar types, recurse on
entities that materialize range bounds, if any.
2014-07-30 Vincent Celier <celier@adacore.com>
* projects.texi: Minor spelling fix.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213292
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 14:57:28 +0000 (14:57 +0000)]
2014-07-30 Hristian Kirtchev <kirtchev@adacore.com>
* checks.adb (Make_Bignum_Block): Use the new secondary stack
build routines to manage the mark.
* exp_ch7.adb (Create_Finalizer, Expand_Cleanup_Actions):
Use the new secodary stack build routines to manage the mark.
(Insert_Actions_In_Scope_Around): Add new formal parameter
Manage_SS along with comment on its usage. Code and comment
reformatting. Mark and release the secondary stack when the
context warrants it.
(Make_Transient_Block): Update the call
to Insert_Actions_In_Scope_Around to account for parameter Manage_SS.
(Wrap_Transient_Declaration): Remove local variable
Uses_SS. Ensure that the secondary stack is marked and released
when the related object declaration appears in a library level
package or package body. Code and comment reformatting.
* exp_util.ads, exp_util.adb (Build_SS_Mark_Call): New routine.
(Build_SS_Release_Call): New routine.
2014-07-30 Steve Baird <baird@adacore.com>
* exp_attr.adb: Revert previous change, not needed after all.
2014-07-30 Vincent Celier <celier@adacore.com>
* makeutl.adb (Queue.Insert_Project_Sources): Insert with
Closure => True for interfaces of Stand-Alone Libraries.
* makeutl.ads (Source_Info (Format => Gprbuild)): Add new
Boolean component Closure, defaulted to False.
2014-07-30 Yannick Moy <moy@adacore.com>
* sem_res.adb: Fix typo in error message.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213291
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 14:53:56 +0000 (14:53 +0000)]
2014-07-30 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb (Process_Range_Expr_In_Decl): Use _FIRST/_LAST
as name suffixes rather than L/H for subtype bounds.
* tbuild.ads: Minor comment improvements and fixes
(Make_External_Name): Document that suffix can start with an
underscore.
2014-07-30 Bob Duff <duff@adacore.com>
* gnat_ugn.texi: Document --rep-clauses switch.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213290
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 14:49:38 +0000 (14:49 +0000)]
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specifications): Default_Value and
Default_Component_Value can only be specified for scalar type or
arrays of scalar types respectively. This legality check must
be performed at the point the aspect is analyzed, in order to
reject aspect specifications that apply to a partial view.
2014-07-30 Thomas Quinot <quinot@adacore.com>
* freeze.adb: Minor reformatting.
2014-07-30 Robert Dewar <dewar@adacore.com>
* exp_attr.adb (Expand_Attribute, case First/Last): Don't expand in
codepeer mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213289
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 14:47:53 +0000 (14:47 +0000)]
(Default_Attribute_Count): Replace by Max_Attribute_Count.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213288
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 14:34:38 +0000 (14:34 +0000)]
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* freeze.adb (Check_Expression_Function): At the freeze point
of an expression function, verify that the expression in the
function does not contain references to any deferred constants
that have no completion yet.
(Freeze_Expression, Freeze_Before): call
Check_Expression_Function.
* a-ciorse.ads: Add Reference_Control_Type to detect tampering.
* a-ciorse.adb: Add Adjust and Finalize routines for
Reference_Control_Type. Use it in the construction of Reference
and Constant_Reference values.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213287
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 14:32:24 +0000 (14:32 +0000)]
2014-07-30 Robert Dewar <dewar@adacore.com>
* exp_aggr.adb: Update comments.
* a-chtgbo.adb, a-chtgbo.ads, a-cbhase.adb, a-cbhase.ads: Minor
reformatting.
2014-07-30 Robert Dewar <dewar@adacore.com>
* cstand.adb (New_Standard_Entity): New version takes name
string to call Make_Name.
(Create_Standard): Use this routine to set name before setting other
fields.
2014-07-30 Robert Dewar <dewar@adacore.com>
* exp_attr.adb (Expand_Attribute, case First): Rewrite simple
entity reference.
(Expand_Attribute, case Last): Ditto.
* exp_ch3.adb (Constrain_Index): New calling sequence for
Process_Range_Expr_In_Decl.
(Expand_N_Object_Declaration): Avoid setting Is_Known_Valid in one
problematical case.
* sem_ch3.adb (Constrain_Index): New calling sequence for
Process_Range_Expr_In_Decl.
(Set_Scalar_Range_For_Subtype): ditto.
(Process_Range_Expr_In_Decl): Create constants to hold bounds for
subtype.
* sem_ch3.ads (Process_Range_Expr_In_Decl): Add Subtyp parameter.
* sem_eval.adb (Compile_Time_Compare): Make sure we use base
types if we are not assuming no invalid values.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213286
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 14:29:05 +0000 (14:29 +0000)]
2014-07-30 Robert Dewar <dewar@adacore.com>
* clean.adb: Minor reformatting.
* opt.ads: Minor fix to incorrect comment.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* a-chtgbo.ads, a-chtgbo.adb (Delete_Node_At_Index): New
subprogram, used by bounded hashed sets, to delete a node at
a given index, whose element may have been improperly updated
through a Reference_Preserving key.
* a-cbhase.ads: Add Reference_Control_Type to package Generic_Keys.
* a-cbhase.adb: Add Adjust and Finalize routines for
Reference_Control_Type.
(Delete, Insert): Raise Program_Error, not Constraint_Error,
when operation is illegal.
(Reference_Preserving_Key): Build aggregate for Reference_Control_Type
* a-cmbutr.ads: Add Reference_Control_Type to detect tampering. Add
private with_clause for Ada.Finalization.
* a-cbmutr.adb: Add Adjust and Finalize routines for
Reference_Control_Type. Use it in the construction of Reference
and Constant_Reference values.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213285
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 14:26:55 +0000 (14:26 +0000)]
2014-07-30 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, sem_ch3.ads: Minor code reorganization.
2014-07-30 Pascal Obry <obry@adacore.com>
* clean.adb (Clean_Project): Properly check for directory
existence before trying to enter it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213284
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 14:25:36 +0000 (14:25 +0000)]
2014-07-30 Robert Dewar <dewar@adacore.com>
* sem_ch3.ads, prj.ads, prj-nmsc.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213283
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 14:23:54 +0000 (14:23 +0000)]
2014-07-30 Robert Dewar <dewar@adacore.com>
* par-ch5.adb (P_Sequence_Of_Statements): Properly handle
missing semicolon after name.
2014-07-30 Pascal Obry <obry@adacore.com>
* prj.ads (Gprinstall_Flags): New constant.
* prj-nmsc.adb (Check_Library_Attributes): Do not fails for
missing library dir if Directories_Must_Exist_In_Projects
is false.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213282
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 14:22:38 +0000 (14:22 +0000)]
2014-07-30 Bob Duff <duff@adacore.com>
* a-except-2005.adb, a-except.adb: Remove obsolete comments.
* s-traceb.ads: Updagte comments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213281
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 14:21:09 +0000 (14:21 +0000)]
2014-07-30 Robert Dewar <dewar@adacore.com>
* checks.adb, a-cihase.adb, a-cihase.ads, a-chtgop.adb, a-chtgop.ads,
a-except.adb, a-except-2005.adb, a-cborse.adb, a-cborse.ads,
a-exexda.adb, a-elchha.adb, exp_aggr.adb, a-cohase.adb: Minor
reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213280
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 14:19:54 +0000 (14:19 +0000)]
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* a-chtgop.ads, a-chtgop.adb (Delete_Node_At_Index): New
subprogram, used by all versions of hashed sets, to delete a node
whose element has been improperly updated through a Reference_
Preserving key.
* a-cohase.adb: Remove Delete_Node, use new common procedure
Delete_Node_At_Index.
* a-cihase.ads: Add Reference_Control_Type to package Generic_Keys.
* a-cihase.adb: Add Adjust and Finalize routines for
Reference_Control_Type.
(Reference_Preserving_Key): Build aggregate for
Reference_Control_Type
2014-07-30 Yannick Moy <moy@adacore.com>
* checks.adb, checks.ads (Determine_Range_R): New procedure to
determine the possible range of a floating-point expression.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* a-cborse.ads: Add Reference_Control_Type to package Generic_Keys.
* a-cborse.adb: Add Adjust and Finalize routines for
Reference_Control_Type.
(Reference_Preserving_Key): Build aggregate for
Reference_Control_Type.
(Delete): Check for tampering, and raise Program_Error (not
Constraint_Error) when attempting to delete an element not in
the set.
(Insert): Ditto.
2014-07-30 Bob Duff <duff@adacore.com>
* a-elchha.adb, a-except-2005.adb, a-except.adb, a-exexda.adb,
* a-exextr.adb, a-exstat.adb, exp_intr.ads, s-tassta.adb:
Exception_Information is used to produce useful debugging
information for the programmer. However, it was also used to
implement the stream attributes for type Exception_Occurrence. The
latter requires a stable and portable interface, which meant
that we couldn't include a symbolic traceback. A separate set of
routines was used to provide symbolic tracebacks under program
control (i.e. not automatically). The goal of this ticket is
to provide such automatic tracebacks, so the change here is to
split the two functionalities: Exception_Information gives the
maximally useful information for debugging (i.e. it now includes
a symbolic traceback when a decorator is set, and it can be
improved freely in the future without disturbing streaming).
Untailored_Exception_Information always uses hexadecimal addresses
in the traceback, has a stable and portable output, and is now
used for streaming.
2014-07-30 Eric Botcazou <ebotcazou@adacore.com>
* exp_aggr.adb (Expand_Array_Aggregate): Add missing test
on the target of the assignment to find out whether it
can be directly done by the back-end.
* exp_util.adb (Is_Possibly_Unaligned_Slice): Remove obscure test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213279
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 14:15:28 +0000 (14:15 +0000)]
2014-07-30 Robert Dewar <dewar@adacore.com>
* inline.adb, a-coorse.adb, a-coorse.ads, a-cohase.adb, a-cohase.ads,
a-tasatt.adb: Minor reformatting.
2014-07-30 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213278
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 14:14:11 +0000 (14:14 +0000)]
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* a-coorse.adb, a-coorse.ads (Generic_Keys): Add a
Reference_Control_Type to generic package, to keep additional
information for Reference_Types that manipulate keys. Add Adjust and
Finalize procedures for this type.
(Finalize): When finalizing a reference_preserving_key, verify
that the key of the new value is equivalent to the key of the
original element, raise Program_Error otherwise.
(Insert): Detect tampering.
(Reference_Preserving_Key): Build proper Reference_Control_Type,
and update Busy and Lock bits to detect tampering.
* a-cohase.ads: Keep with-clause private.
2014-07-30 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch4.adb (Expand_N_Op_Eq): Emit a warning when the operands
of an equality are of an Unchecked_Union type and lack inferable
discriminants.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213277
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 14:12:37 +0000 (14:12 +0000)]
2014-07-30 Bob Duff <duff@adacore.com>
* g-exctra.adb, g-exctra.ads, s-exctra.adb, s-exctra.ads, Makefile.rtl,
g-trasym.adb, g-trasym.ads, s-trasym.adb, s-trasym.ads: Move
GNAT.Traceback.Symbolic and GNAT.Exception_Traces into the System
hierarchy (System.Traceback.Symbolic and System.Exception_Traces), so
we can call them from the runtimes. Leave renamings in place under GNAT.
2014-07-30 Yannick Moy <moy@adacore.com>
* inline.adb (Check_And_Build_Body_To_Inline): Include code for
inlining in GNATprove mode.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* a-cohase.adb, a-cohase.ads (Generic_Keys): Add a
Reference_Control_Type to generic package, to keep additional
information for Reference_Types that manipulate keys. Add Adjust and
Finalize procedures for this type.
(Delete_Node): New procedure called when finalizing a
Reference_Control_Type, to remove a node whose element has been
improperly updated through a Reference.
(Insert): Detect tampering.
(Reference_Preserving_Key): Build proper Reference_Control_Type,
and update Busy and Lock bits to detect tampering.
2014-07-30 Bob Duff <duff@adacore.com>
* exp_intr.ads: Minor comment fix.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213276
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 14:00:58 +0000 (14:00 +0000)]
2014-07-30 Gary Dismukes <dismukes@adacore.com>
* exp_prag.adb, a-tags.ads: Minor typo fixes.
2014-07-30 Bob Duff <duff@adacore.com>
* a-excach.adb, a-excach-cert.adb, a-except-2005.ads,
a-except.ads, g-traceb.adb, memtrack.adb,
s-traceb.adb, s-traceb.ads, s-traceb-hpux.adb, s-traceb-mastop.adb:
Cleanup: Make the three versions of System.Traceback.Call_Chain
have the same interface. Use an array for the Traceback parameter
instead of an Address. This will enable reduction in code
duplication.
2014-07-30 Pat Rogers <rogers@adacore.com>
* gnat_ugn.texi: Corrected minor textual error in description
of switch -gnatwl.
2014-07-30 Bob Duff <duff@adacore.com>
* Makefile.rtl: Sort file names.
2014-07-30 Arnaud Charlet <charlet@adacore.com>
* a-tasatt.adb: Complete previous change: kill spurious warning
on e.g. sparc, and make sure we only use the fast path when the
alignment is compatible.
2014-07-30 Yannick Moy <moy@adacore.com>
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Mark new Spec_Id as
coming from source.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213275
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 13:58:00 +0000 (13:58 +0000)]
2014-07-30 Yannick Moy <moy@adacore.com>
* inline.adb (Build_Body_To_Inline): Issue more precise messages
for declarations that prevent inlining.
(Cannot_Inline): Change usual start of message to refer to contextual
analysis in GNATprove mode.
* sem_res.adb (Resolve_Call): Change usual start of message to
refer to contextual analysis in GNATprove mode, when inlining
not possible.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213273
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 13:57:16 +0000 (13:57 +0000)]
2014-07-30 Robert Dewar <dewar@adacore.com>
* sem_res.adb, sem_ch6.adb: Minor code reorganization.
* inline.adb: Minor reformatting.
2014-07-30 Javier Miranda <miranda@adacore.com>
* a-tags.ads: Add comments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213272
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 13:54:18 +0000 (13:54 +0000)]
2014-07-30 Pat Rogers <rogers@adacore.com>
* gnat_rm.texi: Minor word error.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* exp_prag.adb (Expand_Old): Insert declarationss of temporaries
created to capture the value of the prefix of 'Old at the
beginning of the current declarative part, to prevent data flow
anomalies in the postcondition procedure that will follow.
2014-07-30 Yannick Moy <moy@adacore.com>
* debug.adb: Retire debug flag -gnatdQ.
* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Check SPARK_Mode
on decl, not on body. Ignore predicate functions.
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove use of
debug flag -gnatdQ. Correctly analyze SPARK_Mode on decl and
body when generating a decl for a body on which SPARK_Mode aspect
is given.
* sem_prag.adb (Analyze_Pragma|SPARK_Mode): Reorder tests for
attaching pragma to entity, to account for declaration not coming
from source.
* sem_res.adb (Resolve_Call): Issue warning and flag subprogram
as not always inlined in GNATprove mode, when called in an
assertion context.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213271
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 13:53:11 +0000 (13:53 +0000)]
2014-07-30 Vincent Celier <celier@adacore.com>
* debug.adb: Minor comment update.
2014-07-30 Robert Dewar <dewar@adacore.com>
* s-tasuti.adb, s-tassta.adb: Minor reformatting.
* sprint.adb (Sprint_Node): Handle N_Contract case.
* exp_prag.adb: Minor reformatting.
* freeze.adb (Freeze_Entity): Check useless postcondition for
No_Return subprogram.
* sem_prag.adb: Minor reformatting.
2014-07-30 Javier Miranda <miranda@adacore.com>
* a-tags.ads: Complete comments about performance.
2014-07-30 Fedor Rybin <frybin@adacore.com>
* gnat_ugn.texi: Adding description for --exit-status option to
gnattest section. Fixing index entry of --passed-tests option
in gnattest section.
2014-07-30 Javier Miranda <miranda@adacore.com>
* Makefile.rtl, gnat_rm.texi, i-cpp.adb, i-cpp.ads, impunit.adb,
rtsfind.ads: Remove references to package Interfaces.CPP since this
package is no longer needed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213270
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 13:50:25 +0000 (13:50 +0000)]
2014-07-30 Bob Duff <duff@adacore.com>
* s-taasde.adb (Timer_Queue): Don't use a
build-in-place function call to initialize the Timer_Queue.
* s-traent.adb, s-traent.ads, s-traent-vms.adb, s-traent-vms.ads:
Turn off polling in these units, because otherwise we get
elaboration circularities with Ada.Exceptions when the -gnatP
switch is used.
* s-tassta.adb (Create_Task): Make sure independent tasks
are created with Parent = Environment_Task. This was not true,
for example, in s-interr.adb, when Interrupt_Manager does "new
Server_Task"; the Server_Task had Parent = Interrupt_Manager,
which is wrong because the master is determined by the access
type, which is at library level.
* s-tasuti.adb (Make_Independent): Avoid setting Parent; it is
now set correctly by Create_Task.
(Make_Passive): Remove the workaround for the race condition in
Make_Independent.
* frontend.adb (Frontend): Revert to previous method of detecting
temporary configuration pragma files, recognizing such files by
".tmp" in the name. This is more general than detecting pragmas
Source_File_Name_Project, because it allows any tool to use
this naming convention, no matter the content of the file.
* gnat_ugn.texi: Document this naming convention.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213269
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 13:48:04 +0000 (13:48 +0000)]
2014-07-30 Robert Dewar <dewar@adacore.com>
* exp_ch7.adb, s-tataat.adb, s-tataat.ads, s-parame-vms-alpha.ads,
inline.adb, s-parame-hpux.ads, exp_smem.adb, s-tasini.adb,
s-tasini.ads, s-parame-vms-ia64.ads, s-parame.ads, s-taskin.ads,
s-parame-vxworks.ads, a-tasatt.adb, a-tasatt.ads: Minor reformatting.
* a-suenco.adb (Convert): Handle overlong encodings in UTF8-UTF8
conversion.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213268
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 13:46:35 +0000 (13:46 +0000)]
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb: Improve error recovery.
* inline.adb (Build_Body_To_Inline): Set Full_Analysis to false
before analyzing the body, so that in GNATprove mode there is
no light expansion. Whatever expansion is required by SPARK will
be performed when analysing the inlined code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213267
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 13:45:14 +0000 (13:45 +0000)]
2014-07-30 Bob Duff <duff@adacore.com>
* s-tataat.adb, s-tataat.ads, a-tasatt.adb: Minor comment fixes.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb (Analyze_Loop_Statement): If loop has a label,
verify that it is not hidden by an inner implicit declaration.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213266
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 13:43:32 +0000 (13:43 +0000)]
2014-07-30 Thomas Quinot <quinot@adacore.com>
* sem.ads (Scope_Table_Entry): New component Locked_Shared_Objects.
* sem_ch8.adb (Push_Scope): Initialize Locked_Shared_Objects.
* exp_smem.adb (Add_Shared_Var_Lock_Procs): Handle the case where
the call returns an unconstrained type: in this case there is
already a transient scope, and we should not establish a new one.
* exp_ch7.adb (Insert_Actions_In_Scope_Around): New formal Clean. If
True, also insert cleanup actions in the tree.
(Wrap_Transient_Declaration): Call Insert_Actions_In_Scope_Around
with Clean set True.
2014-07-30 Arnaud Charlet <charlet@adacore.com>
* s-taskin.ads (Direct_Index, Direct_Index_Range,
Direct_Attribute_Element, Direct_Attribute_Array,
Direct_Index_Vector, Direct_Attributes, Is_Defined,
Indirect_Attributes): Removed. (Atomic_Address,
Attribute_Array, Attributes): New.
* s-tasini.ads, s-tasini.adb (Proc_T, Initialize_Attributes,
Finalize_Attributes_Link, Initialize_Attributes_Link): Removed.
(Finalize_Attributes): Reimplement.
* s-tassta.adb (Create_Task): Remove call to
Initialize_Attributes_Link (Free_Task, Vulnerable_Free_Task):
Replace Finalize_Attributes_Link by Finalize_Attributes.
* a-tasatt.ads, a-tasatt.adb, s-tataat.ads, s-tataat.adb:
Reimplement from scratch, using a simpler and more efficient
implementation.
* s-tporft.adb (Register_Foreign_Thread): Remove now obsolete comment.
* s-parame.ads, s-parame-hpux.ads,
* s-parame-vms-alpha.ads, s-parame-vms-ia64.ads,
* s-parame-vxworks.ads (Max_Attribute_Count): New, replace
Default_Attribute_Count.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213265
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 13:40:41 +0000 (13:40 +0000)]
2014-07-30 Olivier Hainque <hainque@adacore.com>
* vxworks-ppc-link.spec: New file. Extra link
instructions for ppc-vxworks.
* vxworks-crtbe-link.spec: Likewise, for ZCX related support.
* system-vxworks-ppc.ads: Adjust linker options to use spec files.
* system-vxworks-arm.ads: Likewise.
* gcc-interface/Makefile.in: Enable .spec files.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* sem_aggr.adb: Minor comment reformatting.
2014-07-30 Robert Dewar <dewar@adacore.com>
* sem_util.ads, sem_util.adb (Is_Junk_Name): Removed.
* sem_warn.adb (Has_Junk_Name): New function
(Check_References): Use Has_Junk_Name to delete junk warnings
(Check_Unset_Reference): ditto.
(Warn_On_Unreferenced_Entity): ditto.
(Warn_On_Useless_Assignment): ditto.
* sem_ch3.adb, lib-xref-spark_specific.adb, s-taprop-vxworks.adb,
exp_ch7.adb, s-asthan-vms-alpha.adb, sem_ch10.adb, osint-c.adb,
prj.adb, g-comlin.adb, makeutl.adb, s-tasdeb.adb, exp_intr.adb,
s-asthan-vms-ia64.adb, prj-env.adb: Ditto.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* checks.adb (Insert_Valid_Check): Do not check for the packed
array type of a prefix that is an access type.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Eval_Attribute): Evaluate the GNAT attribute
Unconstrained_Array even if prefix is not frozen yet, as can
occur with a private subtype used as a generic actual.
2014-07-30 Gary Dismukes <dismukes@adacore.com>
* sem_attr.adb: Minor reformatting.
2014-07-30 Pat Rogers <rogers@adacore.com>
* gnat_rm.texi: Corrected minor wording error in description
of No_Exception_Registration.
2014-07-30 Yannick Moy <moy@adacore.com>
* einfo.ads, einfo.adb: New flag Is_Inlined_Always for use in GNATprove
mode. Realphabetize two subprograms.
* inline.adb (Cannot_Inline): Use Is_Inlined_Always in GNATprove mode.
(Can_Be_Inlined_In_GNATprove_Mode): Adapt to possible Empty Body_Id.
(Check_And_Build_Body_To_Inline): Use Is_Inlined_Always in GNATprove
mode.
(Expand_Inline_Call): Use Is_Inlined_Always in GNATprove mode.
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not use
Is_Inline in GNATprove mode.
(Analyze_Subprogram_Specification):
Set Is_Inlined_Always at subprogram entity creation.
* sem_res.adb (Resolve_Call): Do not deal with inlining during
pre-analysis. Issue warning on call to possibly inlined
subprogram when body not seen.
2014-07-30 Yannick Moy <moy@adacore.com>
* lib-xref.adb (Generate_Reference): Add special
case for compiler-generated formals in GNATprove mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213264
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 13:29:43 +0000 (13:29 +0000)]
Clean up.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213263
138bc75d-0d04-0410-961f-
82ee72b054a4
romangareev [Wed, 30 Jul 2014 13:18:16 +0000 (13:18 +0000)]
[gcc/]
* graphite-isl-ast-to-gimple.c:
(gcc_expression_from_isl_ast_expr_id): Add calling of fold_convert.
(gcc_expression_from_isl_expression): Pass type to
gcc_expression_from_isl_ast_expr_id.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213262
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 12:58:03 +0000 (12:58 +0000)]
2014-07-30 Yannick Moy <moy@adacore.com>
* sem_ch6.adb: Add comments.
2014-07-30 Thomas Quinot <quinot@adacore.com>
* s-os_lib.ads (GM_Time_Of): Clarify documentation.
2014-07-30 Robert Dewar <dewar@adacore.com>
* sem_aggr.adb, sem_res.adb: Minor reformatting.
2014-07-30 Thomas Quinot <quinot@adacore.com>
* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
Bit_Order): Set Reverse_Bit_Order on the base type of the
specified first subtype.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213261
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 12:56:13 +0000 (12:56 +0000)]
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* inline.adb (Expand_Inlined_Call): Use a renaming declaration
to capture the value of actuals of a limited type rather than
an object declaration, to prevent spurious errors when analyzing
the inlined body.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Analyze_Type_Conversion): Treat an inlined body
as an instance, and inhibit semantic checks on already analyzed
code to prevent spurious errors.
2014-07-30 Arnaud Charlet <charlet@adacore.com>
* a-exctra.ads ("="): New function, to restore compatibility.
2014-07-30 Pascal Obry <obry@adacore.com>
* adaint.c (__gnat_to_os_time): Set isdst to -1 for the mktime
routine to use the OS dst setting.
2014-07-30 Pat Rogers <rogers@adacore.com>
* gnat_ugn.texi: Minor correction to description of -gnatw.K.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb (Wrong_Type): Disable some checks equally within
instances and within inlined bodies, to suppress spurious type
errors on already analyzed code.
* sem_aggr.adb (Check_Expr_OK_In_Limited_Aggregate): Expression
is legal in an inlined body, juts as it is in an instance body.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Resolve_Unchecked_Conversion): Within an inlined
body the operand of an unchecked conversion may be a literal, in
which case its type is the target type of the conversion. This
is in contrast to conversions in other contexts, where the
operand cannot be a literal and must be resolvable independent
of the context.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213260
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 12:54:19 +0000 (12:54 +0000)]
Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213259
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 12:52:44 +0000 (12:52 +0000)]
2014-07-30 Pierre-Marie Derodat <derodat@adacore.com>
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create a
mere scalar constant instead of a reference for a renaming of
scalar literal.
* gcc-interface/utils.c (renaming_from_generic_instantiation_p): New.
* gcc-interface/gigi.h (renaming_from_generic_instantiation_p): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213258
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 12:50:43 +0000 (12:50 +0000)]
2014-07-30 Robert Dewar <dewar@adacore.com>
* s-tasuti.adb, s-tasuti.ads, einfo.ads, sem_prag.adb, s-taasde.adb,
g-socthi-vms.adb, s-taprop-mingw.adb, s-interr.adb, s-interr-hwint.adb,
g-decstr.adb, s-tasdeb-vms.adb, g-expect-vms.adb, makeutl.adb,
s-interr-vms.adb, g-socthi.adb, exp_aggr.adb, s-tasdeb.adb,
g-awk.adb, gnatls.adb, s-taspri-posix.ads, g-catiio.adb,
s-interr-sigaction.adb, s-os_lib.adb, s-fileio.adb: Minor reformatting
& code reorganization.
2014-07-30 Bob Duff <duff@adacore.com>
* s-tassta.adb, sem_util.ads: Minor reformatting.
2014-07-30 Yannick Moy <moy@adacore.com>
* inline.adb (Build_Body_To_Inline): Detect when
subprogram has multiple returns, or not a single last return
statement, in GNATprove mode.
(Cannot_Inline): Simplify logic to handle case of GNATprove
inlining first.
2014-07-30 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb: Stubs are not subject to inlining.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213257
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 30 Jul 2014 12:46:03 +0000 (12:46 +0000)]
2014-07-30 Bob Duff <duff@adacore.com>
* s-tasuti.ads, s-tasuti.adb (Make_Independent): Change this
from a procedure to a function, so that it can more easily be
called before the "begin" of a task.
* s-taasde.ads (Delay_Block): Make this type immutably limited,
so we can use a build-in-place function call to initialize
Timer_Queue in the body.
* a-rttiev.adb, s-asthan-vms-alpha.adb, s-asthan-vms-ia64.adb,
* s-interr.adb, s-interr-hwint.adb, s-interr-sigaction.adb,
* s-interr-vms.adb, s-taasde.adb: Each independent task now calls
Make_Independent before reaching its "begin", to avoid race
conditions. This causes the activating task to wait until after
Make_Independent is complete before proceeding. In addition,
we initialize data structures used by independent tasks before
activating those tasks, to avoid possible use of uninitialized data.
* s-interr.ads, s-intman.ads, s-taspri-posix.ads, s-tasdeb.ads:
Minor comment fixes.
2014-07-30 Bob Duff <duff@adacore.com>
* a-exctra.ads, s-traent-vms.ads, s-traent.ads (Tracebacks_Array): Move
the declaration of Tracebacks_Array from Ada.Exceptions.Traceback to
System.Traceback_Entries (s-traent.ads and s-traent-vms.ads). Add
subtypes renaming Tracebacks_Array in Ada.Exceptions.Traceback.
* g-debpoo.adb: Refer to Tracebacks_Array in its new home.
2014-07-30 Arnaud Charlet <charlet@adacore.com>
* a-tasatt.adb: Remove old comments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213256
138bc75d-0d04-0410-961f-
82ee72b054a4