Commit Graph

124346 Commits

Author SHA1 Message Date
Arnaud Charlet 3d9183967d [multiple changes]
2013-07-08  Robert Dewar  <dewar@adacore.com>

	* gnatcmd.adb: Minor reformatting.

2013-07-08  Robert Dewar  <dewar@adacore.com>

	* targparm.adb (Get_Target_Parameters): Recognize pragma
	Partition_Elaboration_Policy.

2013-07-08  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Minor update to mention partition elaboration policy.

2013-07-08  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb (Comple_Object_Operation): Revert previous change.
	(Analyze_Indexed_Component_Form): In ASIS mode, if node has been
	transformed but not rewritten as a function call (as is the case
	in a generic), analyze it as such.

2013-07-08  Thomas Quinot  <quinot@adacore.com>

	* gnat_rm.texi: Minor rewording: add missing word "operators"
	in documentation for restriction No_Direct_Boolean_Operator.

2013-07-08  Robert Dewar  <dewar@adacore.com>

	* errout.adb (Set_Msg_Txt): No longer sets Is_Style_Msg,
	Is_Warning_Msg, or Is_Unconditional_Msg (all are set elsewhere
	now).
	* errout.ads: Insertions ! and !! no longer have to be at the
	end of the message, they can be anywhere in the message.
	* erroutc.adb (Test_Style_Warning_Serious_Unconditional_Msg):
	Replaces Test_Style_Warning_Serious_Msg
	* erroutc.ads (Has_Double_Exclam): New flag New comments for
	existing flags (Test_Style_Warning_Serious_Unconditional_Msg):
	Replaces Test_Style_Warning_Serious_Msg
	* errutil.adb (Test_Style_Warning_Serious_Unconditional_Msg):
	Replaces Test_Style_Warning_Serious_Msg

From-SVN: r200765
2013-07-08 10:05:45 +02:00
Arnaud Charlet 6480338ae6 [multiple changes]
2013-07-08  Robert Dewar  <dewar@adacore.com>

	* par-prag.adb (Process_Restrictions_Or_Restriction_Warnings):
	Recognize SPARK_05 as synonym for SPARK in restrictions pragma.
	* restrict.ads, restrict.adb (SPARK_Hides): Table moved to body, only
	referenced there.
	* scng.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch8.adb,
	sem_res.adb, sem_util.adb: Use restriction SPARK_05 instead of SPARK.
	* snames.ads-tmpl (Name_No_Obsolescent_Features): New entry.

2013-07-08  Vincent Celier  <celier@adacore.com>

	* gnatcmd.adb (Check_Files): Use a response file for gnatls
	when possible.

From-SVN: r200764
2013-07-08 10:03:04 +02:00
Arnaud Charlet aa0dfa7e4e [multiple changes]
2013-07-08  Gary Dismukes  <dismukes@adacore.com>

	* freeze.adb: Minor typo fixes.

2013-07-08  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Document SPARK_05 (replaces SPARK) Document
	obsolete recognition of SPARK Document all other obsolete synonyms
	for old restrictions.
	* restrict.adb (Check_SPARK_Restriction): SPARK_05 replaces
	SPARK (Process_Restriction_Synonyms): Handle SPARK as synonym
	for SPARK_05.
	* restrict.ads: Restriction SPARK_05 replaces SPARK.
	* s-rident.ads: Replace restriction SPARK by SPARK_05 Add SPARK
	as synonym for SPARK_05.
	* sem_prag.adb: Minor reformatting.
	* snames.ads-tmpl: Add entries for Name_SPARK and Name_SPARK_05.

From-SVN: r200763
2013-07-08 09:59:55 +02:00
Robert Dewar 3d529af452 sem_dim.adb: Minor error message change.
2013-07-08  Robert Dewar  <dewar@adacore.com>

	* sem_dim.adb: Minor error message change.
	* freeze.adb (Freeze_Entity, array type case): Extend handling
	of Implicit_Packing to handle multi-dimensional array case.
	* gnat_rm.texi: Update doc on Implicit_Packing.

From-SVN: r200762
2013-07-08 09:57:16 +02:00
Arnaud Charlet 08daa7828e [multiple changes]
2013-07-08  Robert Dewar  <dewar@adacore.com>

	* exp_ch4.adb: Minor reformatting.

2013-07-08  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb (Complete_Object_Operation): In ASIS mode, if
	the parent node is a selected component and the analysis as a
	call is successful, set the type of the selector in the parent
	node for subsequent checks, because the rewriting of the node
	does not take place during pre-analysis.

From-SVN: r200761
2013-07-08 09:55:24 +02:00
Arnaud Charlet 8d80ff6437 [multiple changes]
2013-07-08  Robert Dewar  <dewar@adacore.com>

	* sem_ch8.adb, exp_ch3.adb: Minor reformatting.

2013-07-08  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch4.adb (Expand_N_Op_Eq): When comparing two
	Bounded_Strings, use the predefined equality function of the
	root Super_String type.

From-SVN: r200760
2013-07-08 09:54:29 +02:00
Arnaud Charlet b2c2839914 [multiple changes]
2013-07-08  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch4.adb (Create_Alternative): Removed.
	(Expand_N_If_Expression): Remove constant
	In_Case_Or_If_Expression. Add local variable
	Ptr_Typ. Inspect the "then" and "else" action lists
	for transient controlled objects and generate code to
	finalize them.	(Is_Controlled_Function_Call): Removed.
	(Process_Action): Update the comment on usage. Update the call
	to Process_Transient_Object. There is no need to continue the
	traversal of the object itself.
	(Process_Actions): New routine.
	(Process_Transient_Object): Moved to the top level of Exp_Ch4. Add
	a new formal and update the related comment on usage.
	* exp_util.adb (Within_Case_Or_If_Expression): Start the search
	from the parent of the node.

2013-07-08  Robert Dewar  <dewar@adacore.com>

	* a-cusyqu.ads, a-cbprqu.ads, s-interr.ads, a-cuprqu.ads,
	a-cbsyqu.ads: Minor reformatting (proper formatting of overriding).

From-SVN: r200759
2013-07-08 09:52:49 +02:00
Arnaud Charlet a530b8bb19 [multiple changes]
2013-07-08  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb (Attribute_Renaming): Treat 'Img as an attribute
	that can be renamed as a function.

2013-07-08  Thomas Quinot  <quinot@adacore.com>

	* g-socket.ads: Document target dependency: FIONBIO may or may not
	be inherited from listening socket by accepted socket.

2013-07-08  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch4.adb (Apply_Accessibility_Check): Do not deallocate the object
	on targets that can't deallocate.

From-SVN: r200758
2013-07-08 09:50:46 +02:00
Arnaud Charlet a35017dc7c [multiple changes]
2013-07-08  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch3.adb (Freeze_Type): Generate a
	subpools-related accessibility check only on profiles that
	include the corresponding library unit.

2013-07-08  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch8.adb: Minor typo fixes.

From-SVN: r200757
2013-07-08 09:48:51 +02:00
Arnaud Charlet 9e40f163c2 [multiple changes]
2013-07-08  Javier Miranda  <miranda@adacore.com>

	* sem_ch8.adb (Save_Scope_Stack): Adding documentation.
	(Restore_Scope_Stack): Remove the elements of the list when the
	visibility of each entity is restored.

2013-07-08  Robert Dewar  <dewar@adacore.com>

	* exp_ch9.adb, sem.ads, sem_util.adb: Minor reformatting.

From-SVN: r200756
2013-07-08 09:47:39 +02:00
Robert Dewar 85f6a831a6 sem_ch8.adb, [...]: Minor reformatting.
2013-07-08  Robert Dewar  <dewar@adacore.com>

	* sem_ch8.adb, sem_ch8.ads: Minor reformatting.

From-SVN: r200755
2013-07-08 09:46:22 +02:00
Arnaud Charlet e530a2d13b [multiple changes]
2013-07-08  Gary Dismukes  <dismukes@adacore.com>

	* gnat_rm.texi: Minor reformatting and rewording for consistency.

2013-07-08  Bob Duff  <duff@adacore.com>

	* exp_ch3.adb (Build_Master): If Desig_Type is an incomplete
	view coming from a limited-with'ed package, use the nonlimited
	view in case it has tasks.

2013-07-08  Javier Miranda  <miranda@adacore.com>

	* sem_ch8.ad[sb] (Save_Scope_Stack): Modified to return the list
	of entities which have been temporarily removed from immediate
	visibility.
	(Restore_Scope_Stack): Modified to receive an
	additional parameter with the list of entities whose immediate
	visibility must be restored.
	* sem.adb (Do_Analyze): Use new version of
	Save_Scope_Stack/Restore_Scope_Stack
	* sem_ch12.adb (Inline_Instance_Body): Use new version of
	Save_Scope_Stack and Restore_Scope_Stack

From-SVN: r200754
2013-07-08 09:44:01 +02:00
Arnaud Charlet a9e892d075 [multiple changes]
2013-07-08  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Pragma): Remove
	variable Unit_Prag. Remove the check on duplicate mode for the
	configuration form of the pragma.
	(Redefinition_Error): Removed.

2013-07-08  Robert Dewar  <dewar@adacore.com>

	* lib.ads, gnat_rm.texi, einfo.ads, sem_ch13.adb: Minor reformatting
	and editing.

From-SVN: r200753
2013-07-08 09:41:19 +02:00
Ed Schonberg 1bc331122b sem_prag.adb (Analyze_PPC_In_Decl_Part): In ASIS mode...
2013-07-08  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb (Analyze_PPC_In_Decl_Part): In ASIS mode,
	pre-analyze only the original expression attached to the source
	aspect, not the relocated expression of the pragma, to prevent
	malformed trees in ASIS mode.
	* sem_ch13.adb (Analyze_Aspect_Specifications): Revert previous
	patch: the expression in the aspect for pre/post must be relocated
	to the pragma for proper analysis.

From-SVN: r200752
2013-07-08 09:39:55 +02:00
Michael Zolotukhin 930b700ba2 i386-opts.h (enum stringop_alg): Add vector_loop.
ChangeLog:
        * config/i386/i386-opts.h (enum stringop_alg): Add vector_loop.
        * config/i386/i386.c (expand_set_or_movmem_via_loop): Use
        adjust_address instead of change_address to keep info about alignment.
        (emit_strmov): Remove.
        (emit_memmov): New function.
        (expand_movmem_epilogue): Refactor to properly handle bigger sizes.
        (expand_movmem_epilogue): Likewise and return updated rtx for
        destination.
        (expand_constant_movmem_prologue): Likewise and return updated rtx for
        destination and source.
        (decide_alignment): Refactor, handle vector_loop.
        (ix86_expand_movmem): Likewise.
        (ix86_expand_setmem): Likewise.
        * config/i386/i386.opt (Enum): Add vector_loop to option stringop_alg.

testsuite/ChangeLog:
        * gcc.target/i386/memcpy-vector_loop-1.c: New.
        * gcc.target/i386/memcpy-vector_loop-2.c: New.

From-SVN: r200751
2013-07-08 06:48:15 +00:00
Edward Smith-Rowland c8dfadf8f3 Add links to the C++14 library implementation status page.
From-SVN: r200749
2013-07-08 02:13:30 +00:00
Edward Smith-Rowland af8bc8f324 Add links to the C++14 librarry implementation status page.
From-SVN: r200748
2013-07-08 02:06:45 +00:00
GCC Administrator 87e8dd4e54 Daily bump.
From-SVN: r200747
2013-07-08 00:16:27 +00:00
Uros Bizjak 7b9d1bd8d1 driver-i386.c (host_detect_local_cpu): Do not check signature_TM2_ebx, it interferes with signature_INTEL_ebx.
* config/i386/driver-i386.c (host_detect_local_cpu): Do not check
	signature_TM2_ebx, it interferes with signature_INTEL_ebx.

From-SVN: r200744
2013-07-07 21:06:45 +02:00
Bruce Korb cf3cfecd98 Remove sample result for CDEF_CPLUSPLUS hack
From-SVN: r200743
2013-07-07 13:57:21 +00:00
GCC Administrator 69e53697bc Daily bump.
From-SVN: r200742
2013-07-07 00:16:35 +00:00
Bruce Korb bbeedee063 Remove cdef_cplusplus hack.
Add comments in front of fixes.
Trim lines over 90 characters to less than 80.

From-SVN: r200738
2013-07-06 17:43:46 +00:00
Uros Bizjak eabb5f48f8 re PR target/57807 (Compile failure with __builtin_ia32_unpcklpd with -masm=intel)
2013-07-06  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/sse.md (sse_movlhps): Change alternative 3
	of operand 2 to "m".

2013-07-06  Uros Bizjak  <ubizjak@gmail.com>

	PR target/57807
	* config/i386/sse.md (iptr): New mode attribute.
	(sse2_movq128): Add pointer size overrides for Intel asm dialect.
	(<sse>_vm<plusminus_insn><mode>3): Ditto.
	(<sse>_vmmul<mode>3): Ditto.
	(<sse>_vmdiv<mode>3): Ditto.
	(sse_vmrcpv4sf2): Ditto.
	(<sse>_vmsqrt<mode>2): Ditto.
	(sse_vmrsqrtv4sf2): Ditto.
	(<sse>_vm<code><mode>3): Ditto.
	(avx_vmcmp<mode>3): Ditto.
	(<sse>_vmmaskcmp<mode>3): Ditto.
	(<sse>_comi): Ditto.
	(<sse>_ucomi): Ditto.
	(*xop_vmfrcz_<mode>): Ditto.
	(*fmai_fmadd_<mode>): Ditto.
	(*fmai_fmsub_<mode>): Ditto.
	(*fmai_fnmadd_<mode>): Ditto.
	(*fmai_fnmsub_<mode>): Ditto.
	(*fma4i_vmfmadd_<mode>): Ditto.
	(*fma4i_vmfmsub_<mode>): Ditto.
	(*fma4i_vmfnmadd_<mode>): Ditto.
	(*fma4i_vmfnmsub_<mode>): Ditto.
	(*xop_vmfrcz_<mode>): Ditto.
	(sse_cvtps2pi): Ditto.
	(sse_cvttps2pi): Ditto.
	(sse_cvtss2si): Ditto.
	(sse_cvtss2si_2): Ditto.
	(sse_cvtss2siq_2): Ditto.
	(sse_cvttss2si): Ditto.
	(sse_cvttss2siq): Ditto.
	(sse_cvtsd2si): Ditto.
	(sse_cvtsd2si_2): Ditto.
	(sse_cvtsd2siq_2): Ditto.
	(sse_cvttsd2si): Ditto.
	(sse_cvttsd2siq): Ditto.
	(sse_cvtsd2ss): Ditto.
	(sse_cvtss2sd): Ditto.
	(avx2_pbroadcast<mode>): Ditto.
	(avx2_pbroadcast<mode>_1): Ditto.
	(*avx_vperm_broadcast_v4sf): Ditto.

	(sse_movhlps): Ditto for movlp[sd]/movhp[sd] alternatives.
	(sse_movlhps): Ditto.
	(sse_storehps): Ditto.
	(sse_loadhps): Ditto.
	(sse_storelps): Ditto.
	(sse_loadlps): Ditto.
	(*vec_concatv4sf): Ditto.
	(*vec_interleave_highv2df): Ditto.
	(*vec_interleave_lowv2df): Ditto.
	(*vec_extractv2df_1_sse): Ditto.
	(*vec_extractv2df_0_sse): Ditto.
	(sse2_storelpd): Ditto.
	(sse2_loadlpd): Ditto.
	(sse2_movsd): Ditto.
	(*vec_concatv4si): Ditto.
	(vec_concatv2di): Ditto.

	* config/i386/mmx.md (mmx_punpcklbw): Add pointer size overrides
	for Intel asm dialect.
	(mmx_punpcklwd): Ditto.
	(mmx_punpckldq): Ditto.

	* config/i386/i386.c (ix86_print_operand) ['H']: Output 'qword ptr'
	for intel assembler dialect.

testsuite/ChangeLog:

2013-07-06  Uros Bizjak  <ubizjak@gmail.com>

	PR target/57807
	* gcc.target/i386/pr57807.c: New test.

From-SVN: r200737
2013-07-06 13:53:28 +02:00
Jakub Jelinek 1f6eac9041 re PR target/29776 (result of ffs/clz/ctz/popcount/parity are already sign-extended)
PR target/29776
	* fold-const.c (tree_call_nonnegative_warnv_p): Return true
	for BUILT_IN_C{LZ,LRSB}*.
	* tree.h (CASE_INT_FN): Add FN##IMAX case.
	* tree-vrp.c (extract_range_basic): Handle
	BUILT_IN_{FFS,PARITY,POPCOUNT,C{LZ,TZ,LRSB}}*.  For
	BUILT_IN_CONSTANT_P if argument isn't (D) of PARM_DECL,
	fall thru to code calling set_value*.
	* builtins.c (expand_builtin): Remove *IMAX cases.
	(fold_builtin_bitop): For BUILT_IN_CLRSB* return NULL_TREE
	if width is bigger than 2*HWI.

	* libgcc2.c (__floattisf): Avoid undefined signed overflow.

	* gcc.dg/tree-ssa/vrp89.c: New test.

From-SVN: r200731
2013-07-06 11:34:17 +02:00
Paolo Carlini 5504e5d864 re PR c++/28262 (Inconsistent "default arguments are only permitted for function parameters".)
/cp
2013-07-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/28262
	* parser.c (cp_parser_init_declarator): If we are parsing a typedef
	set parser->default_arg_ok_p to false before cp_parser_declarator.

/testsuite
2013-07-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/28262
	* g++.dg/parse/defarg16.C: New.

From-SVN: r200730
2013-07-06 08:54:56 +00:00
GCC Administrator 90b0f444fa Daily bump.
From-SVN: r200728
2013-07-06 00:16:37 +00:00
Paolo Carlini 110374e494 const_iterator.cc: Tweak, avoid potential undefined behavior.
2013-07-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
	Tweak, avoid potential undefined behavior.
	* testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
	Likewise.
	* testsuite/23_containers/vector/bool/modifiers/insert/
	const_iterator.cc: Likewise.
	* testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
	Likewise.

From-SVN: r200725
2013-07-05 22:22:26 +00:00
François Dumont b3abc9d822 hashtable_policy.h (_ReuseOrAllocNode): Use forward pattern.
2013-07-05  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable_policy.h (_ReuseOrAllocNode): Use forward
	pattern.
	(_MoveReuseOrAllocNode): Remove.
	(_Insert_base): Take a functor defining how the node is generated.
	* include/bits/hashtable.h: Adapt.
	(operator=(initializer_list<value_type>)): Reuse node if any.
	* testsuite/23_containers/unordered_set/instantiation_neg.cc:
	Adjust dg-error line number.
	* testsuite/23_containers/unordered_set/
	not_default_constructible_hash_neg.cc: Likewise.

From-SVN: r200724
2013-07-05 21:21:07 +00:00
Vladimir Makarov 2b778c9d57 re PR rtl-optimization/55342 ([LRA,x86] Non-optimal code for simple loop with LRA)
2013-07-05  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/55342
	* lra-int.h (lra_subreg_reload_pseudos): New.
	* lra.c: Add undoing optional reloads to the block diagram.
	(lra_subreg_reload_pseudos): New.
	(lra_optional_reload_pseudos): Change comments.
	(lra): Init and clear lra_subreg_reload_pseudos.  Clear
	lra_optional_reload_pseudos after undo transformations.
	* lra-assigns.c (pseudo_prefix_title): New.
	(lra_setup_reg_renumber): Use it.
	(spill_for): Ditto.  Check subreg reload pseudos too.
	(assign_by_spills): Consider subreg reload pseudos too.
	* lra-constraints.c (simplify_operand_subreg): Use
	lra_subreg_reload_pseudos instead of lra_optional_reload_pseudos.
	(curr_insn_transform): Recognize and do optional reloads.
	(undo_optional_reloads): New.
	(lra_undo_inheritance): Call undo_optional_reloads.

2013-07-05  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/55342
	* gcc.target/i386/pr55342.c: New.

From-SVN: r200723
2013-07-05 20:56:13 +00:00
Uros Bizjak 0ba6aff379 ChangeLog: Fix whitespace.
* ChangeLog: Fix whitespace.
	* testsuite/ChangeLog: Ditto.

From-SVN: r200721
2013-07-05 21:30:57 +02:00
Marcus Shawcroft fb50617336 Fix pr57518.c test case.
From-SVN: r200720
2013-07-05 16:52:48 +00:00
Paolo Carlini 128be7f933 re PR c++/14263 (Cryptic diagnostic for cast from virtual base class not using dynamic_cast)
/cp
2013-07-05  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/14263
	* class.c (build_base_path): Improve diagnostic.

/testsuite
2013-07-05  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/14263
	* g++.dg/inherit/virtual10.C: New.

From-SVN: r200718
2013-07-05 16:28:35 +00:00
Hristian Kirtchev 1c6269d3f5 aspects.adb: Add an entry for SPARK_Mode in table Canonical_Aspect.
2013-07-05  Hristian Kirtchev  <kirtchev@adacore.com>

	* aspects.adb: Add an entry for SPARK_Mode in table Canonical_Aspect.
	* aspects.ads: Add an entry for SPARK_Mode in tables Aspect_Id,
	Aspect_Argument, Aspect_Names.
	* atree.adb (Node32): New routine.
	(Set_Node32): New routine.
	* atree.ads (Node32): New routine.
	(Set_Node32): New routine.
	* einfo.adb: Node32 is now used as SPARK_Mode_Pragmas.
	(Set_SPARK_Mode_Pragmas): New routine.
	(SPARK_Mode_Pragmas): New routine.
	(Write_Field32_Name): Add and entry for SPARK_Modes.
	* einfo.ads: Add attribute SPARK_Mode_Pragmas along with usage
	in various entities.
	(Set_SPARK_Mode_Pragmas): New routine and
	pragma Inline.
	(SPARK_Mode_Pragmas): New routine and pragma Inline.
	* gnat_rm.texi: Add sections explaining the syntax and semantics
	of aspect/pragma SPARK_Mode.
	* gnat_ugn.texi: Add pragma SPARK_Mode to the list of
	configuration pragmas.
	* lib.adb (Set_SPARK_Mode_Pragma): New routine.
	(SPARK_Mode_Pragma): New routine.
	* lib.ads: Alphabetize the comments on fields of record
	Unit_Record. Add new field SPARK_Mode_Pragma along with
	comment on its usage. Update the layout of record Unit_Record.
	(Set_SPARK_Mode_Pragma): New routine and pragma Inline.
	(SPARK_Mode_Pragma): New routine and pragma Inline.
	* lib-load.adb (Create_Dummy_Package_Unit): Initialize
	field SPARK_Mode_Pragma.
	(Load_Main_Source): Initialize field SPARK_Mode_Pragma.
	(Load_Unit): Initialize field SPARK_Mode_Pragma.
	* lib-writ.adb (Add_Preprocessing_Dependency): Initialize field
	SPARK_Mode_Pragma.
	(Ensure_System_Dependency): Initialize field SPARK_Mode_Pragma.
	* opt.ads: Alphabetize verification flags. Store the
	compilation-wide SPARK mode in variable Global_SPARK_Mode.
	* par-prag.adb: Pragma SPARK_Mode does not need special processing
	by the parser.
	* sem_ch13.adb (Analyze_Aspect_Specifications): Convert aspect
	SPARK_Mode into a pragma.
	(Check_Aspect_At_Freeze_Point): Aspect SPARK_Mode does not need
	delayed processing.
	* sem_prag.adb: Add an entry for SPARK_Mode in table Sig_Flags.
	(Analyze_Pragma): Add processing for pragma SPARK_Mode.
	(Get_SPARK_Mode_Id): New routine.
	(Is_Elaboration_SPARK_Mode): New routine.
	(Is_Private_SPARK_Mode): New routine.
	* sem_prag.ads (Get_SPARK_Mode_Id): New routine.
	(Is_Elaboration_SPARK_Mode): New routine.
	(Is_Private_SPARK_Mode): New routine.
	* sinfo.ads: Update the comment on the usage of field Next_Pragma.
	* snames.ads-tmpl: Add new predefined name for SPARK_Mode and
	Auto. Add new pragma Id for SPARK_Mode.
	* types.ads: Add new type SPARK_Mode_Id.

From-SVN: r200711
2013-07-05 12:57:42 +02:00
Ed Schonberg 9fc154c8cc sem_ch13.adb (Analyze_Aspect_Specifications): For pre/postconditions copy the expression to the generated pragma...
2013-07-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications): For
	pre/postconditions copy the expression to the generated pragma,
	to avoid sharing between the original aspect and the pragma node,
	because in ASIS_Mode both will be independently analyzed.

From-SVN: r200710
2013-07-05 12:52:13 +02:00
Ed Schonberg fa1608c29d exp_ch3.adb (Build_Variant_Record_Equality): Add pairs of formals for each discriminant of an unchecked union.
2013-07-05  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch3.adb (Build_Variant_Record_Equality): Add pairs of
	formals for each discriminant of an unchecked union.
	(Make_Eq_Case): Suprogram accepts a list of discriminants. Nested
	variants are supported. New helper function Corresponding_Formal.
	* exp_ch4.adb (Build_Equality_Call): For unchecked unions,
	loop through discriminants to create list of inferred values,
	and modify call to equality routine accordingly.

From-SVN: r200709
2013-07-05 12:50:49 +02:00
Arnaud Charlet a33f291d93 [multiple changes]
2013-07-05  Claire Dross  <dross@adacore.com>

	* a-cfdlli.ads, a-cfhama.ads, a-cfhase.ads, a-cforma.ads,
	a-cforse.ads, a-cofove.ads: Add preconditions when needed +
	container types are not tagged any more.

2013-07-05  Thomas Quinot  <quinot@adacore.com>

	* freeze.adb (Freeze_Entity): For an object with captured
	initialization statements, do not remove Init_Stmts from the
	enclosing list, as Freeze_All might rely on it to know where to
	stop freezing.

From-SVN: r200708
2013-07-05 12:49:52 +02:00
Robert Dewar 16788d44af exp_ch4.adb, [...]: Minor reformatting.
2013-07-05  Robert Dewar  <dewar@adacore.com>

	* exp_ch4.adb, a-cfdlli.ads, a-ngelfu.ads, s-bignum.adb: Minor
	reformatting.

From-SVN: r200707
2013-07-05 12:44:22 +02:00
Hristian Kirtchev da1b76c165 exp_ch4.adb (Expand_Composite_Equality): Use the full view when the base type is private.
2013-07-05  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch4.adb (Expand_Composite_Equality): Use the full view
	when the base type is private.

From-SVN: r200706
2013-07-05 12:41:59 +02:00
Arnaud Charlet 67a90476cf [multiple changes]
2013-07-05  Claire Dross  <dross@adacore.com>

	* a-cfdlli.ads: Add preconditions when needed.

2013-07-05  Robert Dewar  <dewar@adacore.com>

	* sem_ch8.adb: Minor reformatting.

2013-07-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Access_Subprogram_Declaration): Use
	Generate_Reference_To_Formals.
	* lib-xref.adb (Generate_Reference_To_Formals): In the case of
	access to subprograms, the formals are found in the designated
	subprogram type.

2013-07-05  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Document that comments can be lined up with
	previous non-blank line.
	* styleg.adb (Check_Comment): Allow indentation to match previous
	non-blank line (Same_Column_As_Previous_Line): New function

From-SVN: r200705
2013-07-05 12:40:03 +02:00
Arnaud Charlet 6ee07c611c [multiple changes]
2013-07-05  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Update doc on missing pragmas.
	* sem_ch12.adb: Minor comment additions.

2013-07-05  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Pragma): Ensure that
	Contract_Cases, Depends and Global are analyzed when they apply
	to a subprogram compilation unit. The pragmas are all added
	unconditionally to the construct's contract. This ensures that
	proof tools can locate the pragmas.

2013-07-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb (Freeze_Actual_Profile): An instance within
	a generic unit does not freeze a generic private type of the
	enclosing generic. This rule must also apply to a type derived
	from a generic private type.

From-SVN: r200704
2013-07-05 12:37:33 +02:00
Paolo Carlini 8b30e1668e const_iterator.cc: Tweak, avoid potential undefined behavior.
2013-07-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
	Tweak, avoid potential undefined behavior.
	* testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
	Likewise.
	* testsuite/23_containers/vector/bool/modifiers/insert/
	const_iterator.cc: Likewise.
	* testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
	Likewise.

From-SVN: r200703
2013-07-05 10:32:20 +00:00
Arnaud Charlet af6258ba31 [multiple changes]
2013-07-05  Arnaud Charlet  <charlet@adacore.com>

	* gnat_rm.texi: Add missing documentation for pragmas.

2013-07-05  Yannick Moy  <moy@adacore.com>

	* sem_ch12.adb: Minor comment.

From-SVN: r200702
2013-07-05 12:27:48 +02:00
Robert Dewar 4d20c95915 gnat_rm.texi: Document that -gnatR and -gnatD cannot be used together.
2013-07-05  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Document that -gnatR and -gnatD cannot be used
	together.
	* switch-c.adb: Do not allow -gnatD and -gnatR to both be
	specified.

From-SVN: r200701
2013-07-05 12:26:21 +02:00
Arnaud Charlet a1390a6ef6 [multiple changes]
2013-07-05  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Add missing documentation for pragmas.
	* sem_ch8.adb: Minor reformatting.
	* gnat_ugn.texi: Document that -gnatR and -gnatD cannot be used
	together.

2013-07-05  Yannick Moy  <moy@adacore.com>

	* sem_ch12.ads, sem_ch12.adb (Need_Subprogram_Instance_Body): Force
	instance of subprogram body in SPARK mode, by testing Expander_Active
	(set in SPARK mode) instead of Full_Expander_Active (not set in
	SPARK mode).
	* sem_ch8.adb: Minor reformatting.

From-SVN: r200700
2013-07-05 12:25:05 +02:00
Robert Dewar d9adb08caa freeze.adb (Freeze_Entity): Remove test of obsolete flag Propagate_Exceptions...
2013-07-05  Robert Dewar  <dewar@adacore.com>

	* freeze.adb (Freeze_Entity): Remove test of obsolete flag
	Propagate_Exceptions, and associated useless code that did
	nothing.
	* gnat_rm.texi: Add documentation for obsolete pragma
	Propagate_Exceptions.
	* opt.ads (Propagate_Exceptions): Obsolete flag removed.
	* sem_prag.adb (Analyze_Pragma, case Propagate_Exceptions):
	Remove useless and obsolete setting of Propagate_Exceptions flag.

From-SVN: r200698
2013-07-05 12:21:56 +02:00
Robert Dewar 4672940951 gnat_rm.texi, [...]: Minor comment/text fixes.
2013-07-05  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi, sem_prag.adb: Minor comment/text fixes.

From-SVN: r200697
2013-07-05 11:52:38 +02:00
Robert Dewar e4e61dce54 gnat_rm.texi: Add missing doc for various pragmas.
2013-07-05  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Add missing doc for various pragmas.

From-SVN: r200696
2013-07-05 11:51:55 +02:00
Robert Dewar bbf1aec2f2 par_sco.adb, [...]: Minor reformatting.
2013-07-05  Robert Dewar  <dewar@adacore.com>

	* par_sco.adb, sem_ch12.adb, par-ch5.adb: Minor reformatting.
	* gnat_rm.texi: Document pragma Profile_Warnings.
	* restrict.ads, sem_prag.adb: Minor reformatting.

From-SVN: r200695
2013-07-05 11:47:41 +02:00
Arnaud Charlet fd3fa68fbb [multiple changes]
2013-07-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Check_Formal_Package_Instance): Handle properly
	a formal subprogram that was defaulted in the formal package.

2013-07-05  Thomas Quinot  <quinot@adacore.com>

	* par_sco.adb (Traverse_Declarations_Or_Statements): Ignore
	N_Implicit_Label_Declaration nodes.

From-SVN: r200694
2013-07-05 11:43:13 +02:00
Thomas Quinot 207156e4f8 * tree-complex.c (expand_complex_operations_1): Fix typo.
From-SVN: r200693
2013-07-05 11:40:07 +02:00