Commit Graph

99 Commits

Author SHA1 Message Date
Arnaud Charlet
99f9794783 [multiple changes]
2013-10-15  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb, exp_ch11.adb, a-except-2005.adb, a-except-2005.ads:
	Minor reformatting.

2013-10-15  Eric Botcazou  <ebotcazou@adacore.com>

	* targparm.ads: Fix minor typo in comment.

2013-10-15  Ed Schonberg  <schonberg@adacore.com>

	* lib-xref.adb: handle full views that are derived from private
	types.
	* sem_util.adb (Build_Elaboration_Entity): Do nothing in ASIS
	mode: the elaboration entity is not in the source, and plays no
	role in semantic analysis.  Minor reformatting.

From-SVN: r203594
2013-10-15 12:29:47 +02:00
Arnaud Charlet
aa500b7a97 [multiple changes]
2013-10-10  Hristian Kirtchev  <kirtchev@adacore.com>

	* einfo.adb: Remove Integrity_Level from the node usage list.
	(Has_Option): Update the implementation to match
	the new terminology.
	(Has_Property): Renamed to Has_Option.
	(Integrity_Level): Removed.
	(Is_External_State): New routine.
	(Is_Input_Only_State): Use Has_Option to determine whether a state
	is Input_Only.	(Is_Input_State): Renamed to Is_Input_Only_State.
	(Is_Output_Only_State): Use Has_Option to determine whether
	a state is Output_Only.
	(Is_Output_State): Renamed to
	Is_Output_Only_State.
	(Is_Volatile_State): Use Has_Option to determine whether a state is
	volatile.
	(Set_Integrity_Level): Removed.
	(Write_Field8): Remove the entry for Integrity_Level.
	* einfo.ads: Remove Integrity_Level along with its documentation
	and usage in nodes.  Rename Is_Input_State to Is_Input_Only_State.
	Rename Is_Output_State to Is_Output_Only_State.  Update the
	documentation of Is_Volatile_State.  Update the node structure of
	E_Abstract_Entity.
	(Integrity_Level): Removed along with pragma Inline.
	(Is_External_State): New routine.
	(Is_Input_State): Renamed to Is_Input_Only_State.
	(Is_Output_State): Renamed to Is_Output_Only_State.
	(Set_Integrity_Level): Removed along with pragma Inline.
	* sem_prag.adb (Analyze_Pragma): Update the checks regarding
	global items and abstract state modes. Update the implementation
	of pragma Abstract_State to reflect the new rules and terminology.
	* snames.ads-tmpl: Remove the predefined name for Integrity
	level. Add new predefined names for Input_Only, Non_Volatile,
	Output_Only and Part_Of.

2013-10-10  Ed Schonberg  <schonberg@adacore.com>

	* lib-xref.adb (Generate_Reference): Do not generate a reference
	within a _postcondition procedure: a proper source reference has
	already been generated when pre- analyzing the original aspect
	specification, and the use of a formal in a pre/postcondition
	should not count as a proper use in a subprogram body.

2013-10-10  Robert Dewar  <dewar@adacore.com>

	* sem_eval.adb (Why_Non_Static): Fix bomb for deferred constant
	case

From-SVN: r203360
2013-10-10 14:24:31 +02:00
Arnaud Charlet
67a90476cf [multiple changes]
2013-07-05  Claire Dross  <dross@adacore.com>

	* a-cfdlli.ads: Add preconditions when needed.

2013-07-05  Robert Dewar  <dewar@adacore.com>

	* sem_ch8.adb: Minor reformatting.

2013-07-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Access_Subprogram_Declaration): Use
	Generate_Reference_To_Formals.
	* lib-xref.adb (Generate_Reference_To_Formals): In the case of
	access to subprograms, the formals are found in the designated
	subprogram type.

2013-07-05  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Document that comments can be lined up with
	previous non-blank line.
	* styleg.adb (Check_Comment): Allow indentation to match previous
	non-blank line (Same_Column_As_Previous_Line): New function

From-SVN: r200705
2013-07-05 12:40:03 +02:00
Yannick Moy
06b599fd62 adabkend.adb, [...]: Everything with name 'Alfa' renamed in 'SPARK'.
2013-04-24  Yannick Moy  <moy@adacore.com>

	* adabkend.adb, ali-util.adb, ali.adb, debug.adb,
	errout.adb, errout.ads, erroutc.adb, exp_ch3.adb, exp_ch4.adb,
	exp_ch6.adb, exp_ch7.adb, exp_dbug.adb, exp_util.adb,
	expander.adb, freeze.adb, gnat1drv.adb, lib-writ.adb,
	lib-writ.ads, lib-xref.adb, lib-xref.ads, opt.adb, opt.ads,
	restrict.adb, sem_aggr.adb, sem_attr.adb, sem_ch3.adb,
	sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_eval.adb, sem_prag.adb,
	sem_res.adb, sem_util.adb: Everything with name
	'Alfa' renamed in 'SPARK'. Update comments.
	Renaming of units with name 'Alfa', renamed with 'SPARK' instead.
	* exp_alfa.adb: renamed exp_spark.adb.
	* exp_alfa.ads: renamed exp_spark.ads.
	* get_alfa.adb: renamed get_spark_xrefs.adb.
	* get_alfa.ads: renamed get_spark_xrefs.ads.
	* lib-xref-alfa.adb: renamed lib-xref-spark_specific.adb.
	* put_alfa.adb: renamed put_spark_xrefs.adb.
	* put_alfa.ads: renamed put_spark_xrefs.ads.
	* alfa.adb: renamed spark_xrefs.adb.
	* alfa.ads: renamed spark_xrefs.ads.
	* alfa_test.adb: renamed spark_xrefs_test.adb.

From-SVN: r198234
2013-04-24 16:14:27 +02:00
Arnaud Charlet
b69cd36a46 [multiple changes]
2013-04-12  Robert Dewar  <dewar@adacore.com>

	* namet.adb, namet.ads: Minor addition (7 arg version of Nam_In).
	* exp_prag.adb, sem_ch3.adb, sem_intr.adb, sem_type.adb, exp_util.adb,
	sem_aux.adb, exp_ch9.adb, sem_ch7.adb, sem_ch10.adb, sem_prag.adb,
	par-ch2.adb, tbuild.adb, rtsfind.adb, freeze.adb, sem_util.adb,
	sem_res.adb, sem_attr.adb, exp_ch2.adb, prj-makr.adb, sem_elab.adb,
	exp_ch4.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, par-prag.adb,
	prj-nmsc.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb, par-util.adb,
	sem_eval.adb, exp_intr.adb, sem_ch13.adb, exp_cg.adb, lib-xref.adb,
	sem_disp.adb, exp_ch3.adb: Minor code reorganization (use Nam_In).

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

	* init.c: Don't clobber condition code on VMS.

From-SVN: r197917
2013-04-12 15:41:03 +02:00
Arnaud Charlet
489c6e198e [multiple changes]
2013-04-12  Robert Dewar  <dewar@adacore.com>

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

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

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

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

	* exp_ch11.ads: Minor reformatting.

From-SVN: r197910
2013-04-12 15:19:15 +02:00
Arnaud Charlet
fc142f6327 [multiple changes]
2013-04-11  Robert Dewar  <dewar@adacore.com>

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

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

	* sem_prag.adb: Minor reformatting.

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

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

From-SVN: r197766
2013-04-11 12:45:11 +02:00
Arnaud Charlet
685bc70fd8 [multiple changes]
2013-01-02  Robert Dewar  <dewar@adacore.com>

	* checks.adb, exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb,
	exp_disp.adb, exp_dist.adb, exp_intr.adb, exp_prag.adb, exp_util.adb,
	freeze.adb, gnat1drv.adb, inline.adb, layout.adb, lib-xref.adb,
	par-ch10.adb, par-labl.adb, par-load.adb, par-util.adb, restrict.adb,
	sem_ch13.adb, sem_ch4.adb, sem_ch6.adb, sem_dim.adb, sem_elab.adb,
	sem_res.adb, sem_warn.adb, sinput-l.adb: Add tags to warning messages.
	* sem_ch6.ads, warnsw.ads, opt.ads: Minor comment updates.

2013-01-02  Robert Dewar  <dewar@adacore.com>

	* err_vars.ads: Minor comment fix.

2013-01-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb: Refine predicate.

From-SVN: r194787
2013-01-02 10:56:53 +01:00
Arnaud Charlet
cb42ba5d66 [multiple changes]
2012-10-02  Robert Dewar  <dewar@adacore.com>

	* exp_ch4.adb (Expand_N_Op_Expon): Use expression with actions
	for x ** 4.

2012-10-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb: (Analyze_Iterator_Specification): If container
	has a variable indexing aspect, the element is a variable and
	is modifiable in the loop. This check is also performed when the
	loop is expanded, but it must be done in semantic analysis when
	expansion is disabled, for example for ASIS usage.

2012-10-02  Ed Schonberg  <schonberg@adacore.com>

	* lib-xref.adb (Generate_Reference): If a child subprogram
	has no previous spec, treat a reference to its formals (such
	as a parameter association) as coming from source in order to
	generate the proper references and enable gps navigation between
	reference and declaration.

From-SVN: r191965
2012-10-02 10:40:05 +02:00
Arnaud Charlet
93901a431f [multiple changes]
2012-06-12  Robert Dewar  <dewar@adacore.com>

	* xref_lib.adb, sem_ch13.adb, lib-xref.adb: Minor reformatting.

2012-06-12  Javier Miranda  <miranda@adacore.com>

	* lib-xref.ads Adding missing documentation.

From-SVN: r188439
2012-06-12 12:14:44 +02:00
Arnaud Charlet
3235dc87bf [multiple changes]
2012-06-12  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Create_Finalizer): Add the
	exception reraise mechanism at the very end of the finalizer
	statements. This placement ensures that all objects are finalized,
	the secondary stack mark released and aborts undeferred before
	propagating an exception.

2012-06-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch10.adb (Remove_Unit_From_Visibility): if the unit is a
	wrapper package. remove from visibility the original subprogram
	instance.

2012-06-12  Javier Miranda  <miranda@adacore.com>

	* sem_prag.adb (Process_Convention): Generate reference to entity
	exported to foreign language. Needed for GPS navigation.
	* xref_lib.adb (Parse_Identifier_Info): Parse exported entities.
	* lib-xref (Output_References): Output exported entities.

2012-06-12  Pascal Obry  <obry@adacore.com>

	* prj-attr.adb: Add install package and corresponding attributes.
	* snames.ads-tmpl (Name_Active): New constant.
	(Name_Exec_Subdir): Likewise.
	(Name_Install): Likewise.
	(Name_Lib_Subdir): Likewise.
	(Name_Project_Subdir): Likewise.
	(Name_Sources_Subdir): Likewise.

2012-06-12  Bob Duff  <duff@adacore.com>

	* sem_res.adb (Check_Infinite_Recursion):
	Suppress spurious warning on recursion after "raise with ...".

From-SVN: r188438
2012-06-12 12:12:40 +02:00
Arnaud Charlet
39ad16657c [multiple changes]
2012-04-25  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, csinfo.adb, lib-writ.adb, sem_ch12.adb,
	lib-xref.adb: Minor reformatting.

2012-04-25  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch9.adb: Rename Lock_Free_Sub_Type
	to Lock_Free_Subprogram. Remove type Subprogram_Id.
	Rename LF_Sub_Table to Lock_Free_Subprogram_Table.
	(Allow_Lock_Free_Implementation): Renamed to
	Allows_Lock_Free_Implementation.  Update the comment on
	lock-free restrictions. Code clean up and restructuring.
	(Build_Lock_Free_Protected_Subprogram_Body): Update the
	profile and related comments. Code clean up and restructuring.
	(Build_Lock_Free_Unprotected_Subprogram_Body): Update the
	profile and related comments. Code clean up and restructuring.
	(Comp_Of): Removed.

From-SVN: r186828
2012-04-25 17:14:44 +02:00
Arnaud Charlet
d024b1268c [multiple changes]
2012-04-25  Vincent Celier  <celier@adacore.com>

	* sem_ch12.adb (Inherit_Context): Compare library units, not
	names of units, when checking if a unit is already in the context.

2012-04-25  Thomas Quinot  <quinot@adacore.com>

	* sem_ch3.adb: Reverse_Storage_Order must be propagated to
	untagged derived record types.

2012-04-25  Ed Schonberg  <schonberg@adacore.com>

	* lib-xref.adb: Adjust position of end label.

From-SVN: r186827
2012-04-25 17:12:34 +02:00
Arnaud Charlet
cf5ba8a881 [multiple changes]
2012-04-02  Robert Dewar  <dewar@adacore.com>

	* s-atopri.ads: Minor reformatting.

2012-04-02  Thomas Quinot  <quinot@adacore.com>

	* sem_util.adb: Minor reformatting, minor code cleanup.

2012-04-02  Ed Schonberg  <schonberg@adacore.com>

	* lib-xref.adb (Generate_Reference): For a reference to an
	operator symbol, set the sloc to point to the first character
	of the operator name, and not to the initial quaote.
	(Output_References): Ditto for the definition of an operator
	symbol.

2012-04-02  Vincent Celier  <celier@adacore.com>

	* ali.adb (Scan_Ali): Recognize Z lines. Set
	Implicit_With_From_Instantiation to True in the With_Record for
	Z lines.
	* ali.ads (With_Record): New Boolean component
	Implicit_With_From_Instantiation, defaulted to False.
	* csinfo.adb: Indicate that Implicit_With_From_Instantiation
	is special
	* lib-writ.adb (Write_ALI): New array Implicit_With.
	(Collect_Withs): Set Implicit_With for the unit is it is not Yes.
	(Write_With_Lines): Write a Z line instead of a W line if
	Implicit_With is Yes for the unit.
	* sem_ch12.adb (Inherit_Context): Only add a unit in the context
	if it is not there yet.
	* sinfo.ads: New flag Implicit_With_From_Instantiation (Flag12)
	added.

From-SVN: r186079
2012-04-02 12:51:58 +02:00
Robert Dewar
5b0113d671 lib-xref.adb, [...]: Minor reformatting & code reorganization.
2012-03-30  Robert Dewar  <dewar@adacore.com>

	* lib-xref.adb, lib-xref-alfa.adb: Minor reformatting & code
	reorganization.

From-SVN: r186003
2012-03-30 11:26:00 +02:00
Yannick Moy
23e7bf6a4e lib-xref-alfa.adb (Generate_Dereference): Use Get_Code_Unit instead of Get_Source_Unit to get file for reference.
2012-03-30  Yannick Moy  <moy@adacore.com>

	* lib-xref-alfa.adb (Generate_Dereference): Use Get_Code_Unit
	instead of Get_Source_Unit to get file for reference.
	(Traverse_Compilation_Unit): Do not add scopes for generic units.
	* lib-xref.adb (Generate_Reference): Use Get_Code_Unit instead
	of Get_Source_Unit to get file for reference.
	* sem_ch12.adb (Analyze_Package_Instantiation): Enable
	instantiation in Alfa mode.

From-SVN: r186002
2012-03-30 11:24:09 +02:00
Arnaud Charlet
cdc96e3ea6 [multiple changes]
2012-03-30  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Process_Declarations): Replace
	the call to Is_Null_Access_BIP_Func_Call with
	Is_Secondary_Stack_BIP_Func_Call. Update the related comment.
	* exp_util.adb (Is_Null_Access_BIP_Func_Call): Removed.
	(Is_Secondary_Stack_BIP_Func_Call): New routine.
	(Requires_Cleanup_Actions): Replace
	the call to Is_Null_Access_BIP_Func_Call with
	Is_Secondary_Stack_BIP_Func_Call. Update the related comment.
	* exp_util.ads (Is_Null_Access_BIP_Func_Call): Removed.
	(Is_Secondary_Stack_BIP_Func_Call): New routine.

2012-03-30  Yannick Moy  <moy@adacore.com>

	* lib-xref-alfa.adb, lib-xref.adb: Code clean ups.

From-SVN: r186001
2012-03-30 11:21:43 +02:00
Robert Dewar
51fb9b7396 frontend.adb (Frontend): Capture restrictions from config files
2011-11-21  Robert Dewar  <dewar@adacore.com>

	* frontend.adb (Frontend): Capture restrictions from config files
	* lib-load.adb (Load_Unit): Save/set/restore restriction pragma
	information
	* lib-xref.adb (Generate_Reference): Fix handling of obsolescent
	references. This was noticed during debugging, but it is not
	known if it causes real bugs.
	* restrict.ads, restrict.adb: New routines to save/set/restore
	non-partition-wide restrictions.
	* s-rident.ads: Comment changes for new handling of
	No_Elaboration_Code
	* sem.adb (Sem): Save/Set/Restore non-partition-wide restrictions
	* sem_ch10.adb (Analyze_Compilation_Unit): Remove incomplete
	attempt to save/restore non-partition-wide restrictions (now
	this work is all done in Sem).
	* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
	Special handling for restriction No_Elaboration_Code.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Document new handling of restrictions pragmas.

From-SVN: r181566
2011-11-21 12:45:44 +01:00
Arnaud Charlet
3e7302c3cb [multiple changes]
2011-10-13  Robert Dewar  <dewar@adacore.com>

	* exp_ch5.adb, sem_ch3.adb, impunit.adb, impunit.ads, sem_type.adb,
	prj-proc.adb, exp_ch9.adb, s-regpat.adb, sem_ch10.adb, sem_prag.adb,
	sem_ch12.adb, freeze.adb, sem_attr.adb, sem_attr.ads, gnatlink.adb,
	par-ch6.adb, exp_ch6.adb, sem_ch4.adb, sem_ch6.adb, sem_ch8.adb,
	par-util.adb, sem_ch13.adb, lib-xref.adb, g-trasym.adb, g-trasym.ads,
	exp_aggr.adb, s-taprop-posix.adb: Minor reformatting.

2011-10-13  Geert Bosch  <bosch@adacore.com>

	* s-gearop.adb: Minor comment additions.

From-SVN: r179907
2011-10-13 12:47:00 +02:00
Arnaud Charlet
e192a2cd62 [multiple changes]
2011-10-13  Thomas Quinot  <quinot@adacore.com>

	* par-ch2.adb, par.adb, par-util.adb, par-ch3.adb
	(Check_Future_Identifier): New subprogram,
	factors duplicated code from Par.Ch2.P_Identifier and
	Par.Ch3.P_Defining_Identifier.

2011-10-13  Thomas Quinot  <quinot@adacore.com>

	* s-taprop-posix.adb (Initialize): Always raise Storage_Error
	if we fail to initialize CV attributes or CV.

2011-10-13  Thomas Quinot  <quinot@adacore.com>

	* s-tasren.adb (Timed_Selective_Wait, case
	Accept_Alternative_Selected): Use Defer_Abort_Nestable, since
	we know abortion is already deferred.

2011-10-13  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch3.adb (Build_Class_Wide_Master): Moved to exp_ch9.
	(Build_Master_Renaming (function)): Removed.
	(Build_Master_Renaming (procedure)): Moved to exp_ch9.
	(Expand_Full_Type_Declaration): Alphabetize
	variables. Reformatting of code and comments. Rewrite the
	section on processing of anonymous access-to-task types in
	record components.
	* exp_ch3.ads (Build_Class_Wide_Master): Moved to exp_ch9.
	(Build_Master_Renaming): Moved to exp_ch9.
	* exp_ch9.adb (Build_Class_Wide_Master): Moved from exp_ch3.
	(Build_Master_Entity): Add formal parameter
	Use_Current. Reformatting of code and comments.
	(Build_Master_Renaming): Moved from exp_ch3.
	* exp_ch9.ads (Build_Class_Wide_Master): Moved from
	exp_ch3. Update comment on usage.
	(Build_Master_Entity):
	Add formal parameter Use_Current. Update comment on usage.
	(Build_Master_Renaming): Moved from exp_ch3.
	* sem_ch3.adb (Access_Definition): Remove redundant code to
	create a _master and a renaming.

2011-10-13  Ed Schonberg  <schonberg@adacore.com>

	* lib-xref.adb: Do no emit reference to overridden operation,
	if it is internally generated.

2011-10-13  Vincent Celier  <celier@adacore.com>

	* bindgen.adb: Remove any processing related to g-trasym
	* Makefile.rtl: Add g-trasym.o to GNATRTL_NONTASKING_OBJS
	* mlib-prj.adb: Remove any processing related to g-trasym.

From-SVN: r179898
2011-10-13 12:13:36 +02:00
Arnaud Charlet
a3068ca6e7 [multiple changes]
2011-09-19  Steve Baird  <baird@adacore.com>

	* snames.ads-tmpl: Move declaration of Name_Annotate into range of
	configuration pragma names so that Is_Configuration_Pragma_Name
	will return True for Name_Annotate.  Make corresponding change in
	Pragma_Id enumeration type.  This is needed to allow an Annotate
	pragma to occur in a configuration pragma file (typically,
	a gnat.adc file).
	* gnat_ugn.texi: Add Annotate to the list of configuration pragmas.
	* gnat_rm.texi: Note that pragma Annotate may be used as a
	configuration pragma.

2011-09-19  Ed Schonberg  <schonberg@adacore.com>

	* a-cbmutr.adb, a-cbmutr.ads, a-cimutr.adb, a-cimutr.ads,
	a-comutr.adb, a-comutr.ads: Add iterator machinery for multiway trees.

2011-09-19  Yannick Moy  <moy@adacore.com>

	* exp_alfa.adb, exp_alfa.ads (Expand_Alfa_N_In): New function
	for expansion of set membership.
	(Expand_Alfa): Call expansion for N_In and N_Not_In nodes.
	* exp_ch4.adb, exp_ch4.ads (Expand_Set_Membership): Make procedure
	visible for use in Alfa expansion.
	* sem_ch5.adb (Analyze_Iterator_Specification): Introduce loop
	variable in Alfa mode.

2011-09-19  Thomas Quinot  <quinot@adacore.com>

	* s-osinte-darwin.ads: Change SIGADAABRT on Darwin to SIGABRT.

2011-09-19  Thomas Quinot  <quinot@adacore.com>

	* exp_ch9.adb: Minor reformatting.

2011-09-19  Hristian Kirtchev  <kirtchev@adacore.com>

	* freeze.adb (Build_Renamed_Body): Generic subprograms
	instantiations cannot be poperly inlined by the compiler, do
	not set the Body_To_Inline attribute in such cases.
	* sem_ch12.adb (Analyze_Subprogram_Instantiation): Inherit all
	inlining-related flags from the generic subprogram declaration.

2011-09-19  Thomas Quinot  <quinot@adacore.com>

	* exp_dist.adb, rtsfind.ads, sem_util.adb, sem_util.ads
	(Build_Stub_Type): Remove, instead copy components from
	System.Partition_Interface.RACW_Stub_Type.
	(RPC_Receiver_Decl): Remainder of code from old Build_Stub_Type routine.
	(Copy_Component_List): New subprogram.

2011-09-19  Yannick Moy  <moy@adacore.com>

	* lib-xref.adb (Generate_Reference): Ignore references to
	constants in Standard.

From-SVN: r178962
2011-09-19 11:03:03 +02:00
Arnaud Charlet
e7fceebce6 [multiple changes]
2011-09-19  Robert Dewar  <dewar@adacore.com>

	* err_vars.ads, errout.ads: Minor reformatting.

2011-09-19  Robert Dewar  <dewar@adacore.com>

	* aspects.ads (Impl_Defined_Aspects): New array
	* lib-writ.adb (No_Dependences): New name for No_Dependence
	* restrict.adb (No_Dependences): New name for No_Dependence
	(Check_Restriction_No_Specification_Of_Aspect): New
	procedure.
	(Set_Restriction_No_Specification_Of_Aspect): New procedure
	(Restricted_Profile_Result): New variable
	(No_Specification_Of_Aspects): New variable
	(No_Specification_Of_Aspect_Warning): New variable
	* restrict.ads (No_Dependences): New name for No_Dependence
	(Check_Restriction_No_Specification_Of_Aspect): New procedure
	(Set_Restriction_No_Specification_Of_Aspect): New procedure
	* s-rident.ads: Add restriction
	No_Implementation_Aspect_Specifications, this is also added to
	the No_Implementation_Extensions profile.
	* sem_ch13.adb (Analyze_Aspect_Specifications): Check
	No_Implementation_Defined_Aspects
	(Analyze_Aspect_Specifications): Check No_Specification_Of_Aspect
	* sem_prag.adb (Analyze_Aspect_Specifications): Check
	No_Implementation_Aspects
	(Analyze_Aspect_Specifications): Check No_Specification_Of_Aspect
	* snames.ads-tmpl (Name_No_Specification_Of_Aspect): New name

2011-09-19  Yannick Moy  <moy@adacore.com>

	* lib-xref.adb (Generate_Reference): Take into account multiple
	renamings for Alfa refs.

2011-09-19  Thomas Quinot  <quinot@adacore.com>

	* g-socthi-mingw.adb: Minor reformatting.

2011-09-19  Yannick Moy  <moy@adacore.com>

	* gnat1drv.adb (Adjust_Global_Switches): Set tagged type
	expansion to False in mode Alfa

2011-09-19  Pascal Obry  <obry@adacore.com>

	* mingw32.h: Remove obsolete code needed for old versions
	of MingW.

From-SVN: r178959
2011-09-19 10:31:55 +02:00
Arnaud Charlet
99ba07a3b0 [multiple changes]
2011-09-19  Robert Dewar  <dewar@adacore.com>

	* sem_aggr.adb, lib-writ.ads, s-restri.ads, sem_ch6.adb,
	exp_aggr.adb: Minor reformatting.

2011-09-19  Yannick Moy  <moy@adacore.com>

	* lib-xref.adb (Generate_Reference): Change entity referenced
	to underlying object if any, or else reference to the HEAP.

From-SVN: r178956
2011-09-19 10:21:37 +02:00
Arnaud Charlet
f8e9fc30f7 [multiple changes]
2011-09-06  Ed Schonberg  <schonberg@adacore.com>

	* lib-xref.adb (OK_To_Set_Referenced): A reference to a formal
	in a parameter association must not set the Referenced flag on
	the formal.
	* prj-nmsc.adb (Check_File_Naming_Schemes): Remove useless formal

2011-09-06  Hristian Kirtchev  <kirtchev@adacore.com>

	* gnat_rm.texi: Add a section on attribute Descriptor_Size

From-SVN: r178587
2011-09-06 13:03:44 +02:00
Arnaud Charlet
b991dd43ae [multiple changes]
2011-09-06  Robert Dewar  <dewar@adacore.com>

	* ali.adb, sem_ch13.adb, lib-xref.adb: Minor reformatting.

2011-09-06  Pascal Obry  <obry@adacore.com>

	* s-osinte-linux.ads, s-oscons-tmplt.c: Use oscons to define sigset_t
	types.

From-SVN: r178578
2011-09-06 11:37:22 +02:00
Arnaud Charlet
516785cc7f [multiple changes]
2011-09-06  Robert Dewar  <dewar@adacore.com>

	* g-socket.adb: Minor reformatting

2011-09-06  Javier Miranda  <miranda@adacore.com>

	* ali.adb (Scan_ALI): Add missing support to load references of
	entities imported from other languages.
	* ali.ads (Xref_Record): Adding new fields to store the language and
	name of an imported entity.
	* lib-xref.adb (Output_Import_Export_Info): Fix typo
	in comment.

2011-09-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb (Analyze_Pragma, case Type_Invariant): A type invariant
	is allowed on a full type declaration if it is the completion of
	a private declarations.
	* sem_ch13.adb (Analyze_Aspect_Specifications): An invariant
	aspect is allowed on a full type declaration in the private part
	of a package.

From-SVN: r178577
2011-09-06 11:32:56 +02:00
Arnaud Charlet
439b6dfab1 [multiple changes]
2011-09-02  Robert Dewar  <dewar@adacore.com>

	* lib-xref.adb: Minor reformatting

2011-09-02  Vincent Celier  <celier@adacore.com>

	* bindusg.adb, clean.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
	gnatls.adb, gnatname.adb, gnatxref.adb, gprep.adb, makeusg.adb: Add
	--version and --help in usage.
	* switch.ads, switch.adb (Display_Usage_Version_And_Help): New procedure

From-SVN: r178454
2011-09-02 11:36:28 +02:00
Arnaud Charlet
f2404867df [multiple changes]
2011-09-02  Bob Duff  <duff@adacore.com>

	* lib-xref.adb: (Hash): Avoid use of 'Mod attribute, because old
	compilers don't understand it.

2011-09-02  Gary Dismukes  <dismukes@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference): Pass the
	underlying subtype rather than its base type on the call to
	Build_Record_Or_Elementary_Input_Function, so that any
	constraints on a discriminated subtype will be available for
	doing the check required by AI05-0192.
	* exp_strm.adb (Build_Record_Or_Elementary_Input_Function):
	If the prefix subtype of the 'Input attribute is a constrained
	discriminated subtype, then check each constrained discriminant value
	against the corresponding value read from the stream.

From-SVN: r178453
2011-09-02 11:32:10 +02:00
Arnaud Charlet
2c17ca0a2f [multiple changes]
2011-09-02  Robert Dewar  <dewar@adacore.com>

	* exp_util.adb, sem_ch10.adb, sem_attr.adb, s-htable.adb,
	g-comlin.adb, g-comlin.ads, lib-xref-alfa.adb, lib-xref.adb: Minor
	reformatting.

2011-09-02  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch3.adb: (Set_Anonymous_Type): Associate the itype of an
	inherited component with the enclosing derived type. Code reformatting.

2011-09-02  Gary Dismukes  <dismukes@adacore.com>

	* checks.adb: (Determine_Range): Add test of OK1 to prevent the early
	return done when overflow checks are enabled, since comparisons against
	Lor and Hir should not be done when OK1 is False.

2011-09-02  Gary Dismukes  <dismukes@adacore.com>

	* exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call):
	Add new formal Master_Exp. When present, add that expression to the
	call as an extra actual.
	(Make_Build_In_Place_Call_In_Object_Declaration): Add variable
	Fmaster_Actual and in the case of a BIP call initializing a return
	object of an enclosing BIP function set it to a
	new reference to the implicit finalization master
	formal of the enclosing function. Fmaster_Actual is
	then passed to the new formal Master_Exp on the call to
	Add_Finalization_Master_Actual_To_Build_ In_Place_Call. Move
	initializations of Enclosing_Func to its declaration.

2011-09-02  Thomas Quinot  <quinot@adacore.com>

	* csets.ads: Minor reformatting

2011-09-02  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_aggr.adb: (Get_Constraint_Association): Add code to retrieve
	the full view of a private type coming from an instantiation.
	* exp_ch4.adb: (Current_Anonymous_Master): Reimplement the search
	loop to iterate over the declarations rather than use the
	First_Entity / Next_Entity scheme.

From-SVN: r178438
2011-09-02 09:42:02 +02:00
Arnaud Charlet
f7bb41af65 [multiple changes]
2011-09-02  Bob Duff  <duff@adacore.com>

	* einfo.adb: (Has_Xref_Entry): Do not call
	Implementation_Base_Type. Lib.Xref has been
	rewritten to avoid the need for it, and it was costly.
	* s-htable.ads,s-htable.adb: (Present,Set_If_Not_Present): New
	functions in support of efficient xref.
	* lib-xref-alfa.adb: Misc changes related to Key component of
	type Xref_Entry.
	* lib-xref.adb: (Add_Entry,etc): Speed improvement.
	(New_Entry): Call Implementation_Base_Type, because Has_Xref_Entry
	no longer does. This is the one place where it is needed.

2011-09-02  Johannes Kanig  <kanig@adacore.com>

	* g-comlin.adb (Getopt): New optional argument Concatenate to have
	similar interface as the other Getopt function.

2011-09-02  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch4.adb: (Expand_Allocator_Expression): Do not generate
	a call to Set_Finalize_Address if there is no allocator available.
	* exp_util.adb: (Build_Allocate_Deallocate_Proc): Account for
	a case of allocator expansion where the allocator is not expanded but
	needs a custom allocate routine. Code reformatting.
	(Is_Finalizable_Transient): Remove local variables Has_Rens and
	Ren_Obj. Code reformatting.
	(Is_Renamed): Renamed to Is_Aliased. Add code to detect aliasing
	through the use of 'reference.
	* sem_ch4.adb: (Analyze_Allocator): Detect allocators generated
	as part of build-in-place expansion. They are intentionally marked as
	coming from source, but their parents are not.

From-SVN: r178436
2011-09-02 09:14:48 +02:00
Arnaud Charlet
56812278e8 [multiple changes]
2011-08-31  Jose Ruiz  <ruiz@adacore.com>

	* s-taprop-linux.adb (Set_Task_Affinity): Avoid the use of anonymous
	access types.
	* affinity.c (__gnat_set_affinity_mask): Declare index variable.

2011-08-31  Yannick Moy  <moy@adacore.com>

	* sem_ch8.adb (Analyze_Subprogram_Renaming): Refine expander test in
	full-expander test.
	Minor reformatting, renaming ALFA in Alfa (we dropped acronym)
	* einfo.adb (Primitive_Operations): Correctly return list of primitive
	operations in a case where it returned previously No_Elist.

From-SVN: r178358
2011-08-31 10:43:42 +02:00
Arnaud Charlet
226a7fa431 [multiple changes]
2011-08-29  Robert Dewar  <dewar@adacore.com>

	* sem_ch10.adb, a-coorse.adb, exp_dist.adb, exp_ch3.adb: Minor
	reformatting.
	* gcc-interface/Make-lang.in: Update dependencies.

2011-08-29  Yannick Moy  <moy@adacore.com>

	* alfa.ads (Name_Of_Heap_Variable): New constant name.
	* lib-xref-alfa.adb, lib-xref.adb, lib-xref.ads (Drefs): New global
	table to hold dereferences.
	(Add_ALFA_Xrefs): Take into account dereferences as special
	reads/writes to the variable "HEAP".
	(Enclosing_Subprogram_Or_Package): Move subprogram here.
	(Generate_Dereference): New procedure to store a read/write dereferencew
	in the table Drefs.
	* put_alfa.adb (Put_ALFA): Use different default than (0,0) used for
	the special "HEAP" var.
	* sem_ch4.adb (Analyze_Explicit_Dereference): Store read dereference
	in ALFA mode.
	* sem_util.adb (Note_Possible_Modification): Store write dereference
	in ALFA mode.

From-SVN: r178252
2011-08-29 16:40:11 +02:00
Robert Dewar
dedac3eb73 par_sco.adb, [...]: Minor reformatting.
2011-08-05  Robert Dewar  <dewar@adacore.com>

	* par_sco.adb, sem_ch3.adb, scos.ads, a-iteint.ads, sem_ch12.adb,
	a-cimutr.adb, a-cimutr.ads, sem_util.ads, sem_res.adb, a-fihema.adb,
	sem_ch4.adb, lib-xref-alfa.adb, exp_disp.adb, a-comutr.adb,
	a-comutr.ads, lib-xref.adb: Minor reformatting.

2011-08-05  Robert Dewar  <dewar@adacore.com>

	* sem_ch11.adb (Analyze_Raise_Statement): Kill assignment to formal
	warning if there is an exception handler present.

From-SVN: r177451
2011-08-05 17:10:50 +02:00
Arnaud Charlet
7c62a85a8d [multiple changes]
2011-08-05  Pascal Obry  <obry@adacore.com>

	* a-iteint.ads: Fix copyright year.

2011-08-05  Thomas Quinot  <quinot@adacore.com>

	* par_sco.adb (Traverse_Declarations_Or_Statements): Do not generate a
	statement SCO for a USE clause or a representation clause.

2011-08-05  Yannick Moy  <moy@adacore.com>

	* lib-xref-alfa.adb (Collect_ALFA): generate the proper relation
	between body and spec for stub.
	(Detect_And_Add_ALFA_Scope): take into account subprogram stub
	* lib-xref.adb (Enclosing_Subprogram_Or_Package): in the case of a
	pragma precondition or postcondition, for which the enclosing
	subprogram or package in the AST is not the desired one, return empty.

From-SVN: r177450
2011-08-05 17:08:15 +02:00
Arnaud Charlet
56e941863b [multiple changes]
2011-08-03  Eric Botcazou  <ebotcazou@adacore.com>

	* gnat_ugn.texi: Document -Wstack-usage.
	* gcc-interface/misc.c (enumerate_modes): Add guard for ghost FP modes.

2011-08-03  Thomas Quinot  <quinot@adacore.com>

	* sem_prag.adb Issue an error (not a warning) when a C++ type does not
	have keyword LIMITED.

2011-08-03  Yannick Moy  <moy@adacore.com>

	* alfa.adb, alfa.ads, alfa_test.adb: New files.
	* ali.adb (Known_ALI_Lines): add 'C' lines (SCO) and 'F' lines (ALFA)
	(Scan_ALI): do not issue a fatal error if parsing known lines after Xref
	section (does not happen in compiler, only if code directly calls
	Scan_ALI).
	* get_alfa.adb, get_alfa.ads: New files.
	* lib-writ.adb, lib-writ.ads (Write_ALI): output ALFA information if
	needed.
	* lib-xref-alfa.adb: New file.
	* lib-xref.adb, lib-xref.ads
	(Xref_Entry): redefine information needed in cross-references for ALFA.
	Push ALFA treatments in separated local package.
	(Enclosing_Subpragram_Or_Package): treat specially subprogram
	identifiers. Return entity of package body instead of spec. Return
	Empty for a scope with no location.
	(Generate_Reference): adapt to new components for ALFA information.
	Remove the need for D references on definitions.
	(Is_Local_Reference): moved to ALFA local package
	(Output_References): extract subfunction as Extract_Source_Name
	(Output_Local_References): remove procedure, replaced by filtering of
	cross-references in package ALFA and printing in Put_ALFA.
	(Write_Entity_Name): remove procedure
	* lib.adb, lib.ads (Extract_Source_Name): extract here function to
	print exact name of entity as it appears in source file
	(Unit_Ref_Table): make type public for use in Lib.Xref.ALFA
	* put_alfa.adb, put_alfa.ads: New files.
	* xref_lib.adb (Search_Xref): protect read of cross-references against
	reading other sections of the ALI file, in gnatxref
	(Search): protect read of cross-references against reading other
	sections of the ALI file, in gnatfind.
	* gcc-interface/Make-lang.in: Update dependencies.

2011-08-03  Thomas Quinot  <quinot@adacore.com>

	* sem_ch3.adb: Minor reformatting.

2011-08-03  Jose Ruiz  <ruiz@adacore.com>

	* s-inmaop-vxworks.adb (Setup_Interrupt_Mask): Do nothing instead of
	raising an exception.

2011-08-03  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Set_String_Literal_Subtype): if index type is an integer
	type, always use 1 as the lower bound or string, even if lower bound of
	context is not static, to handle properly null strings in a non-static
	context.

2011-08-03  Bob Duff  <duff@adacore.com>

	* sem_prag.adb (Resolve_Aggregate): An array aggregate with 'others' is
	always legal on the right-hand side of an assignment statement; there
	is always an applicable index constraint in this case. Therefore, the
	check for Pkind = N_Assignment_Statement is now unconditional -- it
	doesn't depend on whether Is_Constrained (Typ).

From-SVN: r177239
2011-08-03 10:22:52 +02:00
Robert Dewar
7b9db92637 sem_ch3.adb, [...]: Update comments.
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, exp_atag.ads, get_scos.adb, get_scos.ads,
	exp_disp.adb, lib-xref.adb, lib-xref.ads: Update comments.
	Minor reformatting.

From-SVN: r177169
2011-08-02 16:54:14 +02:00
Arnaud Charlet
e8374e7af3 [multiple changes]
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* sem_res.adb: Minor reformatting.
	* sem_prag.adb: Minor reformatting.

2011-08-02  Javier Miranda  <miranda@adacore.com>

	* exp_atag.adb, exp_atags.ads
	(Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr
	by the tagged type Entity. Required to use this routine in the VM
	targets since we do not have available the Tag entity in the VM
	platforms.
	* exp_ch6.adb
	(Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package
	Ada.Tags has not been previously loaded.
	* exp_ch7.adb
	(Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke
	Build_VM_TSDs if package Ada.Tags has not been previously loaded.
	* sem_aux.adb
	(Enclosing_Dynamic_Scope): Add missing support to handle the full
	view of enclosing scopes. Required to handle enclosing scopes that
	are synchronized types whose full view is a task type.
	* exp_disp.adb
	(Build_VM_TSDs): Minor code improvement to avoid generating and
	analyzing lists with empty nodes.
	(Make_Disp_Asynchronous_Select_Body): Add support for VM targets.
	(Make_Disp_Conditional_Select_Body): Add support for VM targets.
	(Make_Disp_Get_Prim_Op_Kind): Add support for VM targets.
	(Make_Disp_Timed_Select_Body): Add support for VM targets.
	(Make_Select_Specific_Data_Table): Add support for VM targets.
	(Make_VM_TSD): Generate code to initialize the SSD structure of
	the TSD.

2011-08-02  Yannick Moy  <moy@adacore.com>

	* lib-writ.adb (Write_ALI): when ALFA mode is set, write local
	cross-references section in ALI.
	* lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub
	(enclosing subprogram), Slc (location of Sub) and Sun (unit number of
	Sub).
	(Enclosing_Subprogram_Or_Package): new function to return the enclosing
	subprogram or package entity of a node
	(Is_Local_Reference_Type): new function returns True for references
	selected in local cross-references.
	(Lt): function extracted from Lt in Output_References
	(Write_Entity_Name): function extracted from Output_References
	(Generate_Definition): generate reference with type 'D' for definition
	of objects (object declaration and parameter specification), with
	appropriate locations and units, for use in local cross-references.
	(Generate_Reference): update fields Sub, Slc and Sun. Keep newly created
	references of type 'I' for initialization in object definition.
	(Output_References): move part of function Lt and procedure
	Write_Entity_Name outside of the body. Ignore references of types 'D'
	and 'I' introduced for local cross-references.
	(Output_Local_References): new procedure to output the local
	cross-references sections.
	(Lref_Entity_Status): new array defining whether an entity is a local
	* sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference
	with 'I' type when initialization expression is present.
	* get_scos.adb, get_scos.ads: Correct comments and typos

From-SVN: r177168
2011-08-02 16:50:56 +02:00
Arnaud Charlet
383e179e1a [multiple changes]
2011-08-01  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
	over an arbitrary expression of an array or container type.
	* lib-xref.adb: clarify comment.

2011-08-01  Bob Duff  <duff@adacore.com>

	* einfo.ads: Minor reformatting.
	* debug.adb: Minor comment improvement.

2011-08-01  Javier Miranda  <miranda@adacore.com>

	* sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
	consider hidden subprograms as valid candidates.

2011-08-01  Arnaud Charlet  <charlet@adacore.com>

	* make.adb (Compile): Strip -mxxx switches in CodePeer mode.

2011-08-01  Vasiliy Fofanov  <fofanov@adacore.com>

	* gnat_ugn.texi: Fix typo.

From-SVN: r177031
2011-08-01 15:29:56 +02:00
Arnaud Charlet
61c161b2ea [multiple changes]
2011-08-01  Robert Dewar  <dewar@adacore.com>

	* i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
	lib-xref.adb: Minor reformatting

2011-08-01  Gary Dismukes  <dismukes@adacore.com>

	* exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
	when to generate a call to Move_Final_List.
	(Has_Controlled_Parts): Remove this function.

From-SVN: r177030
2011-08-01 15:26:49 +02:00
Arnaud Charlet
84df40f768 [multiple changes]
2011-08-01  Geert Bosch  <bosch@adacore.com>

	* par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
	"," in choice list.

2011-08-01  Thomas Quinot  <quinot@adacore.com>

	* exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
	explicit raise of a predefined exception as Comes_From_Source if the
	original N_Raise_Statement comes from source.

2011-08-01  Robert Dewar  <dewar@adacore.com>

	* sinfo.ads: Add comment.
	* sem_ch6.adb: Minor reformatting.

2011-08-01  Robert Dewar  <dewar@adacore.com>

	* freeze.adb (Freeze_Entity): Refine check for bad component size
	clause to avoid rejecting confirming clause when atomic/aliased present.

2011-08-01  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
	better determine whether an entity reference is a write.
	* sem_util.adb (Is_LHS): refine predicate to handle assignment to a
	subcomponent.
	* lib-xref.adb (Output_References): Do no suppress a read reference at
	the same location as an immediately preceeding modify-reference, to
	handle properly in-out actuals.

2011-08-01  Tristan Gingold  <gingold@adacore.com>

	* env.c (__gnat_setenv) [VMS]: Refine previous change.

2011-08-01  Quentin Ochem  <ochem@adacore.com>

	* i-cstrin.adb (New_String): Changed implementation, now uses only the
	heap to compute the result.

From-SVN: r177029
2011-08-01 15:23:32 +02:00
Arnaud Charlet
d347f5722f [multiple changes]
2010-10-26  Robert Dewar  <dewar@adacore.com>

	* einfo.ads, einfo.adb (Is_Base_Type): New function, use it where
	appropriate.
	* exp_ch6.adb, exp_dbug.adb, exp_disp.adb, freeze.adb, lib-xref.adb,
	sem_aux.adb, sem_ch3.adb, sem_ch7.adb, sem_ch8.adb (Is_Base_Type): Use
	this new abstraction where appropriate.

2010-10-26  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb: Code clean up.

2010-10-26  Paul Hilfinger  <hilfinger@adacore.com>

	* exp_dbug.ads: Document effect of 'pragma Unchecked_Union' on
	debugging data.

2010-10-26  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Note_Possible_Modification): If the target of an
	assignment is the bound variable in an iterator, the domain of
	iteration, i.e. array or container, is modified as well.

2010-10-26  Bob Duff  <duff@adacore.com>

	* Make-generated.in: Make the relevant make targets depend on
	ceinfo.adb and csinfo.adb.
	* csinfo.adb, ceinfo.adb: Make sure it raises an exception on failure,
	so when called from xeinfo, the failure will be noticed.
	* sinfo.ads: Update comments to reflect the fact that xsinfo runs csinfo
	* xsinfo.adb, xeinfo.adb: Run ceinfo to check for errors. Close files.

2010-10-26  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch4.adb: Set properly parent field of operands of concatenation.

2010-10-26  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Check_Infinite_Recursion): A recursive call within a
	conditional expression or a case expression should not generate an
	infinite recursion warning.

From-SVN: r165946
2010-10-26 14:19:56 +02:00
Arnaud Charlet
038140ede0 [multiple changes]
2010-10-26  Javier Miranda  <miranda@adacore.com>

	* einfo.ads, einfo.adb (Is_Overriding_Operation): Removed.
	(Set_Is_Overriding_Operation): Removed.
	* sem_ch3.adb (Check_Abstract_Overriding): Remove redundant call to
	Is_Overriding_Operation.
	* exp_ch7.adb (Check_Visibly_Controlled): Remove redundant call to
	Is_Overriding_Operation.
	* sem_ch7.adb (Declare_Inherited_Private_Subprograms): Remove redundant
	call to Set_Is_Overriding_Operation.
	* sem_util.adb (Collect_Primitive_Operations): Replace test on
	Is_Overriding_Operation by test on the presence of attribute
	Overridden_Operation.
	(Original_Corresponding_Operation): Remove redundant call to attribute
	Is_Overriding_Operation.
	* sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Remove
	redundant call to Is_Overriding_Operation.
	(Verify_Overriding_Indicator): Replace several occurrences of test on
	Is_Overriding_Operation by test on the presence of attribute
	Overridden_Operation.
	(Check_Convention): Replace test on Is_Overriding_Operation by test on
	the presence of Overridden_Operation.
	(Check_Overriding_Indicator): Add missing decoration of attribute
	Overridden_Operation. Minor code cleanup.
	(New_Overloaded_Entity): Replace occurrence of test on
	Is_Overriding_Operation by test on the presence of attribute
	Overridden_Operation. Remove redundant setting of attribute
	Is_Overriding_Operation plus minor code reorganization.
	Add missing decoration of attribute Overridden_Operation.
	* sem_elim.adb (Set_Eliminated): Replace test on
	Is_Overriding_Operation by test on the presence of Overridden_Operation.
	* sem_ch8.adb (Analyze_Subprogram_Renaming): Replace test on
	Is_Overriding_Operation by test on the presence of
	Overridden_Operation. Remove a redundant test on attribute
	Is_Overriding_Operation. 
	* lib-xref.adb (Generate_Reference): Replace test on
	Is_Overriding_Operation by test on the presence of Overridden_Operation.
	(Output_References): Replace test on Is_Overriding_Operation by test on
	the presence of Overridden_Operation.
	* sem_disp.adb (Override_Dispatching_Operation): Replace test on
	Is_Overriding_Operation by test on the presence of Overridden_Operation.
	Add missing decoration of attribute Overridden_Operation.

2010-10-26  Robert Dewar  <dewar@adacore.com>

	* sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Properly check
	RM 13.4.1(10).

2010-10-26  Bob Duff  <duff@adacore.com>

	* sem_res.adb (Resolve_Actuals): In case of certain
	internally-generated type conversions (created by OK_Convert_To, so the
	Conversion_OK flag is set), avoid fetching the component type when it's
	not really an array type, but a private type completed by an array type.

From-SVN: r165945
2010-10-26 13:02:31 +02:00
Robert Dewar
3b42c566b8 a-cgaaso.ads, [...]: Minor reformatting
2010-10-21  Robert Dewar  <dewar@adacore.com>

	* a-cgaaso.ads, a-tags.ads, exp_ch3.adb, exp_attr.adb, exp_ch4.adb,
	exp_ch3.ads, exp_ch7.adb, exp_ch9.adb, exp_disp.adb, exp_disp.ads,
	exp_dist.adb, exp_util.adb, layout.adb, lib-xref.adb, lib.ads,
	prep.adb, prj-strt.adb, s-ststop.adb, s-taskin.ads, s-tataat.ads,
	sem_aggr.adb, sem_attr.adb, sem_ch12.adb, sem_ch3.adb, sem_ch4.adb,
	sem_ch4.ads, sem_ch5.adb, sem_res.adb, sem_util.adb, einfo.adb,
	g-sothco.ads, make.adb: Minor reformatting

From-SVN: r165760
2010-10-21 12:14:06 +02:00
Javier Miranda
ef2a63ba18 einfo.ads, einfo.adb (Primitive_Operations): New synthesized attribute.
2010-10-18  Javier Miranda  <miranda@adacore.com>

	* einfo.ads, einfo.adb (Primitive_Operations): New synthesized
	attribute.
	(Direct_Primitive_Operations): Renaming of old Primitive_Operations.
	(Set_Direct_Primitive_Operations): Renaming of old
	Set_Primitive_Operations. Update documentation
	* sem_ch3.adb, exp_util.adb, sem_ch7.adb, sem_ch8.adb, exp_ch3.adb:
	Replace occurrences of Set_Primitive_Operations by
	Set_Direct_Primitive_Operations.
	* sem_cat.adb (Validate_RACW_Primitives): No action needed for tagged
	concurrent types.
	* exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): Do not
	process primitives of concurrent types.
	* lib-xref.adb (Generate_Prim_Op_References): Minor code cleanup.

From-SVN: r165618
2010-10-18 11:59:45 +02:00
Arnaud Charlet
9c870c905e [multiple changes]
2010-10-11  Gary Dismukes  <dismukes@adacore.com>

	* sem_disp.adb (Check_Dispatching_Operation): Revise test for warning
	about nondispatching subprograms to use In_Same_List (reducing use of
	Parent links).

2010-10-11  Ed Schonberg  <schonberg@adacore.com>

	* xr_tabls.adb, sem_res.adb, lib-xref.adb, lib-xref.ads: Use s for
	reference in a static call.

2010-10-11  Steve Baird  <baird@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference, case Type_Key): Type_Key
	attribute should always be transformed into a string literal in
	Analyze_Attribute.
	* par-ch4.adb: Type_Key attribute's type is String; update value of
	Is_Parameterless_Attribute constant to reflect this.
	* sem_attr.adb (Analyze_Attribute): Recognize Type_Key attribute and
	rewrite it as a string literal (attribute value is always known
	statically).
	* snames.ads-tmpl: Add entries for Type_Key attribute.

From-SVN: r165285
2010-10-11 11:30:15 +02:00
Arnaud Charlet
21a5b575cf [multiple changes]
2010-10-11  Ed Schonberg  <schonberg@adacore.com>

	* lib-xref.adb (Output_References): Common handling for objects and
	formals of an anonymous access type.

2010-10-11  Eric Botcazou  <ebotcazou@adacore.com>

	* make.adb (Scan_Make_Arg): Also pass -O to both compiler and linker.

2010-10-11  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb: Fix check for illegal equality declaration in Ada2012

2010-10-11  Gary Dismukes  <dismukes@adacore.com>

	* sem_disp.adb (Check_Dispatching_Operation): When testing for issuing
	a warning about subprograms of a tagged type not being dispatching,
	limit this to cases where the tagged type and the subprogram are
	declared within the same declaration list.

2010-10-11  Jerome Lambourg  <lambourg@adacore.com>

	* projects.texi, prj-attr.adb: Add new attribute documentation_dir.

From-SVN: r165284
2010-10-11 11:25:26 +02:00
Bob Duff
0791fbe9c5 par-ch9.adb, [...]: Use Ada_2005 instead of Ada_05 (Ada_Version_Type).
2010-10-11  Bob Duff  <duff@adacore.com>

	* par-ch9.adb, sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, impunit.adb,
	impunit.ads, sem_ch5.adb, sem_type.adb, exp_imgv.adb, exp_util.adb,
	switch-c.adb, exp_attr.adb, exp_ch9.adb, par-ch11.adb, usage.adb,
	sem_ch9.adb, sem_ch10.adb, scng.adb, checks.adb, sem_prag.adb,
	sem_ch12.adb, par-ch2.adb, freeze.adb, par-ch4.adb, sem_util.adb,
	sem_res.adb, sem_attr.adb, par-ch6.adb, exp_ch4.adb, exp_ch6.adb,
	sem_ch4.adb, exp_ch8.adb, par-ch10.adb, sem_ch6.adb, par-prag.adb,
	exp_disp.adb, par-ch12.adb, sem_ch8.adb, snames.adb-tmpl, opt.ads,
	exp_aggr.adb, sem_cat.adb, sem_ch13.adb, par-ch3.adb, exp_strm.adb,
	exp_cg.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb: Use Ada_2005
	instead of Ada_05 (Ada_Version_Type).

From-SVN: r165283
2010-10-11 11:20:53 +02:00
Arnaud Charlet
dbe945f1d5 [multiple changes]
2010-10-11  Bob Duff  <duff@adacore.com>

	* sem_aggr.adb, impunit.adb, impunit.ads, switch-c.adb, usage.adb,
	sem_ch10.adb, sem_prag.adb, sem_ch12.adb, par-ch4.adb, par-ch6.adb,
	par-ch8.adb, exp_ch4.adb, sem_ch4.adb, sem_ch6.adb, par-prag.adb,
	opt.ads, par-ch3.adb, lib-xref.adb: Use Ada_2012 instead of Ada_12
	(Ada_Version_Type).

2010-10-11  Javier Miranda  <miranda@adacore.com>

	* exp_util.adb (Safe_Prefixed_Reference): If the prefix is an explicit
	dereference then do not exclude dereferences of access-to-constant
	types to handle them as constant view of variables (and hence remove
	side effects when required).
	* sem_res.adb (Resolve_Slice): Ensure that side effects in the bounds
	are properly handled.

From-SVN: r165282
2010-10-11 11:11:57 +02:00
Arnaud Charlet
599a741170 [multiple changes]
2010-10-07  Robert Dewar  <dewar@adacore.com>

	* sem_attr.adb: Minor reformatting.
	* einfo.ads, einfo.adb (Is_Ada_2012_Only): New flag
	* itypes.adb (Create_Null_Excluding_Itype): Set Is_Ada_2012_Only flag
	properly.
	* lib-xref.adb (Generate_Reference): Warn on use of Ada 2012 entity in
	non-Ada 2012 mode.
	* opt.ads (Warn_On_Ada_2012_Compatibility): New flag
	* sem_ch3.adb (Analye_Subtype_Declaration): Inherit Is_Ada_2012_Only
	* sem_ch7.adb (Preserve_Full_Attributes): Preserve Is_Ada_2012_Only
	flag.
	* sem_prag.adb (Analyze_Pragma, case Ada_12/Ada_2012): Allow form with
	argument.
	* sem_type.adb (Disambiguate): Deal with Is_Ada_2012_Only.
	* sem_warn.adb (Warn_On_Ada_2012_Compatibility): New flag, treated
	same as 2005 flag.

2010-10-07  Javier Miranda  <miranda@adacore.com>

	* a-tags.ads: Use new support for pragma Ada_2012 with function
	Type_Is_Abstract.

From-SVN: r165082
2010-10-07 11:12:36 +02:00
Javier Miranda
b81a5940b4 sem_prag.adb, [...]: Code cleanup...
2010-06-22  Javier Miranda  <miranda@adacore.com>

	* sem_prag.adb, sem_util.adb, sem_util.ads, sem_attr.adb, exp_ch6.adb,
	exp_disp.adb, sem_eval.adb, exp_dist.adb lib-xref.adb: Code cleanup,
	this patch replaces duplication of code that traverses the chain of
	aliased primitives by a call to routine Ultimate_Alias that
	provides this functionality.

From-SVN: r161184
2010-06-22 15:32:54 +02:00