Commit Graph

134434 Commits

Author SHA1 Message Date
Ville Voutilainen
75bda2e813 re PR c++/63959 (G++ misreports volatile int as trivially copyable)
PR c++/63959
	* tree.c (trivially_copyable_p): Check for CP_TYPE_VOLATILE_P.

From-SVN: r217893
2014-11-20 16:51:04 -05:00
Marek Polacek
e7ea147586 * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Fix typo.
From-SVN: r217892
2014-11-20 20:56:23 +00:00
Andrew Stubbs
4806772429 Warn on undefined loop exit.
2014-11-20  Andrew Stubbs  <ams@codesourcery.com>

	gcc/
	* tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Warn if a loop
	condition would be removed due to undefined behaviour.

	gcc/testsuite/
	* gcc.dg/undefined-loop-1.c: New file.
	* gcc.dg/undefined-loop-2.c: New file.

From-SVN: r217891
2014-11-20 20:22:54 +00:00
Andrew Pinski
ea6a433c6c re PR target/63981 (some C++ tests fail with -mabi=ilp32 on aarch64 (with -O2 and above))
2014-11-20  Andrew Pinski  <apinski@cavium.com>

        PR ipa/63981
        PR ipa/63982
        * ipa-polymorphic-call.c (possible_placement_new):
        Use POINTER_SIZE instead of GET_MODE_BITSIZE (Pmode).
        (ipa_polymorphic_call_context::restrict_to_inner_class): Likewise.
        (extr_type_from_vtbl_ptr_store): Likewise.

From-SVN: r217889
2014-11-20 09:14:09 -08:00
Andrew Pinski
b30df7b6cb re PR target/63981 (some C++ tests fail with -mabi=ilp32 on aarch64 (with -O2 and above))
2014-11-20  Andrew Pinski  <apinski@cavium.com>

        PR ipa/63981
        * ipa-polymorphic-call.c (possible_placement_new):
        Use POINTER_SIZE instead of GET_MODE_BITSIZE (Pmode).
        (ipa_polymorphic_call_context::restrict_to_inner_class): Likewise.
        (extr_type_from_vtbl_ptr_store): Likewise.

From-SVN: r217888
2014-11-20 09:12:02 -08:00
Markus Trippelsdorf
d7ca26e416 PR63426 Fix various signed integer overflows
Running the testsuite after bootstrap-ubsan on gcc112 shows several issues. See
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63426 for the full list.

This patch fixes several of them.

2014-11-20  Markus Trippelsdorf  <markus@trippelsdorf.de>

	* config/rs6000/constraints.md: Avoid signed integer overflows.
	* config/rs6000/predicates.md: Likewise.
	* config/rs6000/rs6000.c (num_insns_constant_wide): Likewise.
	(includes_rldic_lshift_p): Likewise.
	(includes_rldicr_lshift_p): Likewise.
	* emit-rtl.c (const_wide_int_htab_hash): Likewise.
	* loop-iv.c (determine_max_iter): Likewise.
	(iv_number_of_iterations): Likewise.
	* tree-ssa-loop-ivopts.c (get_computation_cost_at): Likewise.
	* varasm.c (get_section_anchor): Likewise.

From-SVN: r217886
2014-11-20 16:36:14 +00:00
Charles Baylis
46ed60245a re PR target/63870 ([Aarch64] [ARM] Errors in use of NEON intrinsics are reported incorrectly)
PR target/63870
        * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args): Pass
        expression to aarch64_simd_lane_bounds.
        * config/aarch64/aarch64-protos.h (aarch64_simd_lane_bounds): Update
        prototype.
        * config/aarch64/aarch64-simd.md: (aarch64_combinez<mode>): Update
        call to aarch64_simd_lane_bounds.
        (aarch64_get_lanedi): Likewise.
        (aarch64_ld2_lane<mode>): Likewise.
        (aarch64_ld3_lane<mode>): Likewise.
        (aarch64_ld4_lane<mode>): Likewise.
        (aarch64_im_lane_boundsi): Likewise.
        * config/aarch64/aarch64.c (aarch64_simd_lane_bounds): Add exp
        parameter. Report calling function in error message if exp is non-NULL.

From-SVN: r217885
2014-11-20 16:26:54 +00:00
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