1. 31 Jul, 2014 40 commits
    • [multiple changes] · fce54763
      2014-07-31  Arnaud Charlet  <charlet@adacore.com>
      
      	* lib-writ.adb (Write_Unit_Information): Fix case where U =
      	No_Unit.
      
      2014-07-31  Claire Dross  <dross@adacore.com>
      
      	* exp_util.adb, exp_util.ads
      	(Get_First_Parent_With_External_Axiomatization_For_Entity):
      	New routine to find the first parent of an entity with
      	a pragma Annotate (GNATprove, External_Axiomatization).
      	(Has_Annotate_Pragma_For_External_Axiomatization): New function
      	to check if a package has a pragma Annotate (GNATprove,
      	External_Axiomatization).
      	* einfo.ads, einfo.adb (Is_Generic_Actual_Subprogram): New
      	flag on the entity for the declaration created for a formal
      	subprogram in an instance. This is a renaming declaration,
      	or in GNATprove_Mode the declaration of an expression function
      	that captures the axiomatization of the actual.
      	* sem_ch6.adb (Analyze_Expression_Function): For a
      	Generic_Actual_Subprogram, place body immediately after the
      	declaration because it may be used in a subsequent declaration
      	in the instance.
      	* sem_ch12.adb (Build_Wrapper): Add code to handle instances where
      	the actual is a function, not an operator. Handle functions with
      	one and two parameters and binary and unary operators.
      
      2014-07-31  Pascal Obry  <obry@adacore.com>
      
      	* cstreams.c (__gnat_is_regular_file_fd): Removed.
      	* adaint.c (__gnat_is_regular_file_fd): Added.
      
      From-SVN: r213364
      Arnaud Charlet committed
    • [multiple changes] · 7f3d273a
      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.
      
      From-SVN: r213363
      Arnaud Charlet committed
    • sem_attr.adb (Analyze_Attribute, case 'Old): The reference is legal if within an… · f4510e5e
      sem_attr.adb (Analyze_Attribute, case 'Old): The reference is legal if within an aspect specification for a generic subprogram.
      
      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.
      
      From-SVN: r213362
      Ed Schonberg committed
    • [multiple changes] · d7a93e45
      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.
      
      From-SVN: r213361
      Arnaud Charlet committed
    • [multiple changes] · 16a569d2
      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.
      
      From-SVN: r213360
      Arnaud Charlet committed
    • inline.adb, [...]: Minor reformatting. · c5670cb4
      2014-07-31  Robert Dewar  <dewar@adacore.com>
      
      	* inline.adb, gnat1drv.adb, exp_ch6.adb, s-fileio.adb: Minor
      	reformatting.
      
      From-SVN: r213359
      Robert Dewar committed
    • Minor reformatting. · 67b69383
      From-SVN: r213357
      Arnaud Charlet committed
    • utils2.c ((build_binary_op): Don't set TREE_THIS_NOTRAP on array references here... · c1b37eda
      	* gcc-interface/utils2.c ((build_binary_op): Don't set TREE_THIS_NOTRAP
      	on array references here, now done more selectively in trans.c.
      
      From-SVN: r213356
      Eric Botcazou committed
    • misc.c (gnat_init_gcc_fp(): Set flag_errno_math to 0. · 20bebd4c
      2014-07-31  Doug Rupp  <rupp@adacore.com>
                                              
      	* gcc-interface/misc.c (gnat_init_gcc_fp(): Set flag_errno_math to 0.
      
      From-SVN: r213355
      Doug Rupp committed
    • decl.c, [...]: Add handling of Inline_Always pragma. · 384e3fb1
      	* gcc-interface/decl.c, gcc-interface/trans.c,  
      	gcc-interface/gigi.h: Add handling of Inline_Always pragma.  
      
      Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
      
      From-SVN: r213354
      Javier Miranda committed
    • [multiple changes] · f087ea44
      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.
      
      From-SVN: r213353
      Arnaud Charlet committed
    • [multiple changes] · d780e54f
      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.
      
      From-SVN: r213352
      Arnaud Charlet committed
    • sem_ch3.adb (Process_Range_Expr_In_Decl): Add comments on generation of _FIRST… · 16b5e0b7
      sem_ch3.adb (Process_Range_Expr_In_Decl): Add comments on generation of _FIRST and _LAST variables even in GNATprove_Mode.
      
      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.
      
      From-SVN: r213351
      Robert Dewar committed
    • [multiple changes] · f15749aa
      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.
      
      From-SVN: r213350
      Arnaud Charlet committed
    • [multiple changes] · 396eb900
      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.
      
      From-SVN: r213349
      Arnaud Charlet committed
    • [multiple changes] · e8cddc3b
      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.
      
      From-SVN: r213347
      Arnaud Charlet committed
    • [multiple changes] · f3296dd3
      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.
      
      From-SVN: r213346
      Arnaud Charlet committed
    • sem_util.ads (Find_Specific_Type): Moved here from exp_disp.adb. · 3dddb11e
      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.
      
      From-SVN: r213345
      Ed Schonberg committed
    • sem_parg.adb, [...] (Collect_Subprogram_Inputs_Outputs): Make subprogram public. · 9420f51f
      2014-07-31  Yannick Moy  <moy@adacore.com>
      
      	* sem_parg.adb, sem_prag.ads (Collect_Subprogram_Inputs_Outputs):
      	Make subprogram public.
      
      From-SVN: r213344
      Yannick Moy committed
    • * gcc-interface/Makefile.in (s-traceb.o): Adjust rules. · 9697805c
      From-SVN: r213342
      Bob Duff committed
    • [multiple changes] · 022ed178
      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.
      
      From-SVN: r213341
      Arnaud Charlet committed
    • lto-streamer.h (struct output_block): Remove global. · 936ddf92
      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.
      
      From-SVN: r213340
      Richard Biener committed
    • [multiple changes] · 9d827cd5
      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.
      
      From-SVN: r213339
      Arnaud Charlet committed
    • [multiple changes] · 9d2a2071
      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.
      
      From-SVN: r213338
      Arnaud Charlet committed
    • [multiple changes] · 7bfff488
      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.
      
      From-SVN: r213337
      Arnaud Charlet committed
    • [multiple changes] · aa3efecd
      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.
      
      From-SVN: r213336
      Arnaud Charlet committed
    • [multiple changes] · b7c874a7
      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.
      
      From-SVN: r213335
      Arnaud Charlet committed
    • [multiple changes] · e1360f50
      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.
      
      From-SVN: r213334
      Arnaud Charlet committed
    • [multiple changes] · 33ca2867
      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.
      
      From-SVN: r213333
      Arnaud Charlet committed
    • sem_util.adb, [...]: Minor reformatting. · 0407af53
      2014-07-31  Robert Dewar  <dewar@adacore.com>
      
      	* sem_util.adb, a-ngelfu.ads, prj-nmsc.adb, prj-conf.adb: Minor
      	reformatting.
      
      From-SVN: r213332
      Robert Dewar committed
    • prj-nmsc.adb: Minor reformatting. · 3affd6d4
      2014-07-31  Pascal Obry  <obry@adacore.com>
      
      	* prj-nmsc.adb: Minor reformatting.
      
      From-SVN: r213331
      Pascal Obry committed
    • [multiple changes] · 972fb59e
      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.
      
      From-SVN: r213330
      Arnaud Charlet committed
    • bindgen.adb (Gen_Output_File_Ada): Generate pragma Suppress (Overflow_Check). · c1c82472
      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.
      
      From-SVN: r213329
      Robert Dewar committed
    • gnat_ugn.texi: Document new switch -gnato0. · e95ad7ea
      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.
      
      From-SVN: r213328
      Robert Dewar committed
    • exp_ch5.adb, [...]: Minor comment correction. · e9a79435
      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).
      
      From-SVN: r213327
      Robert Dewar committed
    • [multiple changes] · 7c0c194b
      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.
      
      From-SVN: r213326
      Arnaud Charlet committed
    • exp_ch5.adb, [...]: Minor reformatting. · 1fb63e89
      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.
      
      From-SVN: r213325
      Robert Dewar committed
    • [multiple changes] · 2fe258bf
      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.
      
      From-SVN: r213324
      Arnaud Charlet committed
    • re PR c++/60517 (warning/error for taking address of member of a temporary object) · b4dfdc11
      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.
      
      From-SVN: r213323
      Marc Glisse committed