Commit Graph

134427 Commits

Author SHA1 Message Date
Arnaud Charlet a6e76bcb09 re PR ada/63931 (Ada libraries use 5.0 as LIB_VERSION)
PR ada/63931                                   
	* gnatvsn.ads (Library_Version): Switch to "5".

From-SVN: r217884
2014-11-20 17:17:12 +01:00
Segher Boessenkool f3101b311c re PR target/60111 ([SH] ICE compiling Newlib)
2014-11-20  Segher Boessenkool  <segher@kernel.crashing.org>

	PR target/60111
	* config/sh/sh.c: Use signed char for signed field.

From-SVN: r217883
2014-11-20 17:03:16 +01:00
Arnaud Charlet 572f38e4b2 [multiple changes]
2014-11-20  Thomas Quinot  <quinot@adacore.com>

	* freeze.adb (Freeze_Entity): Do not reset Is_True_Constant
	for aliased constant objects.

2014-11-20  Robert Dewar  <dewar@adacore.com>

	* exp_util.adb (Following_Address_Clause): Use new Name_Table
	boolean flag set by parser to avoid the search if there is no
	address clause anywhere for the name.
	* namet.adb (Name_Enter): Initialize Boolean_Info flag
	(Name_Find): ditto (Reinitialize): ditto (Get_Name_Table_Boolean):
	New function (Set_Name_Table_Boolean): New procedure
	* namet.ads: Add and document new Boolean field in name table
	(Get_Name_Table_Boolean): New function.
	(Set_Name_Table_Boolean): New procedure.
	* par-ch13.adb (P_Representation_Clause): Set Name_Table boolean
	flag for an identifier name if we detect an address clause or
	use-at clause for the identifier.
	* sem_ch3.adb (Analyze_Object_Declaration): Remove comment about
	Following_Address_Clause since this function is now optimized
	and is not a performance concern.
	* sem_prag.adb (Analyze_Pragma, case Elaborate): In SPARK
	mode, pragma Elaborate is now allowed, but does not suppress
	elaboration checking.

From-SVN: r217882
2014-11-20 16:59:01 +01:00
Jerome Lambourg 28eccd34fa Makefile.in: Add some support for VxWorks7.
2014-11-20  Jerome Lambourg  <lambourg@adacore.com>

	* gcc-interface/Makefile.in: Add some support for VxWorks7.

From-SVN: r217881
2014-11-20 16:57:55 +01:00
Arnaud Charlet bcdb6b04a7 [multiple changes]
2014-11-20  Thomas Quinot  <quinot@adacore.com>

	* sem_ch13.adb, freeze.adb: Minor reformatting.
	* gnat_rm.texi: Minor editing.

2014-11-20  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (Analyze_Pragma): Minor reformatting.
	(Process_Suppress_Unsuppress): Ignore suppress Elaboration_Check
	in SPARK.

2014-11-20  Bob Duff  <duff@adacore.com>

	* gnat_rm.texi: Correction to documentation of
	'Unrestricted_Access in case of access to unconstrained array.
	* a-cofove.adb (Capacity): Fix bug -- was always
	returning Capacity_Range'Last.
	(Is_Sorted): Fix bug -- was always returning True, because
	Container.Last = Last. That test isn't even needed, because the
	loop will go around zero times in that case, so deleted that
	test rather than fixing it.
	(Reverse_Elements): Make sure to use the correct array bounds.

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Analyze_Associations): In GNATProve mode, build
	wrappers for functions and operators that are actuals only if
	expander is enabled. Wrappers play no role within a generic unit.

2014-11-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_util.adb (Policy_In_Effect): Use the
	configuration level assertion flag.

From-SVN: r217880
2014-11-20 16:54:31 +01:00
Arnaud Charlet d7d99211f9 [multiple changes]
2014-11-20  Arnaud Charlet  <charlet@adacore.com>

	* s-parame-ae653.ads: Update comments.

2014-11-20  Robert Dewar  <dewar@adacore.com>

	* types.ads, einfo.ads: Minor reformatting.
	* sem_elab.adb (Check_A_Call): Add guard for reference to Alias
	for variable case.

2014-11-20  Bob Duff  <duff@adacore.com>

	* a-cofove.adb (Elems,Elemsc): Use access-to-constrained arrays
	instead of access-to-unconstrained, because the latter doesn't
	work with 'Unrestricted_Access when the result is returned from
	a function.
	* a-cofove.ads (Vector): Move the discriminant-dependent array
	after the other components for efficiency. Otherwise the compiler
	will generate a lot of code to calculate the offset of the other
	components every time they're accessed.

2014-11-20  Olivier Hainque  <hainque@adacore.com>

	* opt.ads: Fix comment on Generate_SCO_Instance_Table wrt when
	it is set to true.

From-SVN: r217879
2014-11-20 16:50:29 +01:00
Arnaud Charlet de4899bb19 [multiple changes]
2014-11-20  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch3.adb (Expand_N_Object_Declaration): Handle properly
	a type invariant check on an object with default initialization
	and an address clause.

2014-11-20  Robert Dewar  <dewar@adacore.com>

	* sem_elab.adb (Check_A_Call): Handle variable ref case in
	SPARK (Check_Elab_Call): ditto (Find_Elab_Reference): ditto
	(Get_Referenced_Ent): ditto.
	* sem_elab.ads: Comment fixes to account for the fact that we
	now deal with variable references in SPARK mode.
	* sem_res.adb (Resolve_Entity_Name): In SPARK_Mode Call
	Check_Elab_Call for variable.

2014-11-20  Yannick Moy  <moy@adacore.com>

	* a-cofove.ads (Copy): Fix precondition, which should allow
	Capacity = 0.
	(First_To_Previous, Current_To_Last): Add necessary preconditions.

From-SVN: r217878
2014-11-20 16:47:33 +01:00
Arnaud Charlet 8c691dc68e [multiple changes]
2014-11-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch3.adb (Build_Initialization_Call): Reimplement the
	circuitry which extraacts the [underlying] full view of a
	private type to handle a case where the private type acts as a
	generic actual.
	* exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Inherit the
	loop label form the original loop regardless of whether it came
	from source.
	* sem_attr.adb (Analyze_Attribute): When taking 'Access of an
	expression function with a generated body that has not been
	analyzed yet, analyze the body to freeze the expression.
	* sem_util.adb (Set_Public_Status_Of): New routine.
	(Transfer_Entities): Handle the case where a private type with
	an internally generated full view is being transfered and update
	its full view.

2014-11-20  Vincent Celier  <celier@adacore.com>

	* prj-nmsc.adb (Check_Object): If a unit is in a multi-source
	file, its object file is never the same as any other unit.

2014-11-20  Bob Duff  <duff@adacore.com>

	* s-taskin.adb (Initialize_ATCB): Take into
	account the fact that the domain of the activator can be null
	if we're initializing a foreign task.

From-SVN: r217877
2014-11-20 16:46:20 +01:00
Arnaud Charlet 1e2d79e2b3 [multiple changes]
2014-11-20  Robert Dewar  <dewar@adacore.com>

	* sem_ch12.adb: Minor reformatting.

2014-11-20  Jerome Lambourg  <lambourg@adacore.com>

	* s-osinte-vxworks.ads: Add comments. Minor reformatting.

2014-11-20  Yannick Moy  <moy@adacore.com>

	* sem_prag.adb, sem_elab.adb: Minor rewording of error message in
	SPARK mode, for consistency.

From-SVN: r217876
2014-11-20 16:43:06 +01:00
Arnaud Charlet 0e290c54ec [multiple changes]
2014-11-20  Vasiliy Fofanov  <fofanov@adacore.com>

	* gnat_ugn.texi: New section on gnattest stubbing. Minor
	reformatting.

2014-11-20  Jerome Lambourg  <lambourg@adacore.com>

	* s-taprop-vxworks.adb (Create_Task): Fix thread comparison.
	Minor reformatting.

From-SVN: r217875
2014-11-20 16:41:27 +01:00
Arnaud Charlet 596f71394d [multiple changes]
2014-11-20  Robert Dewar  <dewar@adacore.com>

	* s-tassta.adb, exp_aggr.adb, s-taskin.adb, exp_strm.adb: Minor
	reformatting.
	* comperr.adb (Compiler_Abort): New wording for bug box.
	* par-ch13.adb: Minor reformatting.
	* par-ch3.adb (P_Identifier_Declarations): Handle aspect
	specifications given before initialization expression in object
	declaration cleanly.
	* gnat1drv.adb (Adjust_Global_Switches): Make sure static
	elaboration mode is set if we are operating in SPARK mode.
	* sem_ch12.adb (Analyze_Package_Instantiation): Make
	sure static elab mode is set if we are in SPARK mode.
	(Analyze_Subprogram_Instantiation): ditto.
	(Set_Instance_Env): ditto.
	* sem_elab.adb (Check_A_Call): In SPARK mode, we require
	Elaborate_All in the case of a call during elaboration to a
	subprogram in another unit.

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

	* inline.adb (Can_Split_Unconstrained_Function,
	Build_Procedure): Copy parameter type rather than creating
	reference to the entity, to capture class-wide reference, whose
	name is not retrieved by visibility.

From-SVN: r217874
2014-11-20 16:17:47 +01:00
Arnaud Charlet 7e4f00b47c [multiple changes]
2014-11-20  Arnaud Charlet  <charlet@adacore.com>

	* s-taspri-solaris.ads: Replace 64 by long_long_integer'size.

2014-11-20  Olivier Hainque  <hainque@adacore.com>

	* init.c (__gnat_map_signal for VxWorks): Use a common mapping
	scheme for VxWorks version >= 6, instead of falling back to the
	vx5 scheme for versions > 6.

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

	* exp_strm.adb (Build_Mutable_Record_Read_Procedure): Use
	base type when constructing subtype indication for constrained
	target object.

2014-11-20  Jose Ruiz  <ruiz@adacore.com>

	* projects.texi: Minor spelling fix.

2014-11-20  Bob Duff  <duff@adacore.com>

	* gnat_ugn.texi: Add doc for --split-line-before-op switch in gnatpp.

2014-11-20  Vincent Celier  <celier@adacore.com>

	* prj-attr.adb (Register_New_Package): Allow the registration
	of an already unknown package and make it known.

From-SVN: r217873
2014-11-20 16:13:59 +01:00
Trevor Saunders 509793471a convert trans-mem to hash_table
gcc/

	* cfgexpand.c, gimple-ssa.h, trans-mem.c: Replace htab with
	hash_table.

From-SVN: r217872
2014-11-20 15:10:56 +00:00
Trevor Saunders 907dadbd2a remove more ggc htabs
gcc/

	* ipa-utils.c, lto-section-in.c, lto-streamer.h,
	tree-scalar-evolution.c: Replace htab with hash_table.

lto/

	* lto.c: Replace htab with hash_table.

From-SVN: r217871
2014-11-20 15:10:49 +00:00
Trevor Saunders 9c71e9df38 use vec in lto_tree_ref_table
gcc/ChangeLog:

2014-11-20  Trevor Saunders  <tsaunders@mozilla.com>

	* lto-section-in.c (lto_delete_in_decl_state): Adjust.
	(lto_free_function_in_decl_state): Likewise.
	* lto-streamer-out.c (copy_function_or_variable): Likewise.
	* lto-streamer.h (lto_file_decl_data_get_ ## name): Likewise.
	(lto_file_decl_data_num_ ## name ## s): Likewise.
	(struct lto_tree_ref_table): Remove.
	(struct lto_in_decl_state): Replace lto_tree_ref_table with vec<tree>.

gcc/lto/ChangeLog:

2014-11-20  Trevor Saunders  <tsaunders@mozilla.com>

	* lto.c (lto_read_in_decl_state): Adjust.
	(lto_fixup_state): Likewise.

From-SVN: r217870
2014-11-20 15:10:42 +00:00
Trevor Saunders de144fb24f remove param1_is usage
gcc/

	* hash-map.h (hash_map::iterator): New class.
	(hash_map::begin): New method.
	(hash_map::end): Likewise.
	* alias.c, config/alpha/alpha.c, dwarf2asm.c, omp-low.c, tree.h:
	replace splay_tree with hash_map.

From-SVN: r217869
2014-11-20 15:10:33 +00:00
Trevor Saunders 1f012f560f fix hash_table when empty elements are not 0
gcc/ChangeLog:

2014-11-20  Trevor Saunders  <tsaunders@mozilla.com>

	* hash-table.h (hash_table::hash_table): Call alloc_entries.
	(hash_table::alloc_entries): new method.
	(hash_table::expand): Call alloc_entries.
	(hash_table::empty): Likewise.

From-SVN: r217868
2014-11-20 15:10:26 +00:00
Trevor Saunders d242408fda convert many if_marked htab to hash_table
ada/

	* gcc-interface/decl.c, gcc-interface/utils.c: replace htab with
	hash_table.

cp/

	* cp-objcp-common.c: Use hash_table instead of htab.

gcc/

	* config/i386/i386.c, function.c, trans-mem.c, tree-core.h,
	tree.c, tree.h, ubsan.c, varasm.c: Use hash_table instead of htab.

From-SVN: r217867
2014-11-20 15:10:19 +00:00
Trevor Saunders aebf76a2d6 implement a replacement for if_marked
gcc/ChangeLog:

2014-11-20  Trevor Saunders  <tsaunders@mozilla.com>

	* doc/gty.texi: Document the new cache gty attribute.
	* gengtype.c (finish_cache_funcs): New function.
	(write_roots): Call gt_clear_cache on global variables with the cache
	gty attribute.
	* ggc-common.c (ggc_mark_roots): Call gt_clear_caches.
	* ggc.h (gt_clear_caches): New declaration.
	* hash-table.h (struct ggc_cache_hasher): New hasher for caches in gc
	memory.
	(gt_cleare_cache): New function.
	* emit-rtl.c, rtl.h, tree.c: Use hash_table instead of htab.

From-SVN: r217866
2014-11-20 15:10:11 +00:00
Segher Boessenkool 77486f4480 combine.c (try_combine): Prefer to delete dead SETs inside a PARALLEL over keeping them.
* combine.c (try_combine): Prefer to delete dead SETs inside
	a PARALLEL over keeping them.

From-SVN: r217865
2014-11-20 15:56:29 +01:00
Segher Boessenkool 43ae6da22f combine.c (combine_validate_cost): Always print the insn costs to the dump file.
* combine.c (combine_validate_cost): Always print the insn costs
	to the dump file.

From-SVN: r217864
2014-11-20 15:54:56 +01:00
Arnaud Charlet ddce04b8b9 [multiple changes]
2014-11-20  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (Analyze_Pragma, case Elaborate): Forbid pragma
	Elaborate in SPARK mode.

2014-11-20  Bob Duff  <duff@adacore.com>

	* s-taskin.adb, s-tassta.adb (Initialize_ATCB): If Domain
	is null, then initialize T.Common.Domain to that of the
	activating task (not the parent task!), as required by RM-D.16.1.
	T.Common.Domain should never be null; so Assert. Remove similar
	code from Create_Task in s-tassta.adb.
	* s-mudido-affinity.adb: Remove checks for Domain = null,
	because it can't be null.
	* s-taskin.ads, s-taspri-dummy.ads, s-taspri-mingw.ads,
	s-taspri-posix.ads, s-taspri-posix-noaltstack.ads,
	s-taspri-solaris.ads, s-taspri-vxworks.ads: Mark limited types as
	explicitly limited for clarity.

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

	* exp_aggr.adb (Init_Hidden_Discriminants): Code clean up.

From-SVN: r217863
2014-11-20 15:47:19 +01:00
Arnaud Charlet b953f51168 [multiple changes]
2014-11-20  Robert Dewar  <dewar@adacore.com>

	* errout.adb (Error_Msg): Don't suppress continuation msgs for
	run-time files.
	* sem_prag.adb (Analyze_Pragma, case Elaborate): Forbid pragma
	Elaborate in SPARK mode.

2014-11-20  Yannick Moy  <moy@adacore.com>

	* gnat_rm.texi: Update GNAT RM with rule about expressions in
	Update attribute.

From-SVN: r217862
2014-11-20 15:41:49 +01:00
Arnaud Charlet 3fbbbd1e87 [multiple changes]
2014-11-20  Thomas Quinot  <quinot@adacore.com>

	* g-socket.adb (To_Host_Entry): Guard against case of a
	non-AF_INET entry.

2014-11-20  Vadim Godunko  <godunko@adacore.com>

	* a-strunb-shared.adb (To_Unbounded_String): Use shared empty
	object to construct return value when source string is empty or
	requested length is zero.
	* a-stwiun-shared.adb (To_Unbounded_Wide_String): Likewise.
	* a-stzunb-shared.adb (To_Unbounded_Wide_Wide_String): Likewise.

2014-11-20  Yannick Moy  <moy@adacore.com>

	* a-cfhase.adb, a-cfinve.adb, a-cforma.adb, a-cfhama.adb, a-cforse.adb,
	a-cofove.adb: Skip CodePeer analysis on body of all formal containers.

2014-11-20  Arnaud Charlet  <charlet@adacore.com>

	* adaint.c: Fix typo.
	* exp_util.adb (Make_Subtype_From_Expr): Complete previous change,
	generate constant values.
	* sem_eval.adb (Decompose_Expr): Fix latent bug leading to a wrong
	evaluation to '0' of some unknown values.

2014-11-20  Robert Dewar  <dewar@adacore.com>

	* repinfo.adb (List_Record_Info): Do not list discriminant in
	unchecked union.
	* sem_ch13.adb (Has_Good_Profile): Minor reformatting
	(Analyze_Stream_TSS_Definition): Minor reformatting
	(Analyze_Record_Representation_Clause): Do not issue warning
	for missing rep clause for discriminant in unchecked union.

From-SVN: r217861
2014-11-20 15:37:41 +01:00
Vadim Godunko f92d99c60b 2014-11-20 Vadim Godunko <godunko@adacore.com>
* a-strunb-shared.adb, a-stwiun-shared.adb, a-stzunb-shared.adb
	("&") Use already computed value of data length to call allocation
	subprogram.

From-SVN: r217860
2014-11-20 15:32:50 +01:00
Arnaud Charlet e61fc98389 [multiple changes]
2014-11-20  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch6.adb (Expand_Call, Inlined_Subprogram): Do not suppress
	debugging information for a call to a predefined unit, if the
	call comes from source and the unit is in the Ada hierarchy.

2014-11-20  Bob Duff  <duff@adacore.com>

	* s-mudido.ads: Update signature of Create and Get_Last_CPU. Add
	CPU_Set, another Create, and Get_CPU_Set.
	* s-mudido.adb: Corresponding changes to the spec. New
	operations just raise an exception.  Also minor cleanup: use
	raise_expressions.
	* s-mudido-affinity.adb: Implementations of new operations from
	* s-mudido.ads, for the platforms that actually support processor
	affinity. The new Create (which takes a set) now does all the
	work; the old Create (which takes a range) now just calls the
	new one. Change error messages to reflect the fact that it's an
	arbitrary set, not just a range.

From-SVN: r217859
2014-11-20 15:31:35 +01:00
Arnaud Charlet d18b1548fa [multiple changes]
2014-11-20  Robert Dewar  <dewar@adacore.com>

	* exp_attr.adb: Minor reformatting.

2014-11-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb (Make_Subtype_From_Expr): Capture the bounds of
	all index constracts when the expression is of an array type.

2014-11-20  Bob Duff  <duff@adacore.com>

	* s-taskin.ads: Minor comment improvements.

2014-11-20  Bob Duff  <duff@adacore.com>

	* exp_ch9.adb: Minor comment fixes.
	* s-taskin.adb (Initialize): Small simplification: pass System_Domain
	to Initialize_ATCB instead of passing null and then setting the Domain
	to System_Domain. This requires moving the creation of System_Domain
	earlier.
	* s-taprop-linux.adb (Set_Task_Affinity): Only call CPU_SET for
	processors that have a True in the Domain. This is necessary if the
	Domain is not all-True values.

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Has_Good_Profile): a) An stream attribute
	for the class-wide type of an interface type is not a primitive
	operation and is not subject to the restrictions of 13.13. (38/3).
	b) A stream operation for an interface type must be a null
	procedure, and it cannot be a function.

From-SVN: r217857
2014-11-20 15:29:05 +01:00
Bob Duff d85badc750 exp_attr.adb (Attribute_Max_Size_In_Storage_Elements): Eliminate 'Class references from the tree, because gigi crashes on 'Class.
2014-11-20  Bob Duff  <duff@adacore.com>

	* exp_attr.adb (Attribute_Max_Size_In_Storage_Elements):
	Eliminate 'Class references from the tree, because gigi crashes on
	'Class. Also, don't check Nkind (Attr) -- it is known to be
	N_Attribute_Reference.	Assert that instead.

From-SVN: r217856
2014-11-20 15:26:10 +01:00
Arnaud Charlet d8d7e809d6 [multiple changes]
2014-11-20  Bob Duff  <duff@adacore.com>

	* debug.adb: Minor comment fix.

2014-11-20  Arnaud Charlet  <charlet@adacore.com>

	* a-ciorma.adb: Minor update: move pragma Annotate up.
	* a-cfdlli.adb: Skip codepeer analysis on this body.

2014-11-20  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (Analyze_Pragma, case No_Elaboration_Code_All):
	Allow use of this pragma with generic unit (package or subprogram).
	* gnat_rm.texi: Clarify that pragma No_Elaboration_Code_All can
	be applied to generics.

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_aggr.adb (Valid_Limited_Ancestor): Ancestor part of
	extension aggregate can itself be an extension aggregate, as
	well as a call that is rewritten as a reference.

2014-11-20  Eric Botcazou  <ebotcazou@adacore.com>

	* inline.adb (Add_Inlined_Subprogram): Insert all programs
	generated as a body or whose declaration was provided along with
	the body.

2014-11-20  Javier Miranda  <miranda@adacore.com>

	* sem.adb (Semantics): Disable expansion if we are compiling a
	separate unit under configurable runtime. By default separate
	units are compiled with expansion disabled but under configurable
	runtime we enable the expansion to get error messages about
	missing entities.

From-SVN: r217855
2014-11-20 15:24:21 +01:00
Arnaud Charlet f2d9ae209a [multiple changes]
2014-11-20  Robert Dewar  <dewar@adacore.com>

	* sem_ch13.adb: Minor reformatting.
	* exp_util.adb (Following_Address_Clause): Handle case of
	package private part.

2014-11-20  Arnaud Charlet  <charlet@adacore.com>

	* a-cdlili.adb, a-cihama.adb, a-coinve.adb, a-cusyqu.adb, a-ciorse.adb,
	a-coorma.adb, a-cborma.adb, a-cidlli.adb, a-cimutr.adb, a-ciormu.adb,
	a-cbprqu.adb, a-cihase.adb, a-cohama.adb, a-coorse.adb, a-coboho.adb,
	a-cuprqu.adb, a-cbhama.adb, a-rbtgbo.adb, a-cborse.adb, a-comutr.adb,
	a-ciorma.adb, a-cobove.adb, a-coormu.adb, a-convec.adb, a-cohase.adb,
	a-coinho.adb, a-coinho-shared.adb, a-cbdlli.adb, a-cbsyqu.adb,
	a-cbmutr.adb, a-cbhase.adb: Add pragma Annotate to prevent codepeer
	from analyzing these bodies.

From-SVN: r217854
2014-11-20 15:17:04 +01:00
Richard Henderson ad1048a528 re PR target/63977 (r217769 caused many failures)
PR target/63977

 * config/i386/i386.c (ix86_static_chain): Reinstate the check
 for DECL_STATIC_CHAIN.

From-SVN: r217853
2014-11-20 06:13:04 -08:00
Tejas Belagod f8b756b74c aarch64-protos.h (aarch64_classify_symbol): Fixup prototype.
2014-11-20  Tejas Belagod  <tejas.belagod@arm.com>

gcc/
	* config/aarch64/aarch64-protos.h (aarch64_classify_symbol):
	Fixup prototype.
	* config/aarch64/aarch64.c (aarch64_expand_mov_immediate,
	aarch64_cannot_force_const_mem, aarch64_classify_address,
	aarch64_classify_symbolic_expression): Fixup call to
	aarch64_classify_symbol.
	(aarch64_classify_symbol): Add range-checking for
	symbol + offset addressing for tiny and small models.

testsuite/
         * gcc.target/aarch64/symbol-range.c: New.
         * gcc.target/aarch64/symbol-range-tiny.c: New.

From-SVN: r217852
2014-11-20 13:58:23 +00:00
Uros Bizjak 1b6b13f3ee re PR target/63966 (inconsistent operand constraints compiling build libcpp)
PR target/63966
	* lex.c [__i386__ || __x86_64__]: Compile special SSE functions
	only for (__GNUC__ >= 5 || !defined(__PIC__)).

From-SVN: r217851
2014-11-20 13:10:12 +01:00
Arnaud Charlet 5c5e108f9b [multiple changes]
2014-11-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not apply
	inlining expansion if function build in place, i.e. has a limited
	return type.

2014-11-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Add
	variables Body_Id, Body_Inputs, Body_Outputs, Spec_Inputs,
	Spec_Outputs. Synthesize the inputs and outputs of the subprogram
	when pragma [Refined_]Global is missing and perform legality
	checks on output states with visible refinement.
	(Appears_In): Update the comment on usage.
	(Check_Output_States): New routine.
	(Collect_Dependency_Clause): New routine.
	(Collect_Global_Items): Relocated to
	Analyze_Refined_Global_In_Decl_Part.
	(Collect_Subprogram_Inputs_Outputs): Add new formal parameters
	Synthesize and Depends_Seen. The routine can now synthesize inputs
	and outputs from pragma [Refined_]Depends.
	(Normalize_Clause): Update the comment on usage. The routine no longer
	performs normalization of outputs.
	(Normalize_Clauses): Normalize both inputs and outputs.
	(Normalize_Output): Relocated to Normalize_Clauses.
	* sem_prag.ads (Collect_Subprogram_Inputs_Outputs): Add new
	formal parameters Synthesize and Depends_Seen and update the
	comment on usage.

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Reset_Loop_Variable): New subsidiary procedure
	in Build_Predicate_Functions, to handle properly quantified
	expressions in dynamic predicates.

From-SVN: r217850
2014-11-20 12:55:37 +01:00
Vincent Celier bfe25016e3 re PR target/47500 (-G0 option not recognized by gnat1)
2014-11-20  Vincent Celier  <celier@adacore.com>

	PR ada/47500
	* back_end.adb (Scan_Back_End_Switches): Skip switch -G and
	its argument.

From-SVN: r217849
2014-11-20 12:55:25 +01:00
Arnaud Charlet 5073ad7a64 [multiple changes]
2014-11-20  Robert Dewar  <dewar@adacore.com>

	* gnatcmd.adb, sem_ch6.adb, exp_dist.adb: Minor reformatting.
	* sem_util.adb (Bad_Unordered_Enumeration_Reference): Suppress
	warning (return False) for generic type.

2014-11-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_res.adb (Appears_In_Check): Removed.
	(Is_OK_Volatile_Context): Rewrite the checks which verify that
	an effectively volatile object subject to enabled properties
	Async_Writers or Effective_Reads appears in a suitable context to
	properly recognize a procedure call.
	(Within_Check): New routine.
	(Within_Procedure_Call): New routine.

From-SVN: r217848
2014-11-20 12:52:08 +01:00
Ed Schonberg bc5e261c09 sem_ch6.adb: Improve better error message.
2014-11-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb: Improve better error message.

From-SVN: r217847
2014-11-20 12:49:43 +01:00
Arnaud Charlet 35e7063a98 [multiple changes]
2014-11-20  Thomas Quinot  <quinot@adacore.com>

	* freeze.adb, sem_ch13.adb: Minor editing.

2014-11-20  Vincent Celier  <celier@adacore.com>

	* gnatcmd.adb: Remove any special processing for the ASIS tools
	(gnatpp, gnatmetric, gnatcheck, gnatelim and gnatstup) and simply
	invoke the tool with the provided switches and arguments.

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Expression_Function): Reject declaration
	of expression function with identical profile as previous
	expression function.

From-SVN: r217846
2014-11-20 12:45:28 +01:00
Thomas Quinot 8b64ed4caa sem_ch13.adb: Complete previous change.
2014-11-20  Thomas Quinot  <quinot@adacore.com>

	* sem_ch13.adb: Complete previous change.
	* exp_dist.adb, exp_dist.ads: Rework PolyORB/DSA arguments processing
	circuitry to correctly handle the case of non-private limited
	unconstrained formals.

From-SVN: r217845
2014-11-20 12:39:44 +01:00
Arnaud Charlet 5e9d6f05dd [multiple changes]
2014-11-20  Robert Dewar  <dewar@adacore.com>

	* freeze.adb, exp_dbug.adb, sem_ch13.adb: Minor reformatting.

2014-11-20  Thomas Quinot  <quinot@adacore.com>

	* einfo.ads: Fix minor typo in comment.

From-SVN: r217844
2014-11-20 12:37:33 +01:00
Arnaud Charlet 73e5aa55f9 Minor reformatting.
From-SVN: r217843
2014-11-20 12:34:34 +01:00
Arnaud Charlet eefd2467a6 [multiple changes]
2014-11-20  Robert Dewar  <dewar@adacore.com>

	* inline.adb, sem_util.adb: Minor reformatting.

2014-11-20  Pierre-Marie Derodat  <derodat@adacore.com>

	* uintp.h (UI_Eq): Declare.
	* urealp.h (Norm_Den): Declare.
	(Norm_Num): Declare.
	* exp_dbug.adb (Is_Handled_Scale_Factor): New.
	(Get_Encoded_Name): Do not output ___XF GNAT encodings
	for fixed-point types when these can be handled by GCC's DWARF
	back-end.

2014-11-20  Thomas Quinot  <quinot@adacore.com>

	* sem_ch13.db (Inherit_Aspects_At_Freeze_Point): Inherit parent
	SSO even if set through a pragma Default_Scalar_Storage_Order.
	* freeze.adb (Set_SSO_From_Default): For a type extension,
	do not let the default SSO override the parent SSO.
	* gnat_rm.texi: document the above

From-SVN: r217842
2014-11-20 12:34:09 +01:00
Arnaud Charlet 697b781a68 [multiple changes]
2014-11-20  Robert Dewar  <dewar@adacore.com>

	* a-stream.ads, a-reatim.ads, a-calend.ads, sinfo.ads, s-crtl.ads,
	interfac.ads, s-taskin.ads: Minor reformatting.

2014-11-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Pragma): Extensions_Visible can now
	apply to an expression function.
	* sem_util.adb (Extensions_Visible_Status): Add special processing
	for expression functions.

2014-11-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* inline.adb (Build_Body_To_Inline): Remove meaningless aspects
	and pragmas.
	(Generate_Subprogram_Body): Remove meaningless aspects and pragmas.
	(Remove_Aspects_And_Pragmas): New routine.
	(Remove_Pragmas): Removed.
	* namet.ads, namet.adb (Nam_In): New versions of the routine.

From-SVN: r217841
2014-11-20 12:28:12 +01:00
Arnaud Charlet 39f0fa29d0 [multiple changes]
2014-11-20  Thomas Quinot  <quinot@adacore.com>

	* sem_util.adb: Minor reformatting.

2014-11-20  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (Analyze_Pragma, case Linker_Section): Detect
	duplicate Linker_Section.

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch4.adb: Add guard for build-in-place boolean op.

2014-11-20  Yannick Moy  <moy@adacore.com>

	* checks.adb (Apply_Scalar_Range_Check): In GNATprove mode,
	put a range check when an empty range is used, instead of an
	error message.
	* sinfo.ads Update comment on GNATprove mode.

2014-11-20  Arnaud Charlet  <charlet@adacore.com>

	* a-stream.ads, s-osinte-linux.ads, a-reatim.ads, a-calend.ads,
	s-crtl.ads, interfac.ads, s-taskin.ads: Replace uses of 2 ** 63 and
	2 ** 64 by references to Long_Long_Integer instead, to allow these
	units to be analyzed by codepeer or spark when using a target
	configuration file with long_long_size set to 32.

From-SVN: r217840
2014-11-20 12:24:51 +01:00
Hristian Kirtchev a18d0b1580 sem_util.adb (Extensions_Visible_Status): Modify the logic to account for non-SPARK code.
2014-11-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_util.adb (Extensions_Visible_Status): Modify the logic to account
	for non-SPARK code.
	(Object_Access_Level): In ASIS mode, recognize
	a selected component with an implicit dereference so that it
	yields the same value with and without expansion.

From-SVN: r217839
2014-11-20 12:21:41 +01:00
Arnaud Charlet 5fde9688e0 [multiple changes]
2014-11-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb (Analyze_Pragma, case Implemented): In ASIS
	(compile-only) mode, use original type declaration to determine
	whether protected type implements an interface.

2014-11-20  Yannick Moy  <moy@adacore.com>

	* a-cfdlli.adb, a-cfdlli.ads, a-cfinve.adb, a-cfinve.ads,
	* a-cofove.adb, a-cofove.ads: Mark spec as SPARK_Mode, and private
	part/body as SPARK_Mode Off.
	* a-cfhama.adb, a-cfhama.ads, a-cfhase.adb, a-cfhase.ads,
	* a-cforma.adb, a-cforma.ads, a-cforse.adb, a-cforse.ads: Use
	aspect instead of pragma for uniformity.

2014-11-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_util.adb (Is_EVF_Expression): Include
	attributes 'Loop_Entry, 'Old and 'Update to the logic.

2014-11-20  Bob Duff  <duff@adacore.com>

	* sem_res.adb (Make_Call_Into_Operator): Don't
	call Left_Opnd in the case of unary operators, because they only
	have Right.

From-SVN: r217838
2014-11-20 12:16:44 +01:00
Arnaud Charlet 6c802906a3 [multiple changes]
2014-11-20  Pascal Obry  <obry@adacore.com>

	* initialize.c (ProcListCS): New extern variable (critical section).
	(ProcListEvt): New extern variable (handle).
	(__gnat_initialize)[Win32]: Initialize the ProcListCS critical
	section object and the ProcListEvt event.
	* final.c (__gnat_finalize)[Win32]: Properly finalize the
	ProcListCS critical section and the ProcListEvt event.
	* adaint.c (ProcListEvt): New Win32 event handle.
	(EnterCS): New routine to enter the critical section when dealing with
	child processes chain list.
	(LeaveCS): As above to exit from the critical section.
	(SignalListChanged): Routine to signal that the chain process list has
	been updated.
	(add_handle): Use EnterCS/LeaveCS, also call SignalListChanged when the
	handle has been added.
	(__gnat_win32_remove_handle): Use EnterCS/LeaveCS,
	also call SignalListChanged if the handle has been found and removed.
	(remove_handle): Routine removed, implementation merged with the above.
	(win32_wait): Use EnterCS/LeaveCS for the critical section. Properly
	copy the PID list locally to ensure that even if the list is updated
	the local copy remains valid. Add into the hl (handle list) the
	ProcListEvt handle. This handle is used to signal that a change has
	been made into the process chain list. This is to ensure that a waiting
	call can be resumed to take into account new processes. We also make
	sure that if the handle was not found into the list we start over
	the wait call. Indeed another concurrent call to win32_wait()
	could already have handled this process.

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Resolve_Actuals): The legality rule concerning
	the use of class-wide actuals for a non-controlling formal are
	not rechecked in an instance.

2014-11-20  Pascal Obry  <obry@adacore.com>

	* g-dirope.ads: Minor typo fix.

2014-11-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference,
	Expand_Update_Attribute): Preserve the tag of a prefix by offering
	a specific view of the class-wide version of the prefix.

From-SVN: r217837
2014-11-20 12:13:40 +01:00
Arnaud Charlet 4b963531a1 [multiple changes]
2014-11-20  Javier Miranda  <miranda@adacore.com>

	* sem_ch6.adb (Analyze_Function_Return): For functions returning
	an access to an interface add an implicit conversion to the target
	type to force the displacement of the pointer to the object to
	reference the secondary dispatch table.
	(Check_Anonymous_Return): Skip internally built functions which handle
	the case of null access when locating the master of a task.
	* sem_res.adb (Valid_Conversion): Return true for internally
	generated conversions of access to interface types added to force
	the displacement of the pointer to reference the corresponding
	dispatch table.

2014-11-20  Pascal Obry  <obry@adacore.com>

	* adaint.c (add_handle): realloc with a size of +100.

From-SVN: r217836
2014-11-20 12:02:25 +01:00
Arnaud Charlet c05ba1f179 [multiple changes]
2014-11-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Make_Call_Into_Operator): In ASIS mode, propagate
	back the resolved operands to the original call node, taking
	into account that the original call may have named associations.

2014-11-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* inline.adb (Has_Some_Contract): Change the
	guard to test the Ekind of the entity rather than the Analyzed
	flag. This handles partially analyzed contexts.

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb (Analyze_Object_Renaming): In Ada 83 mode, do
	not reject the renaming of a function result if the renaming
	does not come for source.

2014-11-20  Robert Dewar  <dewar@adacore.com>

	* exp_util.ads: Minor addition of ??? clause.

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Is_Variable): For an Ada 2012 implicit
	dereference introduced for an indexing opertion, check that the
	type of the corresponding access discriminant is not an access
	to constant.

2014-11-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch6.adb (Find_Corresponding_Spec): Inherit
	the ghostness of the matching spec, the same way convention
	is inherited.

From-SVN: r217835
2014-11-20 12:00:44 +01:00
Eric Botcazou 4a0a5d5fc1 sem_ch3.adb (Analyze_Object_Declaration): Swap a couple of tests in a condition so Following_Address_Clause is invoked...
2014-11-20  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch3.adb (Analyze_Object_Declaration): Swap a couple of
	tests in a condition so Following_Address_Clause is invoked
	only if need be.
	* exp_util.ads (Following_Address_Clause): Add small note.

From-SVN: r217834
2014-11-20 11:56:01 +01:00