Commit Graph

110941 Commits

Author SHA1 Message Date
Arnaud Charlet
98c99a5a37 [multiple changes]
2011-08-03  Thomas Quinot  <quinot@adacore.com>

	* exp_dist.adb: Minor reformatting.

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

	* s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-vms.adb
	(ATCB_Key): Removed, not always used.

2011-08-03  Emmanuel Briot  <briot@adacore.com>

	* gnatcmd.adb, make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads,
	clean.adb, prj-conf.adb, prj-env.adb, prj-env.ads (Makeutl): remove
	most remaining global variables.

From-SVN: r177263
2011-08-03 12:42:00 +02:00
Arnaud Charlet
686d09844f [multiple changes]
2011-08-03  Robert Dewar  <dewar@adacore.com>

	* gnatcmd.adb, prj-proc.adb, mlib-prj.adb, prj.adb, makeutl.ads,
	prj-util.adb, prj-util.ads, prj-conf.adb, prj-env.adb: Minor
	reformatting.

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

	* exp_util.adb (Is_VM_By_Copy_Actual): Include N_Slide nodes as actuals
	that must be passed by copy in VM targets.

2011-08-03  Emmanuel Briot  <briot@adacore.com>

	* prj.ads, prj-nmsc.adb (Files_Htable): removed this htable, which
	duplicates a similar htable now in the project tree.

2011-08-03  Claire Dross  <dross@adacore.com>

	* a-cfdlli.adb, a-cfhama.adb, a-cfhase.adb, a-cforma.adb, a-cforse.adb,
	a-cofove.adb ("=", Length, Is_Empty, Clear, Assign, Copy, Element,
	Replace_Element, Query_Element, Update_Element, Move, Insert, Prepend,
	Append, Delete, Delete_First, Delete_Last, Reverse_Element, Swap,
	Splice, First, First_Element, Last, Last_Element, Next, Previous, Find,
	Reverse_Find, Contains, Has_Element, Iterate, Reverse_Iterate, Capacity,
	Reserve_Length, Length, Strict_Equal, Left, Right): Data-structure
	update.

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

	* s-taprop-posix.adb, s-taprop-linux.adb, s-taprop-tru64.adb
	(ATCB_Key): Removed, not always used.
	* s-tpopsp-posix.adb, s-tpopsp-posix-foreign.adb (ATCB_Key): Moved from
	s-taprop-posix.adb.
	* s-tpopsp-tls.adb: New file.
	* gcc-interface/Makefile.in: Use TLS implementation of s-tpopsp.adb on
	x86/x64/ia64/powerpc/sparc Linux.

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

	* system-aix.ads, system-aix64.ads: Set ZCX_By_Default to True.
	* gcc-interface/Makefile.in: Switch to ZCX by default on AIX ports.

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

	* rtsfind.ads, exp_dist.adb, exp_dist.ads
	(Build_From_Any_Call, Build_To_Any_Call, Build_TypeCode_Call):
	Fix type selection for mapping integer types to PolyORB types.

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

	* sem_ch7.adb: Minor comment clarification.

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

	* sem_ch13.adb (Analyze_Enumeration_Representation_Clause): If we get
	an error analyzing a choice, skip further processing. Further
	processing could cause a crash or cascade errors.

From-SVN: r177262
2011-08-03 12:38:26 +02:00
Emmanuel Briot
40ecf2f5d1 gnatcmd.adb, [...] (Shared_Project_Tree_Data): new type An aggregate project and its aggregated trees need to share the common...
2011-08-03  Emmanuel Briot  <briot@adacore.com>

	* gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, mlib-prj.adb,
	prj.adb, prj.ads, makeutl.adb, makeutl.ads, clean.adb, prj-nmsc.adb,
	prj-util.adb, prj-util.ads, prj-conf.adb, prj-conf.ads, prj-env.adb,
	prj-env.ads (Shared_Project_Tree_Data): new type
	An aggregate project and its aggregated trees need to share the common
	data structures used for lists of strings, packages,... This makes the
	code simpler since otherwise we have to pass the root tree (also used
	for the configuration file data) in addition to the current project
	tree. This also avoids ambiguities as to which tree should be used.
	And finally this saves a bit of memory.
	(For_Every_Project_Imported): new parameter Tree.
	Since aggregated projects are using a different tree, we need to let
	the caller know which tree to use to manipulate the returned project.

From-SVN: r177261
2011-08-03 12:19:32 +02:00
Robert Dewar
9fde638da6 prj-proc.adb, [...]: Minor reformatting.
2011-08-03  Robert Dewar  <dewar@adacore.com>

	* prj-proc.adb, exp_util.ads, exp_ch9.adb, make.adb, prj-ext.adb,
	prj-ext.ads, alfa.ads, sem_ch4.adb, makeutl.adb, makeutl.ads,
	lib-xref-alfa.adb, sem_cat.adb, exp_dist.adb, get_alfa.adb,
	prj-env.adb, prj-env.ads, prj-tree.adb, alfa.ads: Minor reformatting.

From-SVN: r177260
2011-08-03 12:17:45 +02:00
Arnaud Charlet
95eb8b69e6 [multiple changes]
2011-08-03  Javier Miranda  <miranda@adacore.com>

	* exp_util.adb, sem_aux.adb, exp_util.ads, sem_aux.ads:
	Move routine Is_VM_By_Copy_Actual from sem_aux to exp_util.

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

	* sem_ch8.adb (Is_Primitive_Operator_In_Use): Always check In_Use on
	the Base_Type.

2011-08-03  Joel Brobecker  <brobecker@adacore.com brobecker>

	* g-sha256.ads, g-sha512.ads, g-sha1.ads, g-sha224.ads, g-sha384.ads,
	g-sehash.ads: Fix typo. Update header.

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

	* exp_ch6.adb (Expand_Actuals): Remove Ada_2005 guard on build-in-place
	expansion.

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

	* sem_ch4.adb (Analyze_Overloaded_Selected_Component): Consider
	prefixes of private types along with records, since the selector may be
	a discriminant.
	* sem_res.adb (Resolve_Selected_Component): Consider prefixes of
	private types along with records, since the selector may be a
	discriminant.

From-SVN: r177259
2011-08-03 12:10:40 +02:00
Arnaud Charlet
92e770277f [multiple changes]
2011-08-03  Emmanuel Briot  <briot@adacore.com>

	* prj-pp.adb (Pretty_Print): remove trailing blank line in the file

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

	* sem_aux.adb (Is_VM_By_Copy_Actual): Fix wrong use of
	Tagged_Type_Expansion.

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

	* sem_res.adb
	(Resolve_Op_Concat_Arg): do not issue a SPARK violation when argument of
	concatenation is the name of a constant

From-SVN: r177258
2011-08-03 12:04:04 +02:00
Emmanuel Briot
ab29a348eb [multiple changes]
2011-08-03  Yannick Moy  <moy@adacore.com>

	* alfa.ads Update format of ALFA section in ALI file in order to add a
	mapping from bodies to specs when both are present
	(ALFA_Scope_Record): add components for spec file/scope
	* get_alfa.adb (Get_ALFA): read the new file/scope for spec when present
	* lib-xref-alfa.adb
	(Collect_ALFA): after all scopes have been collected, fill in the spec
	 information when relevant
	* put_alfa.adb (Put_ALFA): write the new file/scope for spec when
	present.

2011-08-03  Eric Botcazou  <ebotcazou@adacore.com>

	* inline.adb (Add_Inlined_Subprogram): Do not consider the enclosing
	code unit to decide whether to add internally generated subprograms.
	
2011-08-03  Javier Miranda  <miranda@adacore.com>

	* sem_aux.ads, sem_aux.adb (Is_VM_By_Copy_Actual): New subprogram.
	* exp_ch9.adb
	(Build_Simple_Entry_Call): Handle actuals that must be handled by copy
	in VM targets.

2011-08-03  Emmanuel Briot  <briot@adacore.com>

	* make.adb, makeutl.adb, makeutl.ads (Make.Switches_Of): now shares
	code with Makeutl.Get_Switches.
	* prj-tree.adb: Update comment.

From-SVN: r177257
2011-08-03 12:01:51 +02:00
Arnaud Charlet
9466892f26 [multiple changes]
2011-08-03  Yannick Moy  <moy@adacore.com>

	* alfa.ads Update format of ALFA section in ALI file in order to add a
	mapping from bodies to specs when both are present
	(ALFA_Scope_Record): add components for spec file/scope
	* get_alfa.adb (Get_ALFA): read the new file/scope for spec when present
	* lib-xref-alfa.adb
	(Collect_ALFA): after all scopes have been collected, fill in the spec
	 information when relevant
	* put_alfa.adb (Put_ALFA): write the new file/scope for spec when
	present.

2011-08-03  Eric Botcazou  <ebotcazou@adacore.com>

	* inline.adb (Add_Inlined_Subprogram): Do not consider the enclosing
	code unit to decide whether to add internally generated subprograms.
	
2011-08-03  Javier Miranda  <miranda@adacore.com>

	* sem_aux.ads, sem_aux.adb (Is_VM_By_Copy_Actual): New subprogram.
	* exp_ch9.adb
	(Build_Simple_Entry_Call): Handle actuals that must be handled by copy
	in VM targets.

2011-08-03  Emmanuel Briot  <briot@adacore.com>

	* make.adb, makeutl.adb, makeutl.ads (Make.Switches_Of): now shares
	code with Makeutl.Get_Switches.
	* prj-tree.adb: Update comment.

From-SVN: r177256
2011-08-03 11:59:55 +02:00
Arnaud Charlet
b5ea9143e7 [multiple changes]
2011-08-03  Eric Botcazou  <ebotcazou@adacore.com>

	* inline.adb: Revert previous change.

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

	* sem_cat.adb (Validate_RCI_Subprogram_Declaration): Reject a remote
	subprogram with a limited formal that does not support external
	streaming.

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

	* get_alfa.adb (Get_ALFA): add missing Skip_Spaces at start of
	continuation line
	* lib-xref-alfa.adb (Add_ALFA_File): split removal of scopes that are
	not from current unit in two phases, because it is not possible to
	change the table while iterating over its content.
	* put_alfa.adb (Put_ALFA): reset current file/scope at each new entity

2011-08-03  Sergey Rybin  <rybin@adacore.com>

	* vms_data.ads: Add qualifier for gnatmetric --no-static-loop option
	* gnat_ugn.texi: Update description of complexity metrics (gnatmetric)

From-SVN: r177255
2011-08-03 11:56:17 +02:00
Ed Schonberg
668a19bcfe inline.adb: proper handling of init_procs.
2011-08-03  Ed Schonberg  <schonberg@adacore.com>

	* inline.adb: proper handling of init_procs.
	* sem_res.adb (Resolve_Op_Concat_Arg): if the argument is an aggregate
	and the component type is composite, this is ambiguous for predefined
	concatenation, but if the node is not overloaded and the entity is a use
	-defined function its profile can be used to resolve that aggregate.

From-SVN: r177254
2011-08-03 11:53:11 +02:00
Arnaud Charlet
170b298986 [multiple changes]
2011-08-03  Robert Dewar  <dewar@adacore.com>

	* exp_ch4.adb: Minor code cleanup.

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

	* exp_dist.adb: Do not generate distribution stubs if serious errors
	have been diagnosed.

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

	* sem_ch4.adb (Try_Primitive_Operation): when checking the validity of
	the first formal of a primitive operation, go to the base type to
	handle properly an access to a derived type with constrained
	discriminants.
	* sem_type.adb (Disambiguate): an immediately visible operator hides a
	user-defined function that is only use-visible.
	* inline.adb: init procs are inlineable.

From-SVN: r177253
2011-08-03 11:51:09 +02:00
Robert Dewar
e917aec294 sem_aggr.adb, [...]: Minor reformatting
2011-08-03  Robert Dewar  <dewar@adacore.com>

	* sem_aggr.adb, sem_ch3.adb, lib.ads, gnatcmd.adb, prj-proc.adb,
	make.adb, lib-writ.adb, prj-part.adb, prj-part.ads, prj-ext.adb,
	fname-uf.adb, prj-ext.ads, prj.adb, prj.ads, sem_attr.adb, alfa.adb,
	prj-makr.adb, errout.adb, makeutl.adb, makeutl.ads, restrict.ads,
	sem_ch6.adb, g-pehage.adb, clean.adb, put_alfa.adb, lib-xref-alfa.adb,
	prj-nmsc.adb, prj-nmsc.ads, sem_ch8.adb, prj-pars.ads, exp_aggr.adb,
	prj-attr.ads, sem_ch13.adb, get_alfa.adb, prj-env.adb, prj-env.ads,
	alfa_test.adb, prj-tree.adb, prj-tree.ads, einfo.ads: Minor reformatting

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

	* repinfo.adb (List_Mechanism): Add handling of
	Convention_Ada_Pass_By_XXX.
	* sem_mech.adb (Set_Mechanism): Ditto.
	* sem_prag.adb (Process_Convention): Add entries for
	Convention_Ada_Pass_By_XXX.
	* snames.adb-tmpl, snames.ads-tmpl: Ditto.

From-SVN: r177252
2011-08-03 11:47:07 +02:00
Arnaud Charlet
49bfcf4381 [multiple changes]
2011-08-03  Pascal Obry  <obry@adacore.com>

	* makeutl.adb: Minor reformatting.

2011-08-03  Vincent Celier  <celier@adacore.com>

	* fname-uf.adb
	(Get_File_Name) If the file cannot be found when there are no config
	pragmas file and May_Fail is True, return No_File instead of the file
	name, to be consistent.

2011-08-03  Pascal Obry  <obry@adacore.com>

	* adaint.c (__gnat_is_executable_file_attr): Avoid access
	to null pointer.

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

	* sem_ch13.adb
	(Same_Representation): In VM targets the representation of arrays with
	aliased components differs from arrays with non-aliased components.

From-SVN: r177251
2011-08-03 11:43:16 +02:00
Emmanuel Briot
3479844114 prj-proc.adb, [...] (Get_Attribute_Index): do not systematically lower case attribute indexes that contain no "." Fix...
2011-08-03  Emmanuel Briot  <briot@adacore.com>

	* prj-proc.adb, prj-attr.adb, prj-attr.ads (Get_Attribute_Index): do
	not systematically lower case attribute indexes that contain no "."
	Fix definition of several Naming attributes, which take
	a unit name as index and therefore should be case insensitive.
	Minor refactoring (reduce length of variable names).

2011-08-03  Emmanuel Briot  <briot@adacore.com>

	* makeutl.adb, makeutl.ads (Get_Switches): new subprogram.

From-SVN: r177250
2011-08-03 11:38:56 +02:00
Emmanuel Briot
4437a53072 gnatcmd.adb, [...] (Prj.Tree.Environment): new type.
2011-08-03  Emmanuel Briot  <briot@adacore.com>

	* gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
	prj-part.ads, switch-m.adb, switch-m.ads, prj-makr.adb, clean.adb,
	prj-pars.adb, prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
	prj-tree.ads (Prj.Tree.Environment): new type.

From-SVN: r177248
2011-08-03 11:36:24 +02:00
Emmanuel Briot
804fe3c4e6 prj-proc.adb, [...] (Environment): new type.
2011-08-03  Emmanuel Briot  <briot@adacore.com>

	* prj-proc.adb, prj.ads, makeutl.adb, makeutl.ads, prj-conf.adb,
	prj-tree.adb, prj-tree.ads (Environment): new type.

From-SVN: r177247
2011-08-03 11:30:45 +02:00
Arnaud Charlet
c565bc6628 [multiple changes]
2011-08-03  Emmanuel Briot  <briot@adacore.com>

	* prj-tree.ads: Remove unused variable.

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

	* restrict.adb (Restriction_Msg): set "SPARK" all in upper case for
	issuing messages related to SPARK restriction violation.

From-SVN: r177246
2011-08-03 11:27:50 +02:00
Arnaud Charlet
4ee646da94 [multiple changes]
2011-08-03  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb: guard against error nodes in return statements.

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

	* errout.adb (Error_Msg_Internal): the main unit has not been read yet,
	a warning can only appear on a configuration file, so emit warning
	without further checks.

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

	* s-interr.ads: add overriding keyword.

2011-08-03  Geert Bosch  <bosch@adacore.com>

	* exp_attr.adb: Fix minor typo.

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

	* par-ch4.adb: improve error recovery.

From-SVN: r177245
2011-08-03 11:26:00 +02:00
Arnaud Charlet
c0e538ad80 [multiple changes]
2011-08-03  Emmanuel Briot  <briot@adacore.com>

	* prj-part.adb, prj-part.ads, prj-makr.adb, prj-pars.adb, prj-conf.adb,
	prj-env.adb (Prj.Part.Parse): change parameter Always_Errout_Finalize
	to Errout_Handling.

2011-08-03  Emmanuel Briot  <briot@adacore.com>

	* prj-dect.adb (Parse_Attribute_Declaration): make sure we can use
	"external" as an attribute name in aggregate projects.

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

	* s-taprop-vxworks.adb: (Create_Task, Initialize): Ada 2012 pragma CPU
	uses CPU numbers starting 1, while VxWorks uses CPU numbers starting
	from 0, so we need to adjust.

2011-08-03  Emmanuel Briot  <briot@adacore.com>

	* prj-proc.adb, prj-ext.adb, prj-ext.ads, makeutl.adb, prj-tree.adb,
	prj-tree.ads, gnatcmd.adb, clean.adb (External_References): new type.

From-SVN: r177244
2011-08-03 11:21:55 +02:00
Arnaud Charlet
c4d67e2d73 [multiple changes]
2011-08-03  Yannick Moy  <moy@adacore.com>

	* sem_ch6.adb (New_Overloaded_Entity): only issue error for SPARK
	restriction on overloaded entity if the entity is not an operator.

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

	* sem_ch7.adb, sem_res.adb, sem_attr.adb, restrict.adb,
	restrict.ads: Rename remaining Check_Formal_Restriction* into
	Check_SPARK_Restriction*.

2011-08-03  Emmanuel Briot  <briot@adacore.com>

	* prj-proc.adb, prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb,
	prj-nmsc.ads, prj-err.adb (Project_Data): now discriminated on its
	qualifier.
	(Project_Empty): removed
	(Empty_Project): new parameter Qualifier
	This is used to have fields specific to aggregate projects, cleaner
	New field to store the list of aggregated projects.
	(Check_Aggregate_Project): removed
	(Process_Aggregated_Projects, Free): new subprograms.

From-SVN: r177243
2011-08-03 11:17:28 +02:00
Arnaud Charlet
3f5a8feea3 [multiple changes]
2011-08-03  Olivier Hainque  <hainque@adacore.com>

	* tracebak.c (STOP_FRAME ppc AIX): Stop at null return address as well.

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

	* sem_ch8.adb (Analyze_Object_Renaming): if the renamed object is an
	explicit dereference of an unconstrained type, create a constrained
	subtype for it, as is done for function calls that return an
	unconstrained type.

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

	* g-pehage.adb (Finalize): Avoid possible double-free.

2011-08-03  Steve Baird  <baird@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference): Don't expand
	Elab_Spec/Body attrs in CodePeer_Mode.

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

	* exp_aggr.adb (Flatten): Convert to positional form aggregates whose
	low bound is not known at compile time but they have no others choice.
	Done because in this case the bounds can be obtained directly from the
	aggregate.

2011-08-03  Ed Falis  <falis@adacore.com>

	* s-tasinf-vxworks.ads: Update comment to reflect 0 indexing of CPUs
	on VxWorks SMP. Remove unusable constant ANY_CPU.

From-SVN: r177242
2011-08-03 10:32:57 +02:00
Emmanuel Briot
a96ca6001f gnatcmd.adb, [...] (Prj.Env.Initialize_Default_Project_Path, [...]): new subprograms
2011-08-03  Emmanuel Briot  <briot@adacore.com>

	* gnatcmd.adb, make.adb, prj-part.adb, prj-part.ads, prj-makr.adb,
	clean.adb, prj-nmsc.adb, prj-pars.adb, prj-conf.adb, prj-env.adb,
	prj-env.ads (Prj.Env.Initialize_Default_Project_Path,
	Prj.Env.Initialize_Empty): new subprograms
	(Get_Env, Find_Project): remove parameter Target_Name.

From-SVN: r177241
2011-08-03 10:28:47 +02:00
Arnaud Charlet
3e5828693d [multiple changes]
2011-08-03  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch3.adb (Build_Derived_Record_Type): Test the Derive_Subps formal
	as a condition for the delayed call to Derived_Subprograms done for the
	case of the rewriting of a derived type that constrains the
	discriminants of its parent type.
	Avoids redundant subprogram derivations for private subtype derivations.

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

	* exp_aggr.adb (Init_Hidden_Discriminants): New subprogram of
	Build_Record_Aggr_Code.
	(Build_Record_Aggr_Code): Add missing support to initialize hidden
	discriminants in extension aggregates.

2011-08-03  Emmanuel Briot  <briot@adacore.com>

	* prj-pp.adb (Print): also output project qualifiers, since in
	particular "aggregate" is mandatory in an aggregate project.

2011-08-03  Emmanuel Briot  <briot@adacore.com>

	* prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb:
	(Debug_Output): new function.

From-SVN: r177240
2011-08-03 10:26:17 +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
Arnaud Charlet
4317e442b4 [multiple changes]
2011-08-03  Robert Dewar  <dewar@adacore.com>

	* exp_ch5.adb, sem_prag.adb, exp_ch4.adb: Minor reformatting.

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

	* sem_ch3.adb (Build_Itype_Reference): do not create an itype reference
	for an itype created within a generic unit.

2011-08-03  Eric Botcazou  <ebotcazou@adacore.com>

	* gnat_ugn.texi (Switches for gcc): Make it clearer that -fno-inline
	suppresses all inlining.

From-SVN: r177238
2011-08-03 10:11:09 +02:00
Arnaud Charlet
53f29d4f64 [multiple changes]
2011-08-03  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, sem_res.adb, exp_ch13.adb, exp_disp.adb,
	exp_aggr.adb: Minor reformatting.

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

	* exp_ch5.adb (Expand_N_Assignment_Statement): Do not force inlining of
	tagged assignment when discriminant checks are suppressed. This is
	useless and extremely costly in terms of static stack usage.

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

	* sem_prag.adb (Get_Base_Subprogram): Do not follow Alias for instances
	of generics, because this leads to the wrong entity in the wrong scope,
	causing (e.g.) pragma Export_Procedure to get an error if the entity is
	an instance.
	(Process_Interface_Name): Follow Alias for instances of generics, to
	correct for the above change.

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

	* exp_ch4.adb (Expand_N_Selected_Component): If the discriminant value
	is an integer literal it is always safe to replace the reference. In
	addition, if the reference appears in the generated code for an object
	declaration it is necessary to copy because otherwise the reference
	might be to the uninitilized value of the discriminant of the object
	itself.

2011-08-03  Pascal Obry  <obry@adacore.com>

	* adaint.c (__gnat_is_executable_file_attr): Fix Win32 circuitry when no
	ACL used, in this case we want to check for ending .exe, not .exe
	anywhere in the path.

2011-08-03  Sergey Rybin  <rybin@adacore.com>

	* tree_io.ads (ASIS_Version_Number): Update because of the changes in
	the tree structure (semantic decoration of references to record
	discriminants).

From-SVN: r177237
2011-08-03 10:08:31 +02:00
Arnaud Charlet
c0b1185020 [multiple changes]
2011-08-03  Gary Dismukes  <dismukes@adacore.com>

	* sem_aggr.adb (Analyze_Array_Aggregate): When checking the discrete
	choices of a named array aggregate, bail out when any choices are
	marked as Errors_Posted.

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

	* exp_ch13.adb (Expand_N_Freeze_Entity): cleanup determination of scope
	in which entity is frozen, to handle properly loop variables in
	iterators.

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

	* sem_res.adb (Set_String_Literal_Subtype): if the lower bound of the
	subtype is not static, compute the upper bound using attributes, to
	handle properly index types that are not integer types.

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

	* gnat_rm.texi, gnat_ugn.texi: Fix some dangling URLs.
	Update copyright notice.

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

	* sem_ch3.adb (Build_Discriminant_Constraints): Only use
	Original_Discriminant if within an instance.
	* sem_ch4.adb (Analyze_Selected_Component): Ditto.

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

	* einfo.ads: Minor reformatting.

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

	* exp_disp.adb (Check_Premature_Freezing): diagnose the presence of a
	composite type with an unfrozen subcomponent, in the profile of a
	primitive operation.

From-SVN: r177236
2011-08-03 10:02:56 +02:00
Revital Eres
edc429ff61 Optimize stage count
From-SVN: r177235
2011-08-03 07:59:23 +00:00
Arnaud Charlet
5c34e9cd07 [multiple changes]
2011-08-03  Robert Dewar  <dewar@adacore.com>

	* sem_util.ads, exp_aggr.adb, exp_ch3.adb: Minor reformatting.

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

	* sem_ch3.adb (Analyze_Object_Declaration): if a constant object of an
	unconstrained type with discriminants is initialized with an aggregate,
	use the constrained subtype of the aggregate as the type of the object,
	because it is immutable, and this allows the back-end to generate no
	code for the object declaration.

From-SVN: r177234
2011-08-03 09:52:00 +02:00
Arnaud Charlet
abcd9db2c8 [multiple changes]
2011-08-03  Robert Dewar  <dewar@adacore.com>

	* exp_ch4.adb (Optimize_Length_Check): Fix bad handling of case where
	comparison operand is variable, and turns out to be zero or negative.

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

	* exp_intr.adb
	(Expand_Dispatching_Constructor_Call): Disable expansion of
	code required for native targets. Done to avoid generating
	references to unavailable runtime entities in VM targets.
	* exp_ch3.adb
	(Expand_N_Object_Declaration): Add missing support to handle
	the explicit initialization of class-wide interface objects.
	Fix documentation.

2011-08-03  Matthew Heaney  <heaney@adacore.com>

	* a-cobove.adb (Merge): Move source onto target, instead of using Assign

2011-08-03  Matthew Heaney  <heaney@adacore.com>

	* a-cbdlli.adb (Splice): move source items from first to last

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

	* sem_util.ads: comment added.

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

	* exp_aggr.adb
	(Expand_Record_Aggregate): In VM targets disable the expansion into
	assignments of aggregates whose type is not known at compile time.

From-SVN: r177233
2011-08-03 09:45:36 +02:00
Ed Schonberg
b474d6c3f1 exp_ch9.adb (Build_Renamed_Formal_Declaration): common procedure for protected entries and task entries...
2011-08-03  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch9.adb (Build_Renamed_Formal_Declaration): common procedure for
	protected entries and task entries, to build the proper renaming
	declaration for entry formals, used in debugging.
	* exp_ch2.adb (Expand_Entry_Parameter): handle task and entry
	parameters in the same way.

From-SVN: r177232
2011-08-03 09:37:15 +02:00
H.J. Lu
40f2f11f1f Update x32 __NR_rt_sigreturn system call number.
2011-08-02  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/linux-unwind.h (RT_SIGRETURN_SYSCALL): New.
	(x86_64_fallback_frame_state): Use RT_SIGRETURN_SYSCALL and
	long long to check rt_sigreturn syscall.

From-SVN: r177229
2011-08-02 21:59:41 -07:00
Roberto Lublinerman
16c57fe280 gccgo: Added code to dump the AST tree.
gccgo:	Added code to dump the AST tree. The AST dump is
	activated with -fgo-dump-ast.
	Initial version, it only dumps (most) constructs that
	are expected after the lowering transformation.

	* Make-lang.in (GO_OBJS): Add go/ast-dump.o.
	(go/ast-dump.o): New target.
	(go/expressions.o): Depend on go/gofrontend/ast-dump.h.
	(go/statements.o): Likewise.

From-SVN: r177225
2011-08-03 00:37:26 +00:00
GCC Administrator
44e7bfcb6f Daily bump.
From-SVN: r177224
2011-08-03 00:18:01 +00:00
Richard Henderson
a3fef928c4 Add another PR tag.
From-SVN: r177219
2011-08-02 15:20:17 -07:00
Richard Henderson
9a08d23082 re PR debug/49864 (ICE: in maybe_record_trace_start, at dwarf2cfi.c:2439)
PR target/49864
	* reg-notes.def (REG_ARGS_SIZE): New.
	* calls.c (emit_call_1): Emit REG_ARGS_SIZE for call_pop.
	(expand_call): Add REG_ARGS_SIZE to emit_stack_restore.
	* cfgcleanup.c (old_insns_match_p): Don't allow cross-jumping to
	different stack levels.
	* combine-stack-adj.c (adjust_frame_related_expr): Remove.
	(maybe_move_args_size_note): New.
	(combine_stack_adjustments_for_block): Use it.
	* combine.c (distribute_notes): Place REG_ARGS_SIZE.
	* dwarf2cfi.c (dw_cfi_row_struct): Remove args_size member.
	(dw_trace_info): Add beg_true_args_size, end_true_args_size,
	beg_delay_args_size, end_delay_args_size, eh_head, args_size_undefined.
	(cur_cfa): New.
	(queued_args_size): Remove.
	(add_cfi_args_size): Assert size is non-negative.
	(stack_adjust_offset, dwarf2out_args_size): Remove.
	(dwarf2out_stack_adjust, dwarf2out_notice_stack_adjust): Remove.
	(notice_args_size, notice_eh_throw): New.
	(dwarf2out_frame_debug_def_cfa): Use cur_cfa.
	(dwarf2out_frame_debug_adjust_cfa): Likewise.
	(dwarf2out_frame_debug_cfa_offset): Likewise.
	(dwarf2out_frame_debug_expr): Likewise.  Don't stack_adjust_offset.
	(dwarf2out_frame_debug): Don't handle non-frame-related-p insns.
	(change_cfi_row): Don't emit args_size.
	(maybe_record_trace_start_abnormal): Split out from ...
	(maybe_record_trace_start): Here.  Set args_size_undefined.
	(create_trace_edges): Update to match.
	(scan_trace): Handle REG_ARGS_SIZE.
	(connect_traces): Connect args_size between EH insns.
	* emit-rtl.c (try_split): Handle REG_ARGS_SIZE.
	* explow.c (suppress_reg_args_size): New.
	(adjust_stack_1): Split out from ...
	(adjust_stack): ... here.
	(anti_adjust_stack): Use it.
	(allocate_dynamic_stack_space): Suppress REG_ARGS_SIZE.
	* expr.c (mem_autoinc_base): New.
	(fixup_args_size_notes): New.
	(emit_single_push_insn_1): Rename from emit_single_push_insn.
	(emit_single_push_insn): New.  Generate REG_ARGS_SIZE.
	* recog.c (peep2_attempt): Handle REG_ARGS_SIZE.
	* reload1.c (reload_as_needed): Likewise.
	* rtl.h (fixup_args_size_notes): Declare.

From-SVN: r177218
2011-08-02 15:18:35 -07:00
Richard Henderson
cde7b553db Fix my last changelog entry.
From-SVN: r177217
2011-08-02 14:23:58 -07:00
Jason Merrill
a9a740baf7 re PR c++/43886 ([C++0x] name lookup failure on un-used local variable in lambda compound-statement)
PR c++/43886
	* parser.c (cp_parser_lambda_body): Clear local_variables_forbidden_p.

From-SVN: r177216
2011-08-02 17:09:26 -04:00
Jason Merrill
54e7d7f5e9 re PR c++/49577 ([C++0x] narrowing conversion not rejected)
PR c++/49577
	* typeck2.c (check_narrowing): Check unsigned mismatch.
	* semantics.c (finish_compound_literal): check_narrowing.

From-SVN: r177215
2011-08-02 17:09:17 -04:00
Jason Merrill
326a64554b re PR c++/49593 ([C++0x] cannot use T{t}... as pack expansion)
PR c++/49593
	* pt.c (find_parameter_packs_r): Handle CONSTRUCTOR.

From-SVN: r177214
2011-08-02 17:09:08 -04:00
Jason Merrill
adc651f305 re PR c++/49803 ([C++0x] erroneous variant-member initialization in a union containing an anonymous struct)
PR c++/49803
	* init.c (sort_mem_initializers): Initialize uses_unions_p here.
	(build_field_list): Not here.

From-SVN: r177213
2011-08-02 17:08:57 -04:00
Paolo Carlini
9f8139900d re PR bootstrap/49914 (call to abs(long long) in gcc/fold-const.c)
2011-08-02  Paolo Carlini  <paolo.carlini@oracle.com>

	PR bootstrap/49914
	* fold-const.c (fold_plusminus_mult_expr): Use abs_hwi instead
	of abs.
	* tree-ssa-math-opts.c (gimple_expand_builtin_pow): Likewise.
	* tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Likewise.

From-SVN: r177212
2011-08-02 20:26:57 +00:00
Daniel Kraft
f315a6b438 re PR fortran/49885 (Segmentation fault when writing to an automatic character array)
2011-08-02  Daniel Kraft  <d@domob.eu>

	PR fortran/49885
	* trans-array.c (gfc_trans_auto_array_allocation): Change
	gfc_start_block to gfc_init_block to avoid spurious extra-scope.

2011-08-02  Daniel Kraft  <d@domob.eu>

	PR fortran/49885
	* gfortran.dg/auto_char_dummy_array_3.f90: New test.

From-SVN: r177211
2011-08-02 22:10:13 +02:00
Richard Henderson
8f1594b2b8 h8300: Generate correct unwind info around swap_into/out_of_er6.
Minimal bug fix is to unset RTX_FRAME_RELATED_P on the PUSH
insn generated in h8300_swap_into_er6.  But with a tiny bit
of effort we can generate real unwind info around the sequence.

From-SVN: r177209
2011-08-02 12:56:29 -07:00
Kai Tietz
66f1dc79f5 re PR middle-end/49947 (FAIL: gcc.dg/tree-ssa/forwprop-15.c)
2011-08-02  Kai Tietz  <ktietz@redhat.com>

	PR middle-end/49947
	* gcc.dg/tree-ssa/forwprop-15.c

From-SVN: r177205
2011-08-02 21:31:30 +02:00
H.J. Lu
3ed2c64330 Fix a typo in host_detect_local_cpu.
2011-08-02  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/driver-i386.c (host_detect_local_cpu): Fix a typo.

From-SVN: r177204
2011-08-02 12:23:10 -07:00
Richard Henderson
f9b4f8c126 re PR target/49878 ([h8300] ICE in based_loc_descr, at dwarf2out.c:10478)
PR target/49878
h8300: Don't allow eliminable registers to be pushed.

From-SVN: r177200
2011-08-02 11:48:00 -07:00
Jason Merrill
2b756fa297 re PR c++/49834 ([C++0x] type deduction in for-each loop in template function)
PR c++/49834
	* parser.c (build_range_temp): Split out from...
	(cp_convert_range_for): ...here.
	(do_range_for_auto_deduction): New.
	(cp_parser_range_for): Use it.

From-SVN: r177199
2011-08-02 14:08:58 -04:00
Tobias Burnus
979d459888 trans-array.c (gfc_array_allocate): Pass token to gfc_allocate_allocatable for -fcoarray=lib.
2011-08-02  Tobias Burnus  <burnus@net-b.de>

        * trans-array.c (gfc_array_allocate): Pass token to
          gfc_allocate_allocatable for -fcoarray=lib.
        * trans-stmt.c (gfc_trans_allocate): Update
        gfc_allocate_allocatable call.
        * trans.h (gfc_allocate_allocatable): Update prototype.
        (gfc_allocate_using_lib): Remove.
        * trans.c (gfc_allocate_using_lib): Make static, handle
        token.
        (gfc_allocate_allocatable): Ditto.

2011-08-02  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_lib_token_3.f90: New.

From-SVN: r177198
2011-08-02 20:07:52 +02:00
Richard Henderson
b7cef5958d re PR target/49881 ([AVR] Inefficient stack manipulation around calls)
PR target/49881
        * config/avr/avr.md (push<MPUSH>1): Don't constrain the operand.

From-SVN: r177196
2011-08-02 10:38:16 -07:00