Commit Graph

127840 Commits

Author SHA1 Message Date
Arnaud Charlet 4bcf68150f [multiple changes]
2014-01-21  Robert Dewar  <dewar@adacore.com>

	* gcc-interface/gigi.h: Get Flags array address.
	* gcc-interface/trans.c: Acquire Flags array address.
	* atree.adb: Add support for Flags array and Flag0,1,2,3.
	* atree.ads: Add support for Flags array and Flag0,1,2,3.
	* atree.h: Add support for Flags array and Flag0,1,2,3.
	* back_end.adb: Pass Flags array address to gigi.

2014-01-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb (Attribute_Renaming): Transfer original attribute
	reference to generated body so that legality checks on stream
	attributes are properly applied. If type is tagged and already
	frozen, insert generated body at the point of the renaming
	declaration.

2014-01-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb: Code clean up.
	* sem_ch8.adb: Minor reformatting

From-SVN: r206870
2014-01-21 08:47:43 +01:00
Jakub Jelinek 721ee6cf8e re PR tree-optimization/59860 (ICE in compute_may_aliases, at tree-ssa-structalias.c:6843)
PR middle-end/59860
	* gcc.dg/strlenopt-4.c: Expect the same counts on s390*-* as on all
	other targets.

From-SVN: r206868
2014-01-21 08:28:10 +01:00
DJ Delorie 84db09e3c2 rl78.c (rl78_propogate_register_origins): Verify that CLOBBERs are REGs before propogating their values.
* config/rl78/rl78.c (rl78_propogate_register_origins): Verify
that CLOBBERs are REGs before propogating their values.

From-SVN: r206867
2014-01-20 23:30:45 -05:00
Dominique d'Humieres d1a5b5e372 round_3.f08: Add more cases.
2014-01-20  Dominique d'Humieres  <dominiq@lps.ens.fr>

	* gfortran.dg/round_3.f08: Add more cases.

From-SVN: r206866
2014-01-21 02:44:13 +00:00
Jerry DeLisle 91d45414d8 write_float.def (output_float): Remove inadvertent test code from previous patch.
2014-01-20  Jerry DeLisle  <jvdelisle@gcc.gnu>
	    Dominique d'Humieres  <dominiq@lps.ens.fr>

	* io/write_float.def (output_float): Remove inadvertent test
	code from previous patch.

Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>

From-SVN: r206865
2014-01-21 02:39:53 +00:00
GCC Administrator b6c5c31b03 Daily bump.
From-SVN: r206864
2014-01-21 00:16:52 +00:00
Richard Sandiford 6d1a1d9d65 target-supports.exp (force_conventional_output_for): New procedure.
gcc/testsuite/
	* lib/target-supports.exp (force_conventional_output_for): New
	procedure.
	* lib/scanasm.exp (scan-assembler_required_options)
	(scan-assembler-not_required_options)
	(scan-assembler-times_required_options): Replace with
	force_conventional_output_fors.
	* lib/scanrtl.exp: Force conventional output for all rtl dump scans.
	* gcc.target/mips/octeon-pipe-1.c: Remove -ffat-lto-objects.

From-SVN: r206860
2014-01-20 21:21:53 +00:00
François Dumont 9d0bb2ea71 create_testsuite_files: Add testsuite/experimental in the list of folders to search for tests.
2014-01-20  François Dumont  <fdumont@gcc.gnu.org>

	* scripts/create_testsuite_files: Add testsuite/experimental in
	the list of folders to search for tests.
	* include/experimental/string_view
	(basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
	incompatible with constexpr qualifier.
	(basic_string_view<>::front()): Likewise.
	(basic_string_view<>::back()): Likewise.
	* testsuite/experimental/string_view/element_access/wchar_t/2.cc:
	Merge dg-options directives into one.
	* testsuite/experimental/string_view/element_access/char/2.cc:
	Likewise. Remove invalid experimental namespace scope on
	string_view_type.

From-SVN: r206859
2014-01-20 21:15:13 +00:00
H.J. Lu 1cf1177005 Add type to DEFCIFCODE to describe the inline failure
Report inline error during early inlining if the inline failure is
CIF_FINAL_ERROR.

gcc/

	PR middle-end/59789
	* cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
	(cgraph_inline_failed_type): New function.
	* cgraph.h (DEFCIFCODE): Add type.
	(cgraph_inline_failed_type_t): New enum.
	(cgraph_inline_failed_type): New prototype.
	* cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
	FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
	FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
	LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
	MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
	RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
	OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
	INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL. 
	Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
	FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
	EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
	OPTIMIZATION_MISMATCH.
	* tree-inline.c (expand_call_inline): Emit errors during
	early_inlining if cgraph_inline_failed_type returns
	CIF_FINAL_ERROR.

gcc/testsuite/

	PR middle-end/59789
	* gcc.target/i386/pr59789.c: New testcase.

From-SVN: r206858
2014-01-20 13:08:26 -08:00
Uros Bizjak 8586e4bd47 re PR target/59685 (ICE: in output_2305, at config/i386/sse.md:8919 with -march=bdver1 -mavx512f)
PR target/59685
	* config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF
	mode attribute in insn output.

From-SVN: r206856
2014-01-20 21:45:35 +01:00
Eric Botcazou 99482090e5 output.h (output_constant): Delete.
* output.h (output_constant): Delete.
	* varasm.c (output_constant): Make private.

From-SVN: r206855
2014-01-20 20:13:10 +00:00
Yufeng Zhang 66bc6a9ecc ra1.C (struct tree_base): Change the width of the 'code' bitfield from 16 to 8.
gcc/testsuite

	* g++.dg/debug/ra1.C (struct tree_base): Change the width of
	the 'code' bitfield from 16 to 8.

From-SVN: r206853
2014-01-20 18:42:50 +00:00
Marcus Shawcroft 39ec0d29df Fixing ChangeLog entry for earlier commit.
From-SVN: r206852
2014-01-20 18:38:09 +00:00
Alex Velenko ede232728f [AArch64] Disable vec_perm patterns for aarch64_be.
From-SVN: r206851
2014-01-20 18:35:36 +00:00
Alex Velenko 201b7ecd25 [AArch64] vneg floating point testcase BE fixed.
2013-01-20  Alex Velenko  <Alex.Velenko@arm.com>

	* gcc.target/aarch64/vneg_f.c (STORE_INST): New macro.
	(RUN_TEST): Use new macro.
	(INDEX64_32): Delete.
	(INDEX64_64): Likewise.
	(INDEX128_32): Likewise.
	(INDEX128_64): Likewise.
	(INDEX): Likewise.
	(test_vneg_f32): Use fixed RUN_TEST.

From-SVN: r206850
2014-01-20 18:30:32 +00:00
Jakub Jelinek 9a7eefec74 re PR tree-optimization/59860 (ICE in compute_may_aliases, at tree-ssa-structalias.c:6843)
PR middle-end/59860
	* tree.h (fold_builtin_strcat): New prototype.
	* builtins.c (fold_builtin_strcat): No longer static.  Add len
	argument, if non-NULL, don't call c_strlen.  Optimize
	directly into __builtin_memcpy instead of __builtin_strcpy.
	(fold_builtin_2): Adjust fold_builtin_strcat caller.
	* gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.

From-SVN: r206848
2014-01-20 19:18:21 +01:00
Uros Bizjak 3e7291458b i386.c (ix86_avoid_lea_for_addr): Return false for SImode_address_operand operands, having only a REG argument.
* config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
	for SImode_address_operand operands, having only a REG argument.

From-SVN: r206847
2014-01-20 18:59:14 +01:00
Balaji V. Iyer ef132d593e re PR other/58996 (build failure in libcilkrts)
Fix for PR other/58996.
+2014-01-20  Balaji V. Iyer  <balaji.v.iyer@intel.com>
+
+       PR other/58996
+       * configure.ac: Added a check for pthread affinity support.
+       * runtime/os-unix.c: Likewise.
+       * configure: Regenerate.
+

From-SVN: r206846
2014-01-20 09:49:22 -08:00
Marcus Shawcroft eee0e4879f [AArch64] Define BE loader name.
2014-01-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	    * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
	    loader name using mbig-endian.
	    (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.

From-SVN: r206845
2014-01-20 17:41:54 +00:00
Arnaud Charlet 43417b90cf [multiple changes]
2014-01-20  Robert Dewar  <dewar@adacore.com>

	* checks.adb: Check SPARK_Mode instead of GNATProve_Mode for
	converting warnings on inevitable exceptions to errors.
	* exp_ch4.adb: Check SPARK_Mode instead of GNATProve_Mode for
	converting warnings on inevitable exceptions to errors.
	* opt.adb (SPARK_Mode_Config): Handled like other config flags
	* opt.ads (SPARK_Mode_Type): Moved here from types (renamed from
	SPARK_Mode_Id) (SPARK_Mode_Type): Add pragma Ordered, remove
	SPARK_ from names (SPARK_Mode): New flag (SPARK_Mode_Config):
	New flag (Config_Switches_Type): Add SPARK_Mode field
	* sem.adb: Minor code reorganization (remove unnecessary with)
	* sem.ads (Scope_Stack_Entry): Add Save_SPARK_Mode field
	* sem_aggr.adb: Check SPARK_Mode instead of GNATProve_Mode for
	converting warnings on inevitable exceptions to errors.
	* sem_attr.adb: Check SPARK_Mode instead of GNATProve_Mode for
	converting warnings on inevitable exceptions to errors.
	* sem_ch3.adb: Check SPARK_Mode instead of GNATProve_Mode for
	converting warnings on inevitable exceptions to errors.
	* sem_ch4.adb: Check SPARK_Mode instead of GNATProve_Mode for
	converting warnings on inevitable exceptions to errors.
	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Reset SPARK_Mode
	from spec if needed
	* sem_ch7.adb (Analyze_Package_Body_Helper): Reset SPARK_Mode
	from spec if needed
	* sem_ch8.adb (Push_Scope): Save SPARK_Mode (Pop_Scope):
	Restore SPARK_Mode
	* sem_elab.adb: Check SPARK_Mode instead of GNATProve_Mode for
	converting warnings on inevitable exceptions to errors.
	* sem_prag.adb (Get_SPARK_Mode_From_Pragma): New function
	(Get_SPARK_Mode_Id): Removed (Get_SPARK_Mode_Type): New name
	of Get_SPARK_Mode_Id
	* sem_prag.ads (Get_SPARK_Mode_From_Pragma): New function
	* sem_res.adb: Check SPARK_Mode instead of GNATProve_Mode for
	converting warnings on inevitable exceptions to errors.
	* sem_util.adb: Check SPARK_Mode instead of GNATProve_Mode for
	converting warnings on inevitable exceptions to errors.
	* types.ads (SPARK_Mode_Id): Moved to opt.ads and renamed
	SPARK_Mode_Type

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

	* sem_ch13.adb: Add semantic information to rewritten type
	reference.

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

	* exp_ch5.adb (Expand_N_Assignment_Statement): If both sides
	are of a type with unknown discriminants, convert both to the
	underlying view of the type, so that the proper constraint check
	can be applied to the right-hand side.

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

	* atree.adb (Copy_Node): Fix failure to copy last component
	(Exchange_Entities): Fix failure to exchange last entity

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

	* sem_ch12.adb: Code clean up.

From-SVN: r206844
2014-01-20 17:10:53 +01:00
Robert Dewar e4deba8e2f gnat_rm.texi, [...]: Minor reformatting.
2014-01-20  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi, sem_ch4.adb: Minor reformatting.

From-SVN: r206843
2014-01-20 17:08:09 +01:00
Arnaud Charlet a736f6e612 [multiple changes]
2014-01-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb (Analyze_Quantified_Expression): If after
	pre-analysis  the loop parameter specification has been
	rewritten as a iterator specification, propagate the change to
	the quantified expression, for ASIS navigtion needs.

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

	* par-ch10.adb: Minor error message change: escape [ and ].

From-SVN: r206842
2014-01-20 17:02:58 +01:00
Arnaud Charlet 4a28b181a6 [multiple changes]
2014-01-20  Robert Dewar  <dewar@adacore.com>

	* checks.adb: Make warnings on exceptions into errors in GNATprove mode.
	* errout.adb: Implement [ and ] insertion characters.
	* errout.ads: Document new [ and ] insertion characters.
	* sem_ch12.adb, restrict.adb, frontend.adb, exp_ch7.adb: Minor
	addition of ??? comment.
	* lib-xref.adb, exp_util.adb, gnat1drv.adb: Minor reformatting
	* exp_ch4.adb, sem_ch3.adb, sem_ch4.adb, sem_ch6.adb, sem_elab.adb,
	sem_eval.adb, sem_res.adb, sem_util.adb, sem_attr.adb, sem_aggr.adb:
	Make warnings on exceptions into errors in GNATprove mode.
	* sem_dim.adb: Minor reformatting throughout Quote [ and ]
	in error messages.

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

	* sem_ch13.adb: Code clean up.

From-SVN: r206841
2014-01-20 17:01:22 +01:00
James Greenhalgh 9e540e3750 [AArch64 Documentation] Clarify meaning of -mcpu, -mtune, -march
gcc/

	* doc/invoke.texi (-march): Clarify documentation for AArch64.
	(-mtune): Likewise.
	(-mcpu): Likewise.

From-SVN: r206840
2014-01-20 15:57:50 +00:00
Arnaud Charlet b465ef6f25 [multiple changes]
2014-01-20  Robert Dewar  <dewar@adacore.com>

	* errout.ads, errout.adb: Implement >? >x? >X? sequences in error
	messages.
	* sem_ch6.adb (Check_Statement_Sequence): Missing return is an
	error in GNATprove mode.

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

	* par-ch4.adb (Is_Parameterless_Attribute): The Ada2012 attribute
	reference 'Old takes no parameters, and thus can appear as a
	prefix of a slice.

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

	* exp_aggr.adb: Fix minor typos.

From-SVN: r206839
2014-01-20 16:57:15 +01:00
Arnaud Charlet a61524283e [multiple changes]
2014-01-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_attr.adb (Analyze_Attribute, case 'Constrained): In an
	instance the attribute is legal, and its value is determined
	statically if the type has no discriminants. This choice is
	more useful than rechecking the legality rule in the instance,
	is consistent with older usage, and is also consistent with all
	existing tests.

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

	* sem_cat.adb (Validate_Static_Object_Name): Change error into
	warning in Relaxed_Semantic_Mode.

From-SVN: r206838
2014-01-20 16:55:52 +01:00
Arnaud Charlet e19fd0bde5 [multiple changes]
2014-01-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_attr.adb: Code and comments cleanup.

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

	* debug.adb Free debug flags -gnatd.D, -gnatd.G and -gnatd.V *
	* errout.adb (Compilation_Errors): Remove special handling in
	GNATprove mode.
	* gnat1drv.adb (Adjust_Global_Switches): Remove handling of the
	removed debug flags.
	* gnat_rm.texi: Initial documentation for Abstract_State, Depends,
	Global, Initial_Condition, Initializes and Refined_State pragmas and
	aspects.
	* opt.ads (Frame_Condition_Mode, Formal_Extensions,
	SPARK_Strict_Mode): Remove global flags.
	* sem_ch3.adb (Analyze_Object_Declaration): Check of no hidden state
	always performed now, on packages declaring a null state.
	(Signed_Integer_Type_Declaration): Remove ill-designed attempt
	at providing pedantic mode for bounds of integer types.
	* sem_ch4.adb (Analyze_Quantified_Expression): Warning on suspicious
	"some" quantified expression now issued under control of -gnatw.t,
	like the other warning on unused bound variable.
	* sem_prag.adb (Check_Precondition_Postcondition): Remove useless test
	on removed flag.
	(Analyze_Pragma): Remove tests for SPARK 2014
	pragmas, not officially allowed by GNAT.

From-SVN: r206837
2014-01-20 16:54:38 +01:00
Arnaud Charlet 58827738db [multiple changes]
2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Pragma): Ensure that
	the sole argument of pragmas Abstract_State, Contract_Cases,
	Depends, Global and Initializes in in aggregate form.
	(Analyze_Refined_Pragma): Ensure that the sole argument of
	pragmas Refined_Depends, Refined_Global and Refined_State is in
	aggregate form.
	(Ensure_Aggregate_Form): New routine.

2014-01-20  Doug Rupp  <rupp@adacore.com>

	* sem_attr.adb (Analyze_Attribute): case
	Attribute_Constrained => treat all prefixes as legal for Declib
	compatibility.

From-SVN: r206836
2014-01-20 16:51:54 +01:00
Arnaud Charlet 9559eccf36 [multiple changes]
2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Check_Mode): Reimplement the routine.
	(Find_Mode): New routine.

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

	* sem_ch4.adb (Operator_Check): Handle additional
	Allow_Integer_Address cases.

From-SVN: r206835
2014-01-20 16:50:09 +01:00
Jonathan Wakely 92e1622850 re PR libstdc++/56267 (unordered containers require Assignable hash function)
PR libstdc++/56267
	* include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
	friendship to _Local_iterator_base<..., false>.
	(_Local_iterator_base): Give protected access to all existing members.
	(_Local_iterator_base::_M_curr()): New public accessor.
	(_Local_iterator_base::_M_get_bucket()): New public accessor.
	(_Local_iterator_base<..., false>::_M_init()): New function to manage
	the lifetime of the _Hash_code_base explicitly.
	(_Local_iterator_base<..., false>::_M_destroy()): Likewise.
	(_Local_iterator_base<..., false>): Define copy constructor and copy
	assignment operator that use new functions to manage _Hash_code_base.
	(operator==(const _Local_iterator_base&, const _Local_iterator_base&),
	operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
	Use public API for _Local_iterator_base.
	* include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
	* include/debug/unordered_map (__debug::unordered_map::erase(),
	__debug::unordered_multimap::erase()): Likewise.
	* include/debug/unordered_set (__debug::unordered_set::erase(),
	__debug::unordered_multiset::erase()): Likewise.
	* testsuite/23_containers/unordered_set/56267-2.cc: New test.

From-SVN: r206834
2014-01-20 15:49:39 +00:00
Robert Dewar 7dbd3de9e5 gnat_rm.texi (Allow_Integer_Address): Remove note about not allowed if address is non-private, no longer true.
2014-01-20  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi (Allow_Integer_Address): Remove note about not
	allowed if address is non-private, no longer true.
	* sem_prag.adb (Analyze_Pragma, case Allow_Integer_Address):
	Remove check for address being private, causes difficulty when
	pragma used in gnat.adc file and is not needed, since we guard
	this in Address_Integer_Convert_OK.
	* exp_ch7.adb: Minor reformatting.
	* sem_ch4.adb: Handle operator operands in Allow_Integer_Address mode.

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

	* checks.adb (Apply_Range_Check): Remove gnatprove special
	casing of exponentiation.
	* sem_res.adb (Resolve_Op_Expon): Apply range check to right
	operand for integer case to check range against Natural.

From-SVN: r206833
2014-01-20 16:49:09 +01:00
Arnaud Charlet 061828e3c2 [multiple changes]
2014-01-20  Robert Dewar  <dewar@adacore.com>

	* s-tataat.adb: Minor reformatting.

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

	* einfo.adb (Is_Descendent_Of_Address): Now applies to all
	entities, and also fix documentation to remove mention of visible
	integer type, since this is not what the implementation does.
	* einfo.ads (Is_Descendent_Of_Address): Now applies to all
	entities, and also fix documentation to remove mention of visible
	integer type, since this is not what the implementation does.
	* gnat_rm.texi: Minor clarification of Allow_Integer_Address
	function.
	* sem_ch4.adb (Analyze_One_Call): Handle Allow_Integer_Address
	case for parameter type check.
	* sem_res.adb (Resolve): Use new function
	Address_Integer_Convert_OK.
	* sem_type.adb: Minor code reorganization (use Ekind_In) Minor
	reformatting throughout.
	* sem_util.adb (Address_Integer_Convert_OK): New function.
	* sem_util.ads: Minor reformatting (put specs in alpha order)
	(Address_Integer_Convert_OK): New function.

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

	* exp_ch7.adb (Wrap_Transient_Expression):
	Insertion extra conditional expression only if
	Opt.Suppress_Control_Flow_Optimizations is set.

From-SVN: r206832
2014-01-20 16:47:03 +01:00
Arnaud Charlet ff4e28eb7d [multiple changes]
2014-01-20  Arnaud Charlet  <charlet@adacore.com>

	* s-tataat.adb (Initialize_Attributes): Abort might already be
	deferred in Create_Task.

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

	* checks.adb (Apply_Scalar_Range_Check): Flag
	the exponent as requiring a range check when the expression is
	an exponentiation.

From-SVN: r206831
2014-01-20 16:45:51 +01:00
Arnaud Charlet a1efcc17b7 [multiple changes]
2014-01-20  Fedor Rybin  <frybin@adacore.com>

	* gnat_ugn.texi: Documenting --passed-tests option for gnattest.

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

	* sem_util.adb (Default_Initialization): New routine.
	* sem_util.ads: Add new type Default_Initialization_Kind.
	(Default_Initialization): New routine.

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

	* sem_prag.adb (Check_Mode): Correct all error
	message logic dealing with in/in out parameters that may appear
	as inputs or have a self reference.

From-SVN: r206830
2014-01-20 16:41:35 +01:00
Arnaud Charlet 6fd0a72a53 [multiple changes]
2014-01-20  Robert Dewar  <dewar@adacore.com>

	* exp_ch9.adb, checks.adb, exp_intr.adb: Minor reformatting.
	* sem_res.adb (Resolve): Fix error causing infinite loop for
	integer used as address. Allow addresses as integers.

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

	* s-osinte-linux.ads (struct_sigaction): Fix rep clause.

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

	* par-ch8.adb (P_Use_Type_Clause): Detect syntax
	error when "use all" is not followed by "type".

From-SVN: r206829
2014-01-20 16:39:55 +01:00
Arnaud Charlet 3b4598a761 [multiple changes]
2014-01-20  Bob Duff  <duff@adacore.com>

	* exp_intr.adb (Expand_Unc_Deallocation): Remove warning on abort
	followed by free.

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

	* checks.adb (Apply_Address_Clause_Check): If there is an
	alignment check on the expression in an address clause, and there
	is no local exception propagation, add an additional explanatory
	message to clarify the cause of previous warning.

From-SVN: r206828
2014-01-20 16:37:46 +01:00
Arnaud Charlet 4058ddccde [multiple changes]
2014-01-20  Robert Dewar  <dewar@adacore.com>

	* exp_ch7.adb: Minor reformatting.
	* opt.ads: Minor comment updates.
	* sem.adb: Minor name change Is_Main_Unit =>
	Is_Main_Unit_Or_Main_Unit_Spec.
	* sem_ch6.adb: Minor reformatting and code reorganization.

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

	* gnat_ugn.texi: Update gnatpp switches.

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

	* exp_ch9.adb: Minor comment edit.

From-SVN: r206827
2014-01-20 16:36:52 +01:00
Arnaud Charlet d8a764c4fb [multiple changes]
2014-01-20  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Document that Allow_Integer_Address is permitted
	only if System.Address is a private type.
	* opt.ads (Allow_Integer_Address): No longer set by -gnates.
	* sem_prag.adb (Analyze_Pragma, case Allow_Integer_Address):
	Allowed only if type System.Address is private, since otherwise
	it makes no sense.
	* sem_res.adb: Fix failure to properly Analyze unchecked
	conversions that were introduced by Allow_Integer_Address.
	* switch-c.adb: Remove -gnates switch.
	* usage.adb: Remove -gnates switch.
	* gnat_ugn.texi: Remove documentation of -gnates flag.

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

	* sem_ch6.adb (Analyze_Expression_Function): Pre-analyze and
	resolve expression to perform proper name capture.

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

	* sem.adb (Semantics): When saving/restoring configuration
	switches, the spec of a pre- defined unit that is the main unit
	must be treated as a predefined unit as well.

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

	* exp_ch7.adb (Wrap_Transient_Expression): For a Boolean
	expression, insert an extra conditional expression when saving
	the value of the expression, for the benefit of control flow
	graph based coverage analysis.
	* exp_ch3.adb: Minor reformatting.

From-SVN: r206826
2014-01-20 16:35:11 +01:00
Arnaud Charlet 818b578d15 [multiple changes]
2014-01-20  Robert Dewar  <dewar@adacore.com>

	* gnat1drv.adb: Set Allow_Integer_Address in relaxed semantics mode.
	* gnat_rm.texi: Document pragma Allow_Integer_Address.
	* gnat_ugn.texi: Document pragma Allow_Integer_Address, -gnates.
	* opt.ads: New flag Allow_Integer_Address.
	* par-prag.adb: Dummy entry for pragma Allow_Integer_Address.
	* sem_ch5.adb: Minor reformatting.
	* sem_prag.adb: Implement pragma Allow_Integer_Address.
	* sem_res.adb (Resolve): Allow integer address value if
	switch set.
	* sem_util.adb: Minor reformatting.
	* snames.ads-tmpl: Add entry for pragma Allow_Integer_Address.
	* switch-c.adb: Recognize flag -gnates.
	* usage.adb: Document flag -gnates.

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

	* s-tadeca.adb: Fix minor typos in comment.

From-SVN: r206825
2014-01-20 16:31:59 +01:00
Arnaud Charlet c2e5400135 [multiple changes]
2014-01-20  Pascal Obry  <obry@adacore.com>

	* s-win32.ads (FreeLibrary): New import.

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

	* sem_res.adb, sem_cat.adb: Minor reformatting.
	* sem_ch11.adb (Analyze_Raise_Statement): Only give warning about
	assigning to OUT parameters for the current subprogram scope.
	* exp_ch4.adb: Minor reformatting.

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

	* exp_ch4.adb (Process_Transient_Object,
	Find_Enclosing_Contexts): If the top-level if-expression that
	generated the transient object is an actual in a call, the proper
	Hook_Context is a construct enclosing the call.
	* einfo.ads: Indicate that Related_Expression is used to link a
	loop variable to the container expression over which the loop
	takes place.
	(Analyze_Iterator_Specification): Set the Related_Expression of
	the loop variable in a container element iterator.
	(Note_Possible_Modification): If the variable is the loop
	variable in a container element iterator, indicate that the
	enclosing container is also modified.

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

	* aspects.adb (Move_Or_Merge_Aspects): Reimplemented.

From-SVN: r206824
2014-01-20 16:29:06 +01:00
Arnaud Charlet 90b51aaf63 [multiple changes]
2014-01-20  Robert Dewar  <dewar@adacore.com>

	* s-taasde.ads, gnat_ugn.texi, s-tadeca.adb, sem_res.adb, s-tadeca.ads:
	Minor reformatting and code clean up.

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

	* sem_cat.adb (Validate_Object_Declaration): Relax semantics
	of objects of private type if Relaxed_RM_Semantics.

From-SVN: r206823
2014-01-20 16:25:44 +01:00
Arnaud Charlet 2838fa930c [multiple changes]
2014-01-20  Claire Dross  <dross@adacore.com>

	* a-cofove.ads (Vector): Capacity discriminant
	should be in range of the index.

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

	* a-caldel.ads(To_Duration), s-taasde.ads(Time_Enqueue):
	Clarify specs s-tadeca.adb(Enqueue_Calendar): Compensate for
	possible difference between epoch of Ada.Calendar clock and Ada
	real-time/tasking clock.
	* s-taprop-posix.adb: Minor comment fix.

2014-01-20  Doug Rupp  <rupp@adacore.com>

	* sysdep.c [vxworks]: Remove Vxworks version noise for RTP.

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

	* exp_attr.adb (Expand_N_Attribute_Reference): Generate validity
	checks on the prefix of attribute 'Old.
	* sem_ch3.adb (Process_Range_Expr_In_Decl): Suppress the
	generation of validity checks on a range that belongs to the
	iteration scheme of a quantified expression.
	* sem_ch5.adb (One_Bound): Suppress the generation of validity
	checks on a bound that belongs to the iteration scheme of a
	quantified expression, generate the check in all other cases.

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

	* gnat_ugn.texi: Enable --pp-new by default. Minor reorganization.

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

	* sem_res.adb (Resolve): When compiling a predefined unit, ignore
	interpretations that do not come from other predefined units,
	to prevent spurious ambiguities in the presence of user-defined
	operators in the context of (an instance of) a predefined unit.

From-SVN: r206822
2014-01-20 16:23:37 +01:00
Arnaud Charlet 1e56920493 [multiple changes]
2014-01-20  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Document that Loop_Variant is included in
	Statement_Assertions.
	* sem_prag.adb (Check_Kind): Add Loop_Variant to
	Statement_Assertions (Check_Applicable_Policy): Add Loop_Variant
	to Statement_Assertions.

2014-01-20  Doug Rupp  <rupp@adacore.com>

	* sysdep.c (__gnat_is_file_not_found_error) [vxworks6]: Add case
	for errno ENOENT from RTP on NFS mounted file system.

From-SVN: r206821
2014-01-20 16:21:18 +01:00
Arnaud Charlet 0969e96dcb [multiple changes]
2014-01-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Check_Function_Writable_Actuals): 1) Do not
	examine code that does not come from source. The check does not
	apply to code generated for constraint checks, and such code may
	generate spurious error messages when compiled with expansion
	disabled (as in a generic unit) because side effects may not
	have been removed.
	2) Make error messages more explicit: indicate the component
	of the	construct whose value is indeterminate because of a
	call to a function with in-out parameter in another component,
	when there is no mandated order of execution between the two
	components (actuals, aggregate components, alternatives).

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

	* gnat_rm.texi: Minor cleanup.

From-SVN: r206820
2014-01-20 16:19:15 +01:00
Arnaud Charlet 36eef04a24 [multiple changes]
2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_attr.adb (Analyze_Attribute): Attributes 'Old and 'Result
	can now apply to a refined postcondition.
	* sem_ch6.adb (Analyze_Subprogram_Contract): Remove local
	variable Result_Seen. Add variables Case_Prag, Post_Prag,
	Seen_In_Case and Seen_In_Post. Update the mechanism that detects
	whether postconditions and/or constract-cases mention attribute
	'Result and introduce a post-state when applied to functions.
	(Check_Result_And_Post_State): Removed.
	* sem_prag.adb (Analyze_Pragma): Add local variable
	Result_Seen. Verify that the expression of pragma Refined_Post
	mentions attribute 'Result and introduces a post-state.
	* sem_util.ads, sem_util.adb (Check_Result_And_Post_State): New routine.

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

	* exp_ch7.adb (Is_Subprogram_Call): New routine.
	(Process_Transient_Objects): Make variable Must_Hook global with
	respect to all locally declared subprograms. Search the context
	for at least one subprogram call.
	(Requires_Hooking): Removed.

2014-01-20  Claire Dross  <dross@adacore.com>

	* a-cfdlli.ads a-cfhama.ads a-cfhase.ads a-cforma.ads
	* a-cforse.ads a-cofove.ads: Add pragma Annotate (GNATprove,
	External_Axiomatization);

From-SVN: r206819
2014-01-20 16:17:29 +01:00
Robert Dewar 65441a1ec0 sem_attr.adb (Analyze_Attribute, [...]): Allow Loop_Entry in Assert, Assert_And_Cut, and Assume pragmas.
2014-01-20  Robert Dewar  <dewar@adacore.com>

	* sem_attr.adb (Analyze_Attribute, case Loop_Entry): Allow
	Loop_Entry in Assert, Assert_And_Cut, and Assume pragmas.
	* sem_prag.adb (Analyze_Pragma, case Assert[_And_Cut], Assume):
	Allow Loop_Entry to be used in these pragmas if they appear in
	an appropriate context.
	(Placement_Error): Specialize error
	message for pragma Assert[_And_Cut] or pragma Assume containing
	Loop_Entry attribute.
	* a-exexpr-gcc.adb, sinput.adb: Minor reformatting.
	* s-excmac-arm.ads, s-except.ads, s-excmac-gcc.ads: Minor reformatting
	and code clean ups.

From-SVN: r206818
2014-01-20 16:15:34 +01:00
Arnaud Charlet 800da97743 [multiple changes]
2014-01-20  Robert Dewar  <dewar@adacore.com>

	* gnat1drv.adb: Minor comment update.

2014-01-20  Tristan Gingold  <gingold@adacore.com>

	* raise-gcc.c (PERSONALITY_FUNCTION/arm): Remove unused
	variables, comment out unused code.
	* a-exexpr-gcc.adb: Move declarations to s-excmac-gcc.ads
	* s-excmac-gcc.ads: New file, extracted from a-exexpr-gcc.adb
	* s-excmac-arm.ads: New file.

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

	* exp_ch4.adb (Expand_N_Slice): Remove constant D and variables
	Drange and Index_Typ. Remove the circuitry which creates a
	range check to compare the index type of the array against the
	discrete_range.
	* sem_res.adb (Resolve_Slice): Add local variable Dexpr. Update
	the circuitry which creates a range check to handle a
	discrete_range denoted by a subtype indication.

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

	* sinput.adb, sinput.ads (Sloc_Range): Traverse the tree of original
	nodes to get the original sloc range.

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

	* sem_prag.adb (Analyze_Pragma): Use Defining_Entity to obtain the
	entity of a [library level] package.

From-SVN: r206817
2014-01-20 16:13:01 +01:00
Arnaud Charlet 51b0e05ae4 [multiple changes]
2014-01-20  Tristan Gingold  <gingold@adacore.com>

	* raise-gcc.c (exception_class_eq): New function.
	(is_handled_by): Use it to compare exception classes.
	(PERSONALITY_STORAGE): Define.	(continue_unwind): New function to
	be called to return URC_CONTINUE_UNWIND.
	(personality_body): New function, extracted from PERSONALITY_ROUTINE.
	(PERSONALITY_ROUTINE): Add an implementation for the ARM unwinder.

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

	* opt.ads: Minor comment update.

From-SVN: r206815
2014-01-20 15:00:29 +01:00
Arnaud Charlet 5ff90f08f4 [multiple changes]
2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch4.adb (Expand_N_Slice): Relocate some variables and
	constants to the "Local variables" area. Add new constant D. Add
	new variables Drange and Index_Typ.  Rename Pfx to Rep and Ptp
	to Pref_Typ and update all occurrences. Add circuitry to extract
	the discrete_range and the index type and build a range check.

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

	* gnat1drv.adb (Adjust_Global_Switches): Enable
	Treat_Categorization_Errors_As_Warnings when Relaxed_RM_Semantics
	is set.

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

	* sem_ch5.adb, sem_ch4.adb: Minor reformatting.

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

	* sem_ch13.adb (Analyze_Aspect_Specifications):
	When aspect SPARK_Mode appears on a package body, insert the
	generated pragma at the top of the body declarations.

From-SVN: r206814
2014-01-20 14:59:08 +01:00
Robert Dewar 1f0b1e4847 sem_aggr.adb, [...]: Minor reformatting.
2014-01-20  Robert Dewar  <dewar@adacore.com>

	* sem_aggr.adb, exp_prag.adb, sem_aux.adb, sinfo.ads, sem_ch10.adb,
	checks.adb, sem_prag.adb, sem_ch12.adb, freeze.adb, g-arrspl.adb,
	expander.adb, gnat1drv.adb, exp_ch4.adb, sem_ch6.adb,
	sem_ch8.adb, exp_dist.adb: Minor reformatting.

From-SVN: r206813
2014-01-20 14:57:30 +01:00