Commit Graph

131164 Commits

Author SHA1 Message Date
Arnaud Charlet
783d035ba7 [multiple changes]
2014-07-18  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Remove note that -gnatR not allowed with -gnatc.
	* switch-c.adb: Remove prohibition of -gnatR and -gnatc together.

2014-07-18  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch13.adb (Kill_Rep_Clause): Clear Comes_From_Source flag
	on the null statement.

2014-07-18  Thomas Quinot  <quinot@adacore.com>

	* adaint.c: Minor comment rewording.
	* socket.c: Define macros _REENTRANT and _THREAD_SAFE so that
	use of errno in this file is thread safe.

From-SVN: r212791
2014-07-18 11:37:41 +02:00
Arnaud Charlet
39678b1cce [multiple changes]
2014-07-18  Arnaud Charlet  <charlet@adacore.com>

	* gnat_ugn.texi: Doc clarification.
	* sem_ch13.adb (Kill_Rep_Clause): Use Replace not Rewrite.
	* sem_ch13.ads: Minor comment update.

2014-07-18  Robert Dewar  <dewar@adacore.com>

	* repinfo.ads: Minor comment fix.

2014-07-18  Robert Dewar  <dewar@adacore.com>

	* par-prag.adb: Add dummy entry for Default_Scalar_Storage_Order.
	* sem_prag.adb: Add dummy implementation of
	Default_Scalar_Storage_Order.
	* snames.ads-tmpl: Add dummy entry for
	Default_Scalar_Storage_Order pragma.

2014-07-18  Robert Dewar  <dewar@adacore.com>

	* opt.adb (Tree_Read): Read Address_Is_Private,
	Ignore_Rep_Clauses, Ignore_Style_Check_Pragmas, Multiple_Unit_Index.
	(Tree_Write): Corresponding writes
	* opt.ads: Minor comment reformatting and fixes.
	* tree_io.ads: Increment ASIS_Version_Number.

From-SVN: r212790
2014-07-18 11:36:24 +02:00
Robert Dewar
cf28c974d4 sem_attr.adb, [...]: Minor reformatting.
2014-07-18  Robert Dewar  <dewar@adacore.com>

	* sem_attr.adb, s-os_lib.ads, prj-tree.adb: Minor reformatting.
	* types.h: Fix typo.

2014-07-18  Robert Dewar  <dewar@adacore.com>

	* freeze.adb (Check_Address_Clause): Use Kill_Rep_Clause (no
	functional change).
	* gnat_ugn.texi: Document that -gnatI removes rep clauses from
	ASIS trees.
	* sem_ch13.adb (Kill_Rep_Clause): New procedure
	(Analyze_Attribute_Definition_Clause): Use
	Kill_Rep_Clause. This is just a cleanup, no functional effect.
	(Analyze_Enumeration_Representation_Clause):
	Use Kill_Rep_Clause. This means that enum rep
	clauses are now properly removed from -gnatct trees.
	(Analyze_Record_Representation_Clause): Same change.
	* sem_ch13.ads (Kill_Rep_Clause): New procedure.

From-SVN: r212789
2014-07-18 11:34:17 +02:00
Pascal Obry
c3d01e19a3 s-os_lib.ads, [...] (GM_Time_Of): New routine to create an OS_Time from time parts.
2014-07-18  Pascal Obry  <obry@adacore.com>

	* s-os_lib.ads, s-os_lib.adb (GM_Time_Of): New routine to create an
	OS_Time from time parts.
	* adaint.h, adaint.c (__gnat_to_os_time): New routine.

From-SVN: r212788
2014-07-18 11:31:36 +02:00
Arnaud Charlet
6907542db4 [multiple changes]
2014-07-18  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb (Try_Container_Indexing): Refine previous patch for
	indexing over containers that are derived types: check whether
	signature of found operation has the correct first parameter
	before retrieving directly a primitive operation.

2014-07-18  Ed Schonberg  <schonberg@adacore.com>

	* sem_attr.adb (Analyze_Attribute, case 'Update): Set
	Do_Range_Check flag on dynamic bounds of a range used in a
	component association in the argument of Update.

2014-07-18  Thomas Quinot  <quinot@adacore.com>

	* adaint.c: #define _REENTRANT and _THREAD_SAFE in order for
	accesses to errno(3) to be thread safe.

2014-07-18  Vincent Celier  <celier@adacore.com>

	* prj-tree.adb (Imported_Or_Extended_Project_Of): For each non
	limited imported project that is an extending project, return
	a project being extended if it has the expected name.

2014-07-18  Pascal Obry  <obry@adacore.com>

	* s-os_lib.ads, s-os_lib.adb (Set_File_Last_Modify_Time_Stamp): New
	routine to set the last modification time stamp for the given file.
	* gnatchop.adb (File_Time_Stamp): Removed.
	(Write_Unit): Use
	Set_File_Last_Modify_Time_Stamp instead of ad-hoc implementation.

From-SVN: r212787
2014-07-18 11:29:54 +02:00
Ed Schonberg
3f433bc07e sem_aggr.adb (Aggregate_Constraint_Checks): Moved to sem_util.
2014-07-18  Ed Schonberg  <schonberg@adacore.com>

	* sem_aggr.adb (Aggregate_Constraint_Checks): Moved to sem_util.
	* sem_util.ads, sem_util.adb (Aggregate_Constraint_Checks):
	Moved here, so it can be shared with the resolution of 'Update,
	whose argument shares some features with aggregates.
	* sem_attr.adb (Resolve_Attribute, case 'Update): Apply
	Aggregate_Constraint_Checks with the expression of each
	association, so that the Do_Range_Check flag is set when needed.

2014-07-18  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb (Try_Container_Indexing):  If the container
	type is a derived type, the value of the inherited  aspect is
	the Reference operation declared for the parent type. However,
	Reference is also a primitive operation of the new type, and
	the inherited operation has a different signature. We retrieve
	the right one from the list of primitive operations of the
	derived type.

From-SVN: r212786
2014-07-18 11:27:00 +02:00
Arnaud Charlet
0439c912c3 [multiple changes]
2014-07-18  Vincent Celier  <celier@adacore.com>

	* debug.adb: Update comment.

2014-07-18  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb (Needs_Finalization): There is no reason why a
	C type should not benefit from finalization actions.

2014-07-18  Thomas Quinot  <quinot@adacore.com>

	* s-oscons-tmplt.c (NAME_MAX): Fix definition for Solaris
	(FILENAME_MAX): Remove unneeded definition.

From-SVN: r212785
2014-07-18 11:25:40 +02:00
Robert Dewar
5b89faafa8 exp_attr.adb, debug.adb: Update comments.
2014-07-18  Robert Dewar  <dewar@adacore.com>

	* exp_attr.adb, debug.adb: Update comments.

From-SVN: r212784
2014-07-18 11:24:26 +02:00
Arnaud Charlet
c7a7f405b3 [multiple changes]
2014-07-18  Vincent Celier  <celier@adacore.com>

	* par-ch4.adb (Simple_Expression): Add missing style check
	for binary adding operators.
	(Term): Add missing style check for multiplying operators.

2014-07-18  Robert Dewar  <dewar@adacore.com>

	* impunit.adb: Minor comment correction.
	* widechar.adb, s-wchcon.ads: Minor comment corrections.

From-SVN: r212783
2014-07-18 11:23:28 +02:00
Arnaud Charlet
baa571ab78 [multiple changes]
2014-07-18  Robert Dewar  <dewar@adacore.com>

	* sem_ch13.adb (Build_Discrete_Static_Predicate): New name
	for Build_Static_Predicate (Build_Predicate_Functions):
	Don't try to build discrete predicate for real type.
	(Build_Predicate_Functions): Report attempt to use
	Static_Predicate function on real type as unimplemented.
	* sem_util.adb (Check_Expression_Against_Static_Predicate):
	Add guard to prevent blow up on predicate for real type.

2014-07-18  Ed Schonberg  <schonberg@adacore.com>

	* einfo.adb (Set_Static_Predicate): Simplify assertion to handle
	properly static predicate on enumeration types and modular types
	(not subtypes).

2014-07-18  Pierre-Marie Derodat  <derodat@adacore.com>

	* scos.ads (SCO_Unit_Table_Entry): Add a field to keep track of
	the corresponding source file index.
	* get_scos.ads (Get_SCOs): Add a default value for it.
	* par_sco.adb (SCO_Record): Fill the corresponding value.
	* scos.h: New.

2014-07-18  Vincent Celier  <celier@adacore.com>

	* a-strunb-shared.adb, s-auxdec.ads, s-rannum.adb, atree.ads,
	urealp.adb, vms_data.ads, lib.ads, s-auxdec-vms_64.ads: Minor
	reformatting.
	* gnat_ugn.texi: Add documentation for new gnatmem switch -t.

2014-07-18  Thomas Quinot  <quinot@adacore.com>

	* g-sercom.ads (Set): document possible data loss.

2014-07-18  Ed Schonberg  <schonberg@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference, cases Input,
	Output, Read, Write): If the restriction No_Streams is active,
	replace each occurrence of a stream attribute by an explicit
	Raise statement.

From-SVN: r212782
2014-07-18 11:20:28 +02:00
Robert Dewar
fc999c5d2e par_sco.adb, [...]: Minor reformatting.
2014-07-18  Robert Dewar  <dewar@adacore.com>

	* par_sco.adb, a-reatim.ads, exp_attr.adb, sem_util.adb: Minor
	reformatting.

2014-07-18  Robert Dewar  <dewar@adacore.com>

	* einfo.ads, einfo.adb (Has_Out_Or_In_Out_Parameter): New flag and
	function.
	(Set_Has_Out_Or_In_Out_Parameter): New procedure.
	* sem_ch6.adb (Set_Formal_Mode): Set Has_Out_Or_In_Out_Parameter flag.
	* sem_res.adb (Resolve_Call): Error if call of Ada 2012 function
	with OUT or IN OUT from earlier Ada mode (e.g. Ada 2005)

From-SVN: r212780
2014-07-18 11:14:14 +02:00
Arnaud Charlet
b3b26ace90 [multiple changes]
2014-07-18  Robert Dewar  <dewar@adacore.com>

	* bcheck.adb (Check_Consistent_Restrictions):
	Remove obsolete code checking for violation of
	No_Standard_Allocators_After_Elaboration (main program)
	* bindgen.adb (Gen_Adainit): Handle
	No_Standard_Allocators_After_Elaboration
	(Gen_Output_File_Ada): ditto.
	* exp_ch4.adb (Expand_N_Allocator): Handle
	No_Standard_Allocators_After_Elaboration.
	* Makefile.rtl: Add entry for s-elaall
	* rtsfind.ads: Add entry for Check_Standard_Allocator.
	* s-elaall.ads, s-elaall.adb: New files.
	* sem_ch4.adb (Analyze_Allocator): Handle
	No_Standard_Allocators_After_Elaboration.

2014-07-18  Robert Dewar  <dewar@adacore.com>

	* lib.adb, lib.ads, lib-writ.adb, lib-writ.ads, ali.adb,
	ali.ads, lib-load.adb: Remove Lib.Has_Allocator and all uses.
	Remove AB parameter from ali files and all uses.
	Remove Allocator_In_Body and all uses.

2014-07-18  Robert Dewar  <dewar@adacore.com>

	* g-expect-vms.adb: Add comment.

2014-07-18  Thomas Quinot  <quinot@adacore.com>

	* par_sco.adb (Is_Logical_Operation): return True for
	N_If_Expression.

2014-07-18  Ed Schonberg  <schonberg@adacore.com>

	* sem_attr.adb (Resolve_Attribute, case 'Update): Do full
	analysis and resolution of each choice in the associations within
	the argument of Update, because they may be variable names.

2014-07-18  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_attr.adb (Expand_Loop_Entry_Attribute): Insert any condition
	actions before the generated if statement.

2014-07-18  Hristian Kirtchev  <kirtchev@adacore.com>

	* gnat_ugn.texi Enhance the documentation of
	switches -gnateA and -gnateV.

2014-07-18  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Build_Default_Subtype): Add missing condition
	so that code matches description: use the full view of the base
	only if the base is private and the subtype is not.

From-SVN: r212779
2014-07-18 11:05:04 +02:00
Uros Bizjak
537b531270 configure.tgt (alpha*): Add -mfp-trap-mode=sui to XCFLAGS.
* configure.tgt (alpha*): Add -mfp-trap-mode=sui to XCFLAGS.

From-SVN: r212778
2014-07-18 08:34:20 +02:00
Jan-Benedict Glaw
3caa58223c Move ChangeLog entry to the correct file
From-SVN: r212777
2014-07-18 01:59:03 +00:00
Jan-Benedict Glaw
45befa6e92 mmix.c (mmix_intval): Drop unused automatic variable.
2014-07-18  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* config/mmix/mmix.c (mmix_intval): Drop unused automatic variable.

From-SVN: r212776
2014-07-18 01:57:18 +00:00
GCC Administrator
d8688307cf Daily bump.
From-SVN: r212774
2014-07-18 00:16:52 +00:00
John David Anglin
03cb409757 pa-linux.h (TARGET_OS_CPP_BUILTINS): Remove defines for __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1...
* config/pa/pa-linux.h (TARGET_OS_CPP_BUILTINS): Remove defines for
	__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1, __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2
	and __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
	(HAVE_sync_compare_and_swapqi): Define.
	(HAVE_sync_compare_and_swaphi): Likewise.
	(HAVE_sync_compare_and_swapsi): Likewise.

From-SVN: r212770
2014-07-17 23:44:57 +00:00
John David Anglin
a41370902e linux-atomic.c (__sync_lock_release_4): New.
* config/pa/linux-atomic.c (__sync_lock_release_4): New.
	(SYNC_LOCK_RELEASE): Update to use __kernel_cmpxchg for release.
	Don't use SYNC_LOCK_RELEASE for int type.

From-SVN: r212767
2014-07-17 23:18:50 +00:00
Richard Sandiford
1435fa485e p5600.md: Add missing cpu tests.
gcc/
	* config/mips/p5600.md: Add missing cpu tests.

From-SVN: r212765
2014-07-17 20:17:21 +00:00
Richard Sandiford
13caea3d9d umips-lwp-1.c (foo): Use a shift/add sequence involving both inputs rather than a multiplication...
gcc/testsuite/
	* gcc.target/mips/umips-lwp-1.c (foo): Use a shift/add sequence
	involving both inputs rather than a multiplication involving one.
	* gcc.target/mips/umips-lwp-2.c (foo): Likewise.
	* gcc.target/mips/umips-lwp-3.c (foo): Likewise.
	* gcc.target/mips/umips-lwp-4.c (foo): Likewise.

From-SVN: r212763
2014-07-17 19:36:17 +00:00
Paolo Carlini
835dee55a1 re PR c++/50961 (Fails to decay template function properly(?))
/cp
2014-07-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50961
	* call.c (standard_conversion): Use resolve_nondeduced_context
	for type_unknown_p (EXPR) && TREE_CODE (TO) == BOOLEAN_TYPE.

/testsuite
2014-07-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50961
	* g++.dg/template/operator13.C: New.

From-SVN: r212760
2014-07-17 16:22:19 +00:00
Roman Gareev
37738b0fe4 configure.ac: Don't accept isl 0.11.
* configure.ac: Don't accept isl 0.11.
	* configure: Regenerate.

From-SVN: r212758
2014-07-17 15:09:40 +00:00
Kyrylo Tkachov
1f960cedea [AArch64] Implement vfma_f64, vmla_f64, vfms_f64, vmls_f64 intrinsics.
[gcc/]
	* config/aarch64/arm_neon.h (vfma_f64): New intrinsic.
	(vmla_f64): Likewise.
	(vfms_f64): Likewise.
	(vmls_f64): Likewise.

[testsuite/]
	* gcc.target/aarch64/simd/vfma_f64.c: New test.
	* gcc.target/aarch64/simd/vmla_f64.c: Likewise.
	* gcc.target/aarch64/simd/vfms_f64.c: Likewise.
	* gcc.target/aarch64/simd/vmls_f64.c: Likewise.

From-SVN: r212756
2014-07-17 10:56:53 +00:00
Max Ostapenko
0d89417096 bounds-2.c: Change output pattern.
gcc/testsuite/
2014-07-17  Max Ostapenko  <m.ostapenko@partner.samsung.com>

	* c-c++-common/ubsan/bounds-2.c: Change output pattern.
	* c-c++-common/ubsan/bounds-5.c: Likewise.
	* c-c++-common/ubsan/bounds-6.c: Likewise.
	* c-c++-common/ubsan/bounds-7.c: Likewise.
	* c-c++-common/ubsan/float-cast-overflow-1.c: Likewise.
	* c-c++-common/ubsan/float-cast-overflow-10.c: Likewise.
	* c-c++-common/ubsan/float-cast-overflow-2.c: Likewise.
	* c-c++-common/ubsan/float-cast-overflow-3.c: Likewise.
	* c-c++-common/ubsan/float-cast-overflow-4.c: Likewise.
	* c-c++-common/ubsan/float-cast-overflow-5.c: Likewise.
	* c-c++-common/ubsan/float-cast-overflow-6.c: Likewise.
	* c-c++-common/ubsan/float-cast-overflow-8.c: Likewise.
	* gcc.dg/ubsan/float-cast-overflow-bf.c: Likewise.
	* g++.dg/ubsan/float-cast-overflow-bf.C: Likewise.

From-SVN: r212755
2014-07-17 13:50:25 +03:00
Kyrylo Tkachov
6ffb7ba3b4 [AArch64][tests] Mark vca*_f* tests variable as volatile.
* gcc.target/aarch64/simd/vcaled_f64.c: Mark expected value volatile.
	* gcc.target/aarch64/simd/vcales_f32.c: Likewise.
	* gcc.target/aarch64/simd/vcaltd_f64.c: Likewise.
	* gcc.target/aarch64/simd/vcalts_f32.c: Likewise.

From-SVN: r212754
2014-07-17 10:40:06 +00:00
Kyrylo Tkachov
61263118ae [AArch64] Handle fcvta[su] and frint in RTX cost function.
* config/aarch64/aarch64.c (aarch64_frint_unspec_p): New function.
	(aarch64_rtx_costs): Handle FIX, UNSIGNED_FIX, UNSPEC.

From-SVN: r212753
2014-07-17 10:37:48 +00:00
Kyrylo Tkachov
ec45448361 [AArch64] Fix argument types for some high_lane* intrinsics implemented in assembly.
* config/aarch64/arm_neon.h (vmlal_high_lane_s16): Fix type.
	(vmlal_high_lane_s32): Likewise.
	(vmlal_high_lane_u16): Likewise.
	(vmlal_high_lane_u32): Likewise.
	(vmlsl_high_lane_s16): Likewise.
	(vmlsl_high_lane_s32): Likewise.
	(vmlsl_high_lane_u16): Likewise.
	(vmlsl_high_lane_u32): Likewise.

From-SVN: r212752
2014-07-17 10:35:26 +00:00
Terry Guo
1d61feeb99 types.md (alu_reg): Replaced by alu_sreg and alu_dsp_reg.
2014-07-17  Terry Guo  <terry.guo@arm.com>

	* config/arm/types.md (alu_reg): Replaced by alu_sreg and alu_dsp_reg.
	(alus_reg): Renamed to alus_sreg.
	* config/arm/arm-fixed.md: Change type of non-dsp instructions
	from alu_reg to alu_sreg.  Change type of dsp instructions from
	alu_reg to alu_dsp_reg.
	* config/arm/thumb1.md: Likewise.
	* config/arm/thumb2.md: Likewise.
	* config/arm/arm.c (cortexa7_older_only): Use new ALU type names.
	* config/arm/arm1020e.md (1020alu_op): Replace alu_reg and alus_reg
	with alu_sreg and alus_sreg.
	* config/arm/arm1026ejs.md (alu_op): Likewise.
	* config/arm/arm1136jfs.md (11_alu_op): Likewise.
	* config/arm/arm926ejs.md (9_alu_op): Likewise.
	* config/arm/fa526.md (526_alu_op): Likewise.
	* config/arm/fa606te.md (606te_alu_op): Likewise.
	* config/arm/fa626te.md (626te_alu_op): Likewise.
	* config/arm/fa726te.md (726te_alu_op): Likewise.
	* config/arm/fmp626.md (mp626_alu_op): Likewise.
	* config/arm/arm.md (core_cycles): Replace alu_reg and alus_reg with
	alu_sreg, alu_dsp_reg and alus_sreg.     
	* config/arm/cortex-a15.md (cortex_a15_alu): Likewise.
	* config/arm/cortex-a5.md (cortex_a5_alu): Likewise.
	* config/arm/cortex-a53.md (cortex_a53_alu): Likewise.
	* config/arm/cortex-a7.md (cortex_a7_alu_sreg): Likewise.
	* config/arm/cortex-a8.md (cortex_a8_alu): Likewise.
	* config/arm/cortex-a9.md (cortex_a9_dp): Likewise.
	* config/arm/cortex-m4.md (cortex_m4_alu): Likewise.
	* config/arm/cortex-r4.md (cortex_r4_alu): Likewise.
	* config/arm/marvell-pj4.md (pj4_alu, pj4_alu_conds): Likewise.
	* config/aarch64/aarch64.md (*addsi3_aarch64, *addsi3_aarch64_uxtw,
	subsi3, *adddi3_aarch64, *subsi3_uxtw, subdi3, absdi2, neg<mode>2,
	*negsi2_uxtw, tlsle_small_<mode>): Rename type alu_reg to alu_sreg.     
	(add<mode>3_compare0, *addsi3_compare0_uxtw, *add<mode>3nr_compare0,
	sub<mode>3_compare0, *compare_neg<mode>, *neg<mode>2_compare0,
	subsi3_compare0_uxtw, *negsi2_compare0_uxtw, *cmp<mode>): Rename type 
	alus_reg to alus_sreg.

From-SVN: r212750
2014-07-17 10:10:50 +00:00
Uros Bizjak
72b9a00b9a c11-atomic-exec-5.c (dg-additional-options): Use -mfp-trap-mode=sui instead of -miee-with-inexact for alpha*-*-*.
* gcc.dg/atomic/c11-atomic-exec-5.c (dg-additional-options): Use
	-mfp-trap-mode=sui instead of -miee-with-inexact for alpha*-*-*.
	* gfortran.dg/ieee/ieee_1.F90 (dg-additional-options): Ditto.

From-SVN: r212748
2014-07-17 11:11:19 +02:00
Andreas Schwab
4b1d78b48a Summary: Generate canonical infinity for the Motorola extended real format
* real.c (encode_ieee_extended_motorola): Clear integer bit in the
infinity format.

From-SVN: r212744
2014-07-17 08:40:15 +00:00
Paolo Carlini
cfe309a158 re PR c++/61804 (rejects-valid if parenthesized temporary is incremented)
/cp
2014-07-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/61804
	* parser.c (cp_parser_tokens_start_cast_expression): Return -1
	for '++' and '--'.

/testsuite
2014-07-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/61804
	* g++.dg/parse/pr61804.C: New.

From-SVN: r212743
2014-07-17 08:32:18 +00:00
Richard Biener
bf95b6295c re PR rtl-optimization/61801 (sched2 miscompiles syscall sequence with -g)
2014-07-17  Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/61801
	* sched-deps.c (sched_analyze_2): For ASM_OPERANDS and
	ASM_INPUT don't set reg_pending_barrier if it appears in a
	debug-insn.

From-SVN: r212738
2014-07-17 07:47:19 +00:00
Arnaud Charlet
6782b1ef34 [multiple changes]
2014-07-17  Gary Dismukes  <dismukes@adacore.com>

	* exp_disp.adb: Minor reformatting.
	* exp_disp.adb: Minor code reorganization.

2014-07-17  Thomas Quinot  <quinot@adacore.com>

	* gnat_rm.texi, freeze.adb (Check_Component_Storage_Order): Do not
	require an explicit SSO attribute definition clause on a composite type
	just because one of its components has one.

2014-07-17  Robert Dewar  <dewar@adacore.com>

	* sem_attr.adb (Analyze_Attribute, case Loop_Entry): Rewrite
	attribute out of existence if the enclosing pragma is ignored.
	* sem_util.adb: Minor reformatting.

2014-07-17  Ed Schonberg  <schonberg@adacore.com>

	* exp_aggr.adb (Expand_Array_Aggregate): Handle properly an
	array aggregate expanded into assignments when it appears as a
	local declaration in an inlined body.

2014-07-17  Doug Rupp  <rupp@adacore.com>

	* init.c [__ANDROID__]: Modify for ZCX.
	* exp_aggr.adb: Minor reformatting
	* sigtramp-armvxw.c, sigtramp-ppcvxw.c: Update comments.

2014-07-17  Robert Dewar  <dewar@adacore.com>

	* a-strunb-shared.ads, a-stwiun-shared.ads, a-stzunb-shared.ads,
	exp_ch7.adb, g-pehage.ads, g-socket.ads, gnat_ugn.texi, gnat_ugx.texi,
	scng.adb: Remove incorrect usage "allow to" and "allows to".

2014-07-17  Robert Dewar  <dewar@adacore.com>

	* exp_dist.adb: Minor reformatting.

From-SVN: r212737
2014-07-17 09:27:38 +02:00
Arnaud Charlet
6ccdd97705 [multiple changes]
2014-07-17  Bob Duff  <duff@adacore.com>

	* gnat_ugn.texi: Improve documentation of Unrestricted_Access.

2014-07-17  Robert Dewar  <dewar@adacore.com>

	* sem_ch13.adb (Build_Invariant_Procedure): Add variable Nam
	(Add_Invariants): Set Nam to Name_Type_Invariant if from aspect.

2014-07-17  Thomas Quinot  <quinot@adacore.com>

	* exp_pakd.adb (Create_Packed_Array_Type.Install_PAT): For a
	non-bit-packed array, propagate Reverse_Storage_Order to the
	packed array type.

2014-07-17  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb: Fix comment.
	* exp_pakd.adb: Minor reformatting.

From-SVN: r212736
2014-07-17 09:06:05 +02:00
Robert Dewar
d8941160a5 bindgen.adb (Gen_Elab_Calls): Skip reference to elab entity if none exists (Gen_Elab_Calls): Complain if...
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* bindgen.adb (Gen_Elab_Calls): Skip reference to elab
	entity if none exists (Gen_Elab_Calls): Complain if clash with
	No_Multiple_Elaboration.
	* s-rident.ads, restrict.ads: Add restriction No_Multiple_Elaboration.
	* sem_util.adb (Build_Elaboration_Entity): Skip building entity
	if not needed.
	* gnat_rm.texi: Document restriction No_Multiple_Elaboration.
	* sem_ch4.adb: Minor comment updates.

From-SVN: r212735
2014-07-17 09:04:32 +02:00
Arnaud Charlet
bf561f2ba3 [multiple changes]
2014-07-17  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch9.adb (Buid_Protected_Subprogram_Call): Preserve type
	of function call for later use when shared passive objects
	are involved.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* par-ch13.adb (Get_Aspect_Specifications):
	Catch a case where the argument of SPARK aspect Refined_State
	is not properly parenthesized.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch6.adb (Expand_Ctrl_Function_Call): Do not extend
	the lifetime of a reference to an Ada 2012 container element.
	(Is_Element_Reference): New routine.

2014-07-17  Robert Dewar  <dewar@adacore.com>

	* ali.ads: Minor comment fix.
	* lib-writ.adb: Minor reformatting.

2014-07-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch10.adb (Analyze_Proper_Body): When analyzing a subunit
	in ASIS mode, load another subunit only if it a subunit of the
	current one, not a sibling that has been reached through the
	analysis of an ancestor. This allows the construction of the
	ASIS tree for the subunit even when sibling subunits have errors.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch3.adb (Analyze_Declarations): Remove the guard which
	prevents the analysis of various contracts when the associated
	construct is erroneous.
	* sem_util.adb (Save_SPARK_Mode_And_Set): Do not query the
	SPARK_Pragma of an illegal or a partially decorated construct.

From-SVN: r212734
2014-07-17 09:02:51 +02:00
Arnaud Charlet
8a5e4b2a8a [multiple changes]
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* s-imguns.ads: Minor reformatting.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Build_Finalization_Master): Move all local
	variables to the proper code section. When looking for an existing
	finalization master, inspect the ultimate ancestor type of the
	full view.
	* sem_util.ads, sem_util.adb (Root_Type_Of_Full_View): New routine.

From-SVN: r212733
2014-07-17 09:00:19 +02:00
Arnaud Charlet
52d9ba4d30 [multiple changes]
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* aspects.ads, aspects.adb: Add entries for aspect Annotate.
	* gnat_rm.texi: Document Entity argument for pragma Annotate and
	Annotate aspect.
	* sem_ch13.adb (Analyze_Aspect_Specification): Add processing
	for Annotate aspect.
	* sem_prag.adb (Analyze_Pragma, case Annotate): Allow optional
	Entity argument at end.
	* sinfo.ads (N_Aspect_Specification): Add note on Annotate aspect.

2014-07-17  Tristan Gingold  <gingold@adacore.com>

	* s-imguns.ads: Fix minor typo.

2014-07-17  Thomas Quinot  <quinot@adacore.com>

	* sprint.adb: Minor reformatting.

From-SVN: r212732
2014-07-17 08:58:11 +02:00
Arnaud Charlet
b16ffa3332 [multiple changes]
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* sprint.adb (Write_Itype): Print proper header for string
	literal subtype.

2014-07-17  Steve Baird  <baird@adacore.com>

	* sinfo.ads, sem_scil.ads: Improve comments, minor reformatting.

From-SVN: r212731
2014-07-17 08:56:06 +02:00
Arnaud Charlet
7b966a9546 [multiple changes]
2014-07-17  Vincent Celier  <celier@adacore.com>

	* gnatbind.adb: Change in message "try ... for more information".

2014-07-17  Robert Dewar  <dewar@adacore.com>

	* sprint.adb: Code clean up.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Find_Last_Init): Relocate local variables to
	the relevant code section. Add new local constant Obj_Id. When
	a limited controlled object is initialized by a function call,
	the build-in-place object access function call acts as the last
	initialization statement.
	* exp_util.adb (Is_Object_Access_BIP_Func_Call): New routine.
	(Is_Secondary_Stack_BIP_Func_Call): Code reformatting.
	* exp_util.ads (Is_Object_Access_BIP_Func_Call): New routine.

2014-07-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb (Analyze_Generic_Renaming): For generic subprograms,
	propagate intrinsic flag to renamed entity, to allow e.g. renaming
	of Unchecked_Conversion.
	* sem_ch3.adb (Analyze_Declarations): Do not analyze contracts
	if the declaration has errors.

2014-07-17  Ed Schonberg  <schonberg@adacore.com>

	* a-rbtgbk.adb: a-rbtgbk.adb (Generic_Insert_Post): Check whether
	container is busy before checking whether capacity allows for
	a further insertion. Insertion in a busy container that is full
	raises Program_Error rather than Capacity_Error. Previous to that
	patch which exception was raised varied among container types.

From-SVN: r212730
2014-07-17 08:52:30 +02:00
Arnaud Charlet
44ccf4b458 [multiple changes]
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* g-comlin.ads, g-comlin.adb: Minor clean up.

2014-07-17  Bob Duff  <duff@adacore.com>

	* gnat_ugn.texi: Update gnatpp doc.

From-SVN: r212729
2014-07-17 08:49:11 +02:00
Arnaud Charlet
bb01279084 [multiple changes]
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Document new restriction No_Long_Long_Integers.
	* exp_ch4.adb (Make_Array_Comparison_Op): Add note that we
	could do this by actually expanding a real generic.
	* a-tags.ads: Add comments about performance.
	* sprint.adb (Sprint_Node_Actual, case N_Object_Declaration):
	Print Etype of defining identifier, rather than the object
	definition. More information.

2014-07-17  Thomas Quinot  <quinot@adacore.com>

	* exp_dist.adb: Minor documentation clarification.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb (Is_Aliased): Revert previous change.

2014-07-17  Vincent Celier  <celier@adacore.com>

	* g-comlin.adb (Try_Help): New procedure.
	(Getopt): Use new procedure Try_Help.
	* g-comlin.ads (Try_Help): New procedure.

2014-07-17  Bob Duff  <duff@adacore.com>

	* gnat_ugn.texi: Minor update.

From-SVN: r212728
2014-07-17 08:47:15 +02:00
Robert Dewar
ee10c0ec88 gnat_rm.texi: Improve documentation of Unrestricted_Access.
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Improve documentation of Unrestricted_Access.
	* sinfo.ads: Document restriction on aggregates (must expand to
	assignments if one or more assignments needs expansion, e.g. for
	controlled types).
	* sem_ch13.adb: All warning messages regarding bit order should
	be info: messages.
	* gnat_ugn.texi: Minor correction of missing @ on @code

2014-07-17  Robert Dewar  <dewar@adacore.com>

	* restrict.ads (Implementation_Restriction): Add No_Long_Long_Integer.
	* s-rident.ads (Partition_Boolean_Restrictions): Add
	No_Long_Long_Integer.
	* sem_ch3.adb (Modular_Type_Declaration): Size must be <=
	Long_Integer'Size if restriction No_Long_Long_Integer is active.
	(Signed_Integer_Type_Declaration): Do not allow Long_Long_Integer
	as the implicit base type for a signed integer type declaration
	if restriction No_Long_Long_Integer is active.
	* sem_util.ads, sem_util.adb (Set_Entity_With_Checks): Include check for
	No_Long_Long_Integer.

From-SVN: r212727
2014-07-17 08:40:45 +02:00
Robert Dewar
e80f0cb0b4 sem_ch3.adb, [...]: Remove the word kludge from ada sources.
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, a-ztexio.ads, exp_imgv.adb, casing.adb, casing.ads,
	einfo.ads, checks.adb, sem_ch12.adb, a-textio.ads, freeze.adb,
	repinfo.adb, exp_ch6.adb, sem_ch4.adb, a-witeio.ads, sem_ch8.adb,
	sem_warn.adb, exp_aggr.adb, exp_dist.adb, par-tchk.adb, s-fatgen.adb,
	treepr.adb, lib-xref.adb: Remove the word kludge from ada sources.

From-SVN: r212726
2014-07-17 08:37:45 +02:00
Robert Dewar
2bd67690e9 debug.adb: Remove -gnatdQ.
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* debug.adb: Remove -gnatdQ.
	* exp_disp.adb: Remove -gnatdQ.
	* a-ztenio.ads, a-wtinio.ads, a-wtmoio.ads, a-ztcoau.ads, a-tiinio.ads,
	a-wtfiio.ads, a-timoio.ads, sem_ch12.adb, a-tifiio.ads, a-ztinio.ads,
	rtsfind.adb, rtsfind.ads, a-ztmoio.ads, a-wtdeio.ads, a-ztfiio.ads,
	a-tideio.ads, a-wtflio.ads, a-ztdeio.ads, sem_ch8.adb, a-tiflio.ads,
	sprint.adb, a-ztflio.ads, snames.ads-tmpl, a-wtenio.ads,
	a-tienio.ads: Rename Text_IO_Kludge to Text_IO_Special_Unit.

From-SVN: r212725
2014-07-17 08:35:13 +02:00
Robert Dewar
59f4d03898 back_end.adb: Minor reformatting and comment additions.
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* back_end.adb: Minor reformatting and comment additions.
	* checks.ads, checks.adb (Duplicated_Tag_Checks_Suppressed): New
	function.
	* exp_disp.adb (Make_DT): Use Duplicated_Tag_Checks_Suppressed.
	(Make_VM_TSD): Use Duplicated_Tag_Checks_Suppressed.
	* gnat_rm.texi: Document new check Duplicated_Tag_Checks_Suppressed.
	* gnat_ugn.texi: Additional documentation for Duplicated_Tag_Check.
	* snames.ads-tmpl (Duplicated_Tag_Checks_Suppressed): New check.
	* types.ads (Duplicated_Tag_Checks_Suppressed): New check.

From-SVN: r212724
2014-07-17 08:31:56 +02:00
Arnaud Charlet
26d5fb62ef [multiple changes]
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Minor comment updates.

2014-07-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Make_Explicit_Dereference): If the expression
	being dereferenced is a generalized indexing, reset the overloaded
	flag on the generalized indexing call, consistent with the
	resetting of the flag on the original indexed component.

2014-07-17  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Document advise not to mix -gnatV? and
	optimization.

From-SVN: r212723
2014-07-17 08:30:05 +02:00
Arnaud Charlet
c61ef4169e [multiple changes]
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* sem_aux.ads: Minor comment addition.

2014-07-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Make_Call_Into_Operator): If the call is already
	a rewriting of an operator node, there are no actuals to be
	propagated from original node to rewritten node when in ASIS mode.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Contract,
	Analyze_Subprogram_Contract): Add new local variable Mode. Save
	and restore the SPARK mode of the related construct in a
	stack-like fashion.
	* sem_ch7.adb (Analyze_Package_Body_Contract,
	Analyze_Package_Contract): Add new local variable Mode. Save and
	restore the SPARK mode of the related construct in a stack-like fashion.
	* sem_util.adb Remove with and use clause for Opt.
	(Restore_SPARK_Mode): New routine.
	(Save_SPARK_Mode_And_Set): New routine.
	* sem_util.ads Add with and use clause for Opt.
	(Restore_SPARK_Mode): New routine.
	(Save_SPARK_Mode_And_Set): New routine.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb (Is_Aliased): Transient objects
	within an expression with actions cannot be considered aliased.

From-SVN: r212721
2014-07-17 08:22:32 +02:00
Arnaud Charlet
3629577991 [multiple changes]
2014-07-17  Thomas Quinot  <quinot@adacore.com>

	* sem.ads (Scope_Stack_Entry): Reorganize storage of action lists;
	introduce a new list (cleanup actions) for each (transient) scope.
	* sinfo.ads, sinfo.adb (Cleanup_Actions): New attribute for
	N_Block_Statement
	* exp_ch7.ads (Store_Cleanup_Actions_In_Scope): New subprogram.
	* exp_ch7.adb (Store_Actions_In_Scope): New subprogram, common
	processing for Store_xxx_Actions_In_Scope.
	(Build_Cleanup_Statements): Allow for a list of additional
	cleanup statements to be passed by the caller.
	(Expand_Cleanup_Actions): Take custom cleanup actions associated
	with an N_Block_Statement into account.
	(Insert_Actions_In_Scope_Around): Account for Scope_Stack_Entry
	reorganization (refactoring only, no behaviour change).
	(Make_Transient_Block): Add assertion to ensure that the current
	scope is indeed a block (namely, the entity for the transient
	block being constructed syntactically, which has already been
	established as a scope).  If cleanup actions are present in the
	transient scope, transfer them now to the transient block.
	* exp_ch6.adb (Expand_Protected_Subprogram_Call): Freeze the
	called function while it is still present as the name in a call
	in the tree. This may not be the case later on if the call is
	rewritten into a transient block.
	* exp_smem.adb (Add_Shared_Var_Lock_Procs): The post-actions
	inserted after calling a protected operation on a shared passive
	protected must be performed in a block finalizer, not just
	inserted in the tree, so that they are executed even in case of
	a normal (RETURN) or abnormal (exception) transfer of control
	outside of the current scope.
	* exp_smem.ads (Add_Shared_Var_Lock_Procs): Update documentation
	* sem_ch8.adb, expander.adb, exp_ch11.adb: Adjust for
	Scope_Stack_Entry reorganization.

2014-07-17  Thomas Quinot  <quinot@adacore.com>

	* exp_disp.adb (Make_DT, Make_VM_TSD): Do not omit Check_TSD
	call for types that do not have an explicit attribute definition
	clause for External_Tag, as their default tag may clash with an
	explicit tag defined for some other type.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb (Is_Controlled_Function_Call): Recognize a
	controlled function call with multiple actual parameters that
	appears in Object.Operation form.

2014-07-17  Thomas Quinot  <quinot@adacore.com>

	* einfo.ads, einfo.adb (Has_External_Tag_Rep_Clause): Remove
	entity flag.
	* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
	External_Tag): No need to set entity flag.
	* sem_aux.ads, sem_aux.adb (Has_External_Tag_Rep_Clause):
	Reimplement correctly in terms of Has_Rep_Item.

From-SVN: r212719
2014-07-17 08:19:52 +02:00
Thomas Quinot
f65c67d340 exp_ch7.adb (Establish_Transient_Scope.Find_Node_To_Be_Wrapped): Start examining the tree at the node passed to Establish_Transient_Scope (not...
2014-07-17  Thomas Quinot  <quinot@adacore.com>

	* exp_ch7.adb (Establish_Transient_Scope.Find_Node_To_Be_Wrapped):
	Start examining the tree at the node passed to
	Establish_Transient_Scope (not its parent).
	* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
	The access type for the variable storing the reference to
	the call must be declared and frozen prior to establishing a
	transient scope.
	* exp_ch9.adb: Minor reformatting.

From-SVN: r212718
2014-07-17 08:16:25 +02:00