summaryrefslogtreecommitdiff
path: root/gcc/ada
Commit message (Collapse)AuthorAgeFilesLines
* 2015-10-23 Bob Duff <duff@adacore.com>charlet2015-10-233-16/+18
| | | | | | | | | | | | | | * a-convec.adb (Copy): Make sure C is initialized on all paths, including when Checks is False. 2015-10-23 Eric Botcazou <ebotcazou@adacore.com> * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Remove error as unreachable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229242 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-23 Arnaud Charlet <charlet@adacore.com>charlet2015-10-238-25/+384
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnat1drv.adb (Adjust_Global_Switches): Adjust. 2015-10-23 Hristian Kirtchev <kirtchev@adacore.com> * exp_dbug.ads, exp_dbug.adb (Get_External_Name): The special prefix for ignored Ghost entities is now ___ghost_. 2015-10-23 Hristian Kirtchev <kirtchev@adacore.com> * ghost.adb (Is_Subject_To_Ghost): Check the original node when searching for pragma Ghost to catch cases where a source construct has been rewritten into something else. 2015-10-23 Ed Schonberg <schonberg@adacore.com> * einfo.ads, einfo.adb (Rewritten_For_C): New flag on functions that return a constrained array type. When generating C these functions are rewritten as procedures with an out parameter, and calls to such functions are rewritten accordingly. * exp_ch6.adb (Expand_N_Subprogram_Declaration): When Modify_Tree_For_C is set and the function returns a constrained array type, generate a procedure declaration with an additional out parameter. Mark original function as Rewritten_For_C. The new declaration is inserted in tree immediately after current declaration. (Expand_Subprogram_Body): If entity is marked Rewritten_For_C, generate body of corresponding procedure using declarations and statements for function body. Replace return statements with assignments to the out parameter, followed by a simple return statement. (Rewrite_Function_Call_For_C): New procedure to replace a function call that returns an array by a procedure call. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229241 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-23 Hristian Kirtchev <kirtchev@adacore.com>charlet2015-10-237-24/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_util.adb (Denotes_Iterator): New routine. (Is_Iterator): Code cleanup. Factor out the detection of a predefined iterator. As a result this fixes a missing case where a tagged type implements interface Reversible_Iterator. 2015-10-23 Ed Schonberg <schonberg@adacore.com> * sem_attr.adb (Eval_Attribute): Constant-fold 'Enabled if not within a generic unit, even if expander is not active, so that instances of container packages remain preelaborable in -gnatc mode. 2015-10-23 Tristan Gingold <gingold@adacore.com> * init.c (__gnat_sigtramp): New assembly function for arm64-darwin. (__gnat_error_handler): Use trampoline for arm64. 2015-10-23 Ed Schonberg <schonberg@adacore.com> * exp_ch3.adb (Expand_N_Object_Declaration): if the type of the object is a class-wide limited interface type, the expression is not restricted to the forms specified for limited types. 2015-10-23 Vincent Celier <celier@adacore.com> * gnatname.adb: Code clean up. * s-taasde.ads: Fix comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229240 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-23 Ed Schonberg <schonberg@adacore.com>charlet2015-10-234-6/+25
| | | | | | | | | | | | | | | | | | | * sem_util.adb (Is_Iterator, Is_Reversible_iterator): Use root type to determine whether the type is a descendant of the corresponding interface type, so take into account multiple levels of subtypes and derivations. 2015-10-23 Olivier Hainque <hainque@adacore.com> * tracebak.c: Refine selection of GCC/GENERIC_UNWINDER for tracebacks on x86 & x86_64. (x86 & x86_64): If !SJLJ, always pick the GCC_UNWINDER for x86_64 (not only on linux). * sem_util.ads: Minor fix in comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229239 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-23 Hristian Kirtchev <kirtchev@adacore.com>charlet2015-10-234-10/+60
| | | | | | | | | | | | | | * sem_prag.adb (Analyze_Pragma): Pragma Volatile_Function should not apply to a function instantiation. * sem_util.adb (Has_Effectively_Volatile_Profile): New routine. (Is_Volatile_Function): An instance of Ada.Unchecked_Conversion is a volatile function when its profile contains an effectively volatile type. * sem_util.ads (Has_Effectively_Volatile_Profile): New routine. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229238 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-23 Arnaud Charlet <charlet@adacore.com>charlet2015-10-236-49/+94
| | | | | | | | | | | | | | | | | | | * exp_unst.adb (Unnest_Subprogram): Complete previous change and update comments. 2015-10-23 Ed Schonberg <schonberg@adacore.com> * sem_util.ads, sem_util.adb (Check_Function_With_Address_Parameter): A subprogram that has an Address parameter and is declared in a Pure package is not considered Pure, because the parameter may be used as a pointer and the referenced data may change even if the address value itself does not. * freeze.adb (Freeze_Subprogram): use it. * exp_ch6.adb (Expand_N_Subprogram_Body): Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229234 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-23 Olivier Hainque <hainque@adacore.com>charlet2015-10-234-30/+58
| | | | | | | | | | | | | | | | | | | | | | | * tracebak.c: Fallback to generic unwinder for gcc-sjlj on x86 & x86_64 linux * tracebak.c: Rework x86 & x86_64 sections to resort to the generic unwinder if __USING_SJLJ_EXCEPTIONS__. 2015-10-23 Javier Miranda <miranda@adacore.com> * sem_util.adb (Check_Function_Writable_Actuals): For function calls restrict the check to elementary types, as requested by RM 6.4.1(6.15/3) 2015-10-23 Arnaud Charlet <charlet@adacore.com> * exp_unst.adb (Unnest_Subprogram): Suppress initialization on Decl_ARECnT since we are taking care of all initializations in the generated code. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229233 138bc75d-0d04-0410-961f-82ee72b054a4
* Adjust previous change.charlet2015-10-231-8/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229232 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-23 Ed Schonberg <schonberg@adacore.com>charlet2015-10-2312-77/+227
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_dim.adb (Analyze_Dimension_Extension_Or_Record_Aggregate): Handle properly a box-initialized aggregate component. 2015-10-23 Yannick Moy <moy@adacore.com> * sem_prag.adb (Analyze_Pragma): Reject Volatile_Function not placed on a function. 2015-10-23 Yannick Moy <moy@adacore.com> * a-extiin.ads, a-reatim.ads, a-interr.ads, a-exetim-mingw.ads, a-exetim-default.ads, a-exetim.ads, a-taside.ads: Add "Global => null" contract on subprograms. * lib-xref-spark_specific.adb: collect scopes for stubs of protected objects 2015-10-23 Arnaud Charlet <charlet@adacore.com> * gnat1drv.adb (Adjust_Global_Switches): Enable Back_Annotate_Rep_Info to get size information from gigi. (Gnat1drv): Code clean ups. * frontend.adb (Frontend): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229231 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-23 Arnaud Charlet <charlet@adacore.com>charlet2015-10-234-11/+28
| | | | | | | | | * gnat1drv.adb (Adjust_Global_Switches): Adjust settings. * sem.adb (Semantics): Remove special case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229230 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-23 Gary Dismukes <dismukes@adacore.com>charlet2015-10-234-34/+39
| | | | | | | | | | | | | * bindgen.adb, restrict.adb: Minor spelling/grammar fixes. 2015-10-23 Hristian Kirtchev <kirtchev@adacore.com> * sem_res.adb (Resolve_Entity_Name): Code cleanup. Check for possible elaboration issues in SPARK when the name denotes a source variable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229228 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-23 Hristian Kirtchev <kirtchev@adacore.com>charlet2015-10-237-286/+395
| | | | | | | | | | | | | | | | * exp_ch7.adb (Process_Transient_Objects): Reimplement to properly handle restriction No_Exception_Propagation. * exp_ch11.adb (Expand_At_End_Handler): Update the parameter profile and all references to Block. * exp_ch11.ads (Expand_At_End_Handler): Update the parameter profile and comment on usage. * exp_intr.adb (Expand_Unc_Deallocation): Reimplement to properly handle restriction No_Exception_Propagation. * gnat1drv.adb, restrict.adb: Update comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229227 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-23 Bob Duff <duff@adacore.com>charlet2015-10-233-53/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_ch6.adb (Expand_N_Extended_Return_Statement): Do not call SS_Release for a block statement enclosing the return statement in the case where a build-in-place function return is returning the result on the secondary stack. This is accomplished by setting the Sec_Stack_Needed_For_Return flag on such blocks. It was already being set for the function itself, and it was already set correctly for blocks in the non-build-in-place case (in Expand_Simple_Function_Return). (Set_Enclosing_Sec_Stack_Return): New procedure to perform the Set_Sec_Stack_Needed_For_Return calls. Called in the build-in-place and non-build-in-place cases. (Expand_Simple_Function_Return): Call Set_Enclosing_Sec_Stack_Return instead of performing the loop in line. 2015-10-23 Bob Duff <duff@adacore.com> * scng.adb (Char_Literal_Case): If an apostrophe follows a reserved word, treat it as a lone apostrophe, rather than the start of a character literal. This was already done for "all", but it needs to be done also for (e.g.) "Delta". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229226 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-23 Bob Duff <duff@adacore.com>charlet2015-10-2321-1388/+1609
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): Use Underlying_Type for B_Typ, in case the Typ is a subtype of a type with unknown discriminants. * g-awk.ads: Minor style fix in comment 2015-10-23 Hristian Kirtchev <kirtchev@adacore.com> * debug.adb: Document the use of debug switch -gnatd.5. * einfo.adb: Code reformatting. (Is_Ghost_Entity): Moved from ghost.adb. * einfo.ads New synthesized attribute Is_Ghost_Enity along with usage in nodes and pragma Inline. (Is_Ghost_Entity: Moved from ghost.ads. * exp_ch3.adb Code reformatting. (Expand_Freeze_Array_Type): Capture, set and restore the Ghost mode. (Expand_Freeze_Class_Wide_Type): Capture, set and restore the Ghost mode. (Expand_Freeze_Enumeration_Type): Capture, set and restore the Ghost mode. (Expand_Freeze_Record_Type): Capture, set and restore the Ghost mode. * exp_ch6.adb (Expand_Subprogram_Contract): Do not expand the contract of an ignored Ghost subprogram. * exp_ch13.adb Add with and use clauses for Ghost. (Expand_N_Freeze_Entity): Capture, set and restore the Ghost mode. * exp_dbug.adb (Get_External_Name): Code reformatting. Add a special prefix for ignored Ghost entities or when requested by -gnatd.5 for any Ghost entity. * exp_dbug.ads Document the use of prefix "_ghost_" for ignored Ghost entities. * exp_prag.adb (Expand_Pragma_Check): Capture, set and restore the Ghost mode. (Expand_Pragma_Loop_Variant): Use In_Assertion_Expr to signal the original context. * ghost.adb (Check_Ghost_Overriding): Code cleanup. (Is_Ghost_Entity): Moved to einfo.adb. (Is_OK_Declaration): Move the assertion expression check to the outer level. (Is_OK_Ghost_Context): An assertion expression is a valid Ghost context. * ghost.ads (Is_Ghost_Entity): Moved to einfo.ads. * sem_ch3.adb (Analyze_Object_Contract): A source Ghost object cannot be imported or exported. Mark internally generated objects as Ghost when applicable. (Make_Class_Wide_Type): Inherit the ghostness of the root tagged type. * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Mark a stand alone subprogram body as Ghost when applicable. (Analyze_Subprogram_Declaration): Mark internally generated subprograms as Ghost when applicable. * sem_ch7.adb: Code cleanup. * sem_ch13.adb (Add_Invariants): Add various formal parameters to break dependency on global variables. (Build_Invariant_Procedure): Code cleanup. Capture, set and restore the Ghost mode. * sem_res.adb (Resolve_Actuals): The actual parameter of a source Ghost subprogram whose formal is of mode IN OUT or OUT must be a Ghost variable. 2015-10-23 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch8.adb Code cleanup. (Find_Expanded_Name): Replace the call to In_Pragmas_Depends_Or_Global with a call to In_Abstract_View_Pragma. (In_Abstract_View_Pragma): New routine. (In_Pragmas_Depends_Or_Global): Removed. * sem_prag.adb (Analyze_Part_Of): Catch a case where indicator Part_Of denotes the abstract view of a variable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229224 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-23 Arnaud Charlet <charlet@adacore.com>charlet2015-10-233-0/+35
| | | | | | | | | | | * sem_util.ads (Unique_Defining_Entity): Document the result for tasks and entries. * sem_util.adb (Unique_Entity): Return declaration entity for task and entry bodies git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229222 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix up ChangeLog for rev. 229155.msebor2015-10-221-2/+8
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229195 138bc75d-0d04-0410-961f-82ee72b054a4
* [PATCH 3/9] ENABLE_CHECKING refactoring: Java and Adalaw2015-10-225-23/+24
| | | | | | | | | | | | | | | | | | | | | gcc/java/ChangeLog: 2015-10-05 Mikhail Maltsev <maltsevm@gmail.com> * decl.c (java_mark_decl_local): Use flag_checking instead of ENABLE_CHECKING. gcc/ada/ChangeLog: 2015-10-05 Mikhail Maltsev <maltsevm@gmail.com> * gcc-interface/decl.c (gnat_to_gnu_entity): Use gcc_checking_assert. * gcc-interface/trans.c (assoc_to_constructor): Use flag_checking. * gcc-interface/utils.c (relate_alias_sets): Likewise. * gcc-interface/utils2.c (build_binary_op, build_unary_op): Use gcc_checking_assert git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229185 138bc75d-0d04-0410-961f-82ee72b054a4
* Improve --help output to generate references to option aliases.msebor2015-10-211-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ PR driver/68043 * opts.c (undocumented_msg, use_diagnosed_msg): New globals. (print_filtered_help): Reference aliased option's name and encourage readers to use it in preference to the alias if the former is not documented. Mention when using an option is diagnosed. * gcc.c (display_help): End each sentence with a period. * ada/gcc-interface/lang.opt: End each sentence that describes an option with a period. * c-family/c.opt: Same. * common.opt: Same. * config/aarch64/aarch64.opt: Same. * config/alpha/alpha.opt: Same. * config/arc/arc.opt: Same. * config/arm/arm.opt: Same. * config/avr/avr.opt: Same. * config/bfin/bfin.opt: Same. * config/c6x/c6x.opt: Same. * config/cr16/cr16.opt: Same. * config/cris/cris.opt: Same. * config/cris/linux.opt: Same. * config/darwin.opt: Same. * config/epiphany/epiphany.opt: Same. * config/fr30/fr30.opt: Same. * config/frv/frv.opt: Same. * config/ft32/ft32.opt: Same. * config/g.opt: Same. * config/h8300/h8300.opt: Same. * config/i386/cygming.opt: Same. * config/i386/djgpp.opt: Same. * config/i386/i386.opt: Same. * config/i386/interix.opt: Same. * config/i386/mingw-w64.opt: Same. * config/i386/mingw.opt: Same. * config/ia64/ia64.opt: Same. * config/ia64/ilp32.opt: Same. * config/iq2000/iq2000.opt: Same. * config/linux.opt: Same. * config/lm32/lm32.opt: Same. * config/lynx.opt: Same. * config/m32c/m32c.opt: Same. * config/m32r/m32r.opt: Same. * config/m68k/ieee.opt: Same. * config/m68k/m68k.opt: Same. * config/mcore/mcore.opt: Same. * config/mep/mep.opt: Same. * config/microblaze/microblaze.opt: Same. * config/mips/mips.opt: Same. * config/mmix/mmix.opt: Same. * config/mn10300/mn10300.opt: Same. * config/moxie/moxie.opt: Same. * config/msp430/msp430.opt: Same. * config/nios2/elf.opt: Same. * config/nios2/nios2.opt: Same. * config/nvptx/nvptx.opt: Same. * config/pa/pa-hpux.opt: Same. * config/pa/pa-hpux1010.opt: Same. * config/pa/pa-hpux1111.opt: Same. * config/pa/pa-hpux1131.opt: Same. * config/pa/pa.opt: Same. * config/pa/pa64-hpux.opt: Same. * config/pdp11/pdp11.opt: Same. * config/rl78/rl78.opt: Same. * config/rs6000/476.opt: Same. * config/rs6000/aix64.opt: Same. * config/rs6000/darwin.opt: Same. * config/rs6000/linux64.opt: Same. * config/rs6000/rs6000.opt: Same. * config/rs6000/sysv4.opt: Same. * config/s390/s390.opt: Same. * config/s390/tpf.opt: Same. * config/sh/sh.opt: Same. * config/sol2.opt: Same. * config/sparc/long-double-switch.opt: Same. * config/sparc/sparc.opt: Same. * config/spu/spu.opt: Same. * config/stormy16/stormy16.opt: Same. * config/tilegx/tilegx.opt: Same. * config/tilepro/tilepro.opt: Same. * config/v850/v850.opt: Same. * config/vax/vax.opt: Same. * config/visium/visium.opt: Same. * config/vms/vms.opt: Same. * config/vxworks.opt: Same. * config/xtensa/xtensa.opt: Same. * fortran/lang.opt: Same. testsuite/ PR driver/68043 * gcc.misc-tests/help.exp: Adjust. * lib/options.exp (check_for_options): Add detail to output. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229155 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-20 Yannick Moy <moy@adacore.com>charlet2015-10-2018-40/+96
| | | | | | | | | | | | | | | | | | | | | | * fmap.adb, a-cihama.adb, sem_ch5.adb, make.adb, inline.adb, a-cfhase.adb, scng.adb, sem_ch12.adb, freeze.adb, tempdir.adb, sem_util.adb, sem_res.adb, s-regexp.adb, a-clrefi.adb: Fix coding style for marking start of processing of subprograms. 2015-10-20 Yannick Moy <moy@adacore.com> * lib-xref-spark_specific.adb (Add_SPARK_File): Start traversal by requesting info from stubs. (Traverse_All_Compilation_Units): Remove unused procedure. (Traverse_Declarations_Or_Statements): Handle protected and task units. * lib-xref.ads (Traverse_All_Compilation_Units): Remove unused procedure. * restrict.adb (Check_Restriction): Do not ignore restrictions in GNATprove_Mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229078 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-20 Arnaud Charlet <charlet@adacore.com>charlet2015-10-2033-58/+68
| | | | | | | | | | | | | | * s-valllu.adb, sem_ch3.adb, layout.adb, a-crbtgo.adb, exp_ch9.adb, make.adb, g-diopit.adb, s-valuns.adb, sem_ch9.adb, sem_ch10.adb, sem_ch12.adb, a-tifiio.adb, g-dynhta.adb, uintp.adb, sem_util.adb, sem_res.adb, s-htable.adb, exp_tss.adb, s-soflin.ads, exp_ch6.adb, sem_ch6.adb, a-rbtgbo.adb, par-ch12.adb, sem_ch8.adb, sem_eval.adb, mdll.adb, par-ch5.adb, s-poosiz.adb, sem_ch4.adb, a-ngelfu.adb, s-taspri-solaris.ads, a-cforse.adb: Fix typos. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229077 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-20 Arnaud Charlet <charlet@adacore.com>charlet2015-10-2021-47/+55
| | | | | | | | | | | | * sem_aggr.adb, mlib-prj.adb, prep.adb, eval_fat.adb, rtsfind.adb, freeze.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnatlink.adb, par-ch6.adb, exp_tss.adb, exp_ch4.adb, s-shasto.adb, exp_fixd.adb, sem_ch6.adb, clean.adb, sem_ch8.adb, sem_eval.adb, sem_ch9.adb: Fix typos. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229074 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-20 Ed Schonberg <schonberg@adacore.com>charlet2015-10-204-6/+32
| | | | | | | | | | | | | | | | | | | | | | | * sem_ch11.adb (Analyze_Handled_Statements): If the scope is a postcondition subprogram, do not check for useless assignments because there are no source references in such a body, and the call will lose deferred references from the enclosing subprogram. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb: nalyze_Attribute_Definition_Clause, case 'Address): If either object is controlled the overlay is erroneous, but analysis must be completed so that back-end sees address clause and completes code generation. Improve text of warning. 2015-10-20 Thomas Quinot <quinot@adacore.com> * exp_ch4.adb: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229072 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-20 Bob Duff <duff@adacore.com>charlet2015-10-2022-117/+148
| | | | | | | | | | | | | | | | | | | | | | * s-mudido-affinity.adb (Create): Correct subranges of slices of CPU arrays. 2015-10-20 Arnaud Charlet <charlet@adacore.com> * sinfo.ads, g-pehage.adb, par-ch12.adb, layout.adb, exp_util.adb, sem_aux.adb, make.adb, checks.adb, sem_ch12.adb, sem_res.adb, sem_attr.adb, a-ngelfu.adb, sem_ch4.adb, switch-b.adb, sem_ch6.adb, prj-dect.adb, gnatxref.adb, sem_ch13.adb, lib-xref.adb: Fix typos. 2015-10-20 Tristan Gingold <gingold@adacore.com> * exp_ch4.adb (Expand_Array_Comparison): Use generic code if runtime routine is not available. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229071 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-20 Yannick Moy <moy@adacore.com>charlet2015-10-2021-38/+316
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * a-sytaco.ads (Ada.Synchronous_Task_Control): Package now withs System.Task_Identification. The visible part of the spec has SPARK_Mode. The private part has pragma SPARK_Mode (Off). (Set_True): Added Global and Depends aspects (Set_False): Added Global and Depends aspects (Current_State): Added Volatile_Function aspect and added external state Ada.Task_Identification.Tasking_State as a Global input. (Suspend_Until_True): Added Global and Depends aspects * a-sytaco.adb (Ada.Synchronous_Task_Control): Package body has SPARK_Mode => Off * a-extiin.ads (Ada.Execution_Time.Interrupts): Package now withs Ada.Real_Time and has SPARK_Mode. (Clock): Added Volatile_Function aspect and added external state Ada.Real_Time.Clock_Time as a Global input. * a-reatim.ads (Ada.Real_Time): The visible part of the spec has SPARK_Mode. The private part has pragma SPARK_Mode (Off). The package declares external state Clock_Time with properties Async_Readers and Async_Writers. (Clock): Added Volatile_Function aspect and added external state Clock_Time as a Global input. * a-reatim.adb (Ada.Real_Time): Package body has SPARK_Mode => Off * a-exetim-default.ads, a-exetim-mingw.ads (Ada.Execution_Time): The visible part of the spec has SPARK_Mode. The private part has pragma SPARK_Mode (Off). (Clock): Added Volatile_Function aspect and added external state Clock_Time as a Global input. (Clock_For_Interrupts): Added Volatile_Function aspect and added external state Ada.Real_Time.Clock_Time as a Global input. * a-exetim-mingw.adb (Ada.Execution_Time): Package body has SPARK_Mode => Off * a-interr.ads (Ada.Interrupts): Package now withs Ada.Task_Identification (Is_Reserved): Added SPARK_Mode, Volatile_Function and external state Ada.Task_Identification.Tasking_State as a Global input. (Is_Attached): Added SPARK_Mode, Volatile_Function and external state Ada.Task_Identification.Tasking_State as a Global input. (Attach_Handler): Added SPARK_Mode => Off (Exchange_Handler): Added SPARK_Mode => Off (Detach_Handler): Added SPARK_Mode and external state Ada.Task_Identification.Tasking_State as a Global In_Out. (Reference): Added SPARK_Mode => Off * a-disedf.ads (Get_Deadline): Added SPARK_Mode, Volatile_Function and external state Ada.Task_Identification.Tasking_State as a Global input. * a-taside.ads (Ada.Task_Identification): The visible part of the spec has SPARK_Mode. The private part has pragma SPARK_Mode (Off). The package declares external state Tasking_State with properties Async_Readers and Async_Writers. (Current_Task): Added Volatile_Function aspect and added external state Tasking_State as a Global input. (Environment_Task): Added SPARK_Mode => Off (Is_Terminated): Added Volatile_Function aspect and added external state Tasking_State as a Global input. (Is_Callable): Added Volatile_Function aspect and added external state Tasking_State as a Global input. (Activation_Is_Complete): Added Volatile_Function aspect and added external state Tasking_State as a Global input. * a-taside.adb (Ada.Task_Identification): Package body has SPARK_Mode => Off. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * atree.ads, atree.adb: Enable List38 and List39 on entities. * einfo.ads, einfo.adb (Class_Wide_Preconds) new attribute defined on subprograms. Holds the list of class-wide precondition functions inherited from ancestors. Each such function is an instantiation of the generic function generated from an explicit aspect specification for a class-wide precondition. A type is an ancestor of itself, and therefore a root type has such an instance on its own list. (Class_Wide_Postconds): ditto for postconditions. 2015-10-20 Vincent Celier <celier@adacore.com> * prj-attr.adb: Add packages Prove and GnatTest. 2015-10-20 Steve Baird <baird@adacore.com> * a-conhel.adb: Add an Annotate pragma to help suppress CodePeer's analysis of internals of container generic instances. This pragma has no other effect. * a-conhel.adb (Generic_Implementation) Add "pragma Annotate (CodePeer, Skip_Analysis);". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229070 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-20 Steve Baird <baird@adacore.com>charlet2015-10-208-30/+61
| | | | | | | | | | | | | | | | | | | | | * pprint.adb: Code clean up. 2015-10-20 Bob Duff <duff@adacore.com> * a-cfinve.ads, a-coboho.ads: Improve comments. * a-coboho.adb (Size_In_Storage_Elements): Improve error message in case of "Size is too big" exception. 2015-10-20 Bob Duff <duff@adacore.com> * a-contai.ads: Remove check names (moved to snames.ads-tmpl). * snames.ads-tmpl: Add check names that were previously in a-contai.ads, so they are now visible in configuration files. * types.ads: Add checks corresponding to snames.ads-tmpl. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229069 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-20 Ed Schonberg <schonberg@adacore.com>charlet2015-10-204-110/+209
| | | | | | | | | | | | | | | | | * sem_ch5.adb (Analyze_Loop_Statement): Attach generated loop identifier to the tree, because it may be the root of a tree traversal in Pop_Scope when freeze actions are pending. 2015-10-20 Steve Baird <baird@adacore.com> * pprint.ads (Expression_Image) Add new generic formal flag Hide_Parameter_Blocks. * pprint.adb (Expression_Image) If new flag is set, then display dereferences of parameter block components accordingly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229068 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-20 Ed Schonberg <schonberg@adacore.com>charlet2015-10-206-157/+272
| | | | | | | | | | | | | | | | | | | | | * sem_prag.adb: Code clean up. 2015-10-20 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch6.adb (Expand_N_Extended_Return_Statement): Code cleanup. (Make_Build_In_Place_Call_In_Object_Declaration): Update the parameter profile. Code cleanup. Request debug info for the object renaming declaration. (Move_Activation_Chain): Add new formal parameter and update the comment on usage. * exp_ch6.ads (Make_Build_In_Place_Call_In_Object_Declaration): Update the parameter profile and comment on usage. * sem_util.ads, sem_util.adb (Remove_Overloaded_Entity): New routine, currently unused. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229067 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-20 Ed Schonberg <schonberg@adacore.com>charlet2015-10-203-3/+31
| | | | | | | | | | | | | | * sem_ch13.adb (Analyze_One_Aspect, case Aspect_Disable_Controlled): If expander is not active, pre-analyze expression anyway for ASIS and other tools use. * sem_prag.adb (Build_Generic_Class_Condition): Handle properly anonymous access types in parameter specifications. Make the formal type a formal derived type of the controlling type of the subprogram. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229064 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-20 Tristan Gingold <gingold@adacore.com>charlet2015-10-204-0/+20
| | | | | | | | | | | * s-rident.ads: No_Task_At_Interrupt_Priority: New restriction. * sem_prag.adb (Analyze_Pragma): Check the restriction. * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Check the restriction (for aspects). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229063 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-20 Gary Dismukes <dismukes@adacore.com>charlet2015-10-202-3/+7
| | | | | | | | * sem_prag.adb: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229061 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-20 Tristan Gingold <gingold@adacore.com>charlet2015-10-2018-246/+512
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_util.adb (Is_Protected_Self_Reference): Remove reference to UET_Address in comment. * sem_attr.adb (Check_Unit_Name): Adjust comment. (Analyze_Attribute): Remove handling of UET_Address. * sem_attr.ads (Attribute_Impl_Def): Remove Attribute_UET_Address. * snames.ads-tmpl Remove Name_UET_Address, Attribute_UET_Address. * exp_attr.adb (Expand_N_Attribute_Reference): Remove Attribute_UET_Address. 2015-10-20 Bob Duff <duff@adacore.com> * a-cbdlli.adb, a-cdlili.adb, a-chtgop.adb, a-cidlli.adb, * a-cobove.adb, a-coinve.adb, a-convec.adb, a-crbtgo.adb ("="): Avoid modifying the tampering counts unnecessarily. (Adjust): Zero tampering counts unconditionally. 2015-10-20 Jerome Lambourg <lambourg@adacore.com> * init.c: Fix build issue on arm-vx6 when building the RTP run-time. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Analyze_Object_Declaration): If the expression is an aggregate and compilation is in -gnatI mode (ignore rep clauses) do not delay resolution of aggregate, to prevent freeze actions out of order in the backend. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_prag.ads, sem_prag.adb (Build_Generic_Class_Condition): New procedure to construct a generic function for a class-wide precondition, to implement AI12-0113 concerning the new semantics of class-wide preconditions for overriding uperations. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229060 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-20 Hristian Kirtchev <kirtchev@adacore.com>charlet2015-10-203-41/+68
| | | | | | | | | | | | | * sem_util.adb (Find_Actual): The routine is now capable of operating on entry calls. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_res.adb: Remove redundant check. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229059 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-20 Jerome Lambourg <lambourg@adacore.com>charlet2015-10-2021-95/+256
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * init.c (__gnat_vxsim_error_handler): Completely disable on VxWorks-7 as the VSBs used to build gcc do not support vxsim architecture. 2015-10-20 Claire Dross <dross@adacore.com> * a-cfdlli.ads, a-cfinve.ads, a-cofove.ads (Generic_Sorting): Explicit SPARK_Mode. * a-cfhase.ads, a-cforse.ads (Generic_Keys): Explicit SPARK_Mode. 2015-10-20 Tristan Gingold <gingold@adacore.com> * exp_ch9.adb (Expand_N_Protected_Type_Declaration): Check for No_Implicit_Protected_Object_Allocations. * fe.h (Check_No_Implicit_Task_Alloc, Check_No_Implicit_Protected_Alloc): Define and declare. * restrict.ads, restrict.adb (Check_No_Implicit_Task_Alloc, Check_No_Implicit_Protected_Alloc): New procedures to check the restrictions. * s-rident.ads (No_Implicit_Task_Allocations) (No_Implicit_Protected_Object_Allocations): Declare new restrictions. 2015-10-20 Yannick Moy <moy@adacore.com> * sem_res.adb (Resolve_Selected_Component): Only set flag when component is defined in a variant part. * sem_util.adb, * sem_util.ads (Is_Declared_Within_Variant): Promote local query as publicy visible one for use in Resolve_Selected_Component. 2015-10-20 Philippe Gil <gil@adacore.com> * g-debpoo.adb: allow instrumented System.Memory to use Debug_Pool from foreign threads. * g-debpoo.adb (Print_Traceback): NEW print traceback if available added to support Stack_Trace_Depth = 0. (Print_Address): NEW print System.Address without no secondary stack use (Address_Image uses secondary stack) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229058 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-20 Yannick Moy <moy@adacore.com>charlet2015-10-2015-22/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_ch9.adb (Expand_Entry_Barrier): Default initialize local variable Func. 2015-10-20 Jerome Lambourg <lambourg@adacore.com> * init.c (__gnat_error_handler for vxworks): Force SPE bit in the MSR when handling signals 2015-10-20 Arnaud Charlet <charlet@adacore.com> * einfo.ads, sem_ch12.adb, sem_ch6.adb, table.ads, s-stposu.ads, g-table.ads, g-dyntab.ads, makeutl.ads, a-crdlli.ads: Fix typos. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch5.adb (Analyze_Loop_Statement): Element iterators over multidimensional arrays create additional loops during expansion. For such loops we create a label as a scope name. Attach this label properly to tree, for use in GNATProve over such element iterators. * sem_attr.adb (Analyze_Attribute, case Loop_Entry): The loop to which the attribute applies comes from source, not from expansion of an element iterator or a quantified expression. * exp_attr.adb (Expand_N_Attribute_Reference): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229057 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-20 Ed Schonberg <schonberg@adacore.com>charlet2015-10-2017-64/+217
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_ch6.adb (Expand_Call): Check for a call to a function declared in a Dimension I/O package, to handle the new Image function. 2015-10-20 Eric Botcazou <ebotcazou@adacore.com> * inline.ads: Minor comment fixes. 2015-10-20 Bob Duff <duff@adacore.com> * a-comutr.ads (Tree_Node_Access): Add No_Strict_Aliasing, because we're doing unchecked conversions with this pointer. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * exp_ch9.adb (Next_Protected_Operation): An expression function used as a completion can be the next protected operation in a protected body. 2015-10-20 Hristian Kirtchev <kirtchev@adacore.com> * sem_res.adb (Is_OK_Volatile_Context): Add a guard when checking a possible call to an instance of Ada.Unchecked_Conversion to avoid testing protected function calls. Allow references to protected objects in prefixed protected calls. (Is_Protected_Operation_Call): New routine. 2015-10-20 Yannick Moy <moy@adacore.com> * exp_ch5.adb, exp_ch5.ads (Expand_Iterator_Loop_Over_Array): Make query public. Remove code handling with iterator loop over array of the 'in' form, which is not allowed in Ada. * exp_spark.adb (Expand_SPARK): Expand loop statements that take the form of an iterator over an array. * sem_ch5.adb (Analyze_Loop_Statement): Do not analyze loop statements that take the form of an iterator over an array, so that the rewritten form gets analyzed instead. * sem_util.adb, sem_util.ads (Is_Iterator_Over_Array): New query to recognize iterators over arrays. 2015-10-20 Arnaud Charlet <charlet@adacore.com> * s-excdeb.ads, s-excdeb.adb (Debug_Raise_Exception): Add parameter Message. * a-except.adb (Raise_Current_Excep): Update call to Debug_Raise_Exception. * a-except-2005.adb (Complete_Occurrence): Ditto. * sem_ch12.adb: Whitespace fix. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229056 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix typos.charlet2015-10-202-31/+30
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229054 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-20 Yannick Moy <moy@adacore.com>charlet2015-10-206-29/+91
| | | | | | | | | | | | | | | | | | | | | * sem_warn.adb (Is_OK_Fully_Initialized): Consider types with DIC as fully default initialized. * sem_ch6.adb: minor style fix in comment 2015-10-20 Ed Schonberg <schonberg@adacore.com> * s-diflio.ads, s-diflio.adb (Image): New function for dimensioned quantities, to produce a string that includes the dimension synbol for the quantity, or the vector of dimensions in standard notation. * sem_dim.adb (Expand_Put_Call_With_Symbol): Process new function Image, to include dimension information in the generated string, identical to the string produced by the Put procedure on a string for a dimensioned quantity. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229053 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-20 Hristian Kirtchev <kirtchev@adacore.com>charlet2015-10-2012-28/+186
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_ch7.adb (Process_Declarations): A loop parameter does not require finalization actions. 2015-10-20 Eric Botcazou <ebotcazou@adacore.com> * exp_ch6.adb (Expand_Simple_Function_Return): Do not create an actual subtype for a mutable record return type if the expression is itself a function call. 2015-10-20 Dmitriy Anisimkov <anisimko@adacore.com> * s-atocou.adb, s-atocou-builtin.adb: Fix implementation description related to new type support. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Resolve_Explicit_Dererence): Call Analyze_Dimension to propagate dimension information from prefix. * sem_dim.adb (Analyze_Dimension): Handle Explicit_Dereference. * inline.ads: minor whitespace fix in comment * sem_ch6.adb: minor gramar fix in comment 2015-10-20 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch3.adb (Analyze_Object_Contract): A protected type or a protected object is allowed to have a discriminated part. 2015-10-20 Bob Duff <duff@adacore.com> * sem_util.adb (Requires_Transient_Scope): Return true for mutable records if the maximum size is very large. 2015-10-20 Eric Botcazou <ebotcazou@adacore.com> * a-except-2005.adb (To_Stderr): Import Put_Char_Stderr with the same signature as in System.IO.Put. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229052 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-20 Bob Duff <duff@adacore.com>charlet2015-10-208-11/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * a-cobove.adb (Set_Length): Restore previous logic, but with "Checks and then" on the check. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * par-ch3.adb (P_Known_Discriminant_Part_Opt): Handle properly a misplaced "constant" keyword in a discriminant specification. 2015-10-20 Steve Baird <baird@adacore.com> * einfo.ads (Is_Param_Block_Component_Type): New function decl for querying the flag. (Set_Is_Param_Block_Component_Type): New procedure decl for setting the flag. * einfo.adb (Is_Param_Block_Component_Type): New function body. (Set_Is_Param_Block_Component_Type): New procedure body. (Write_Entity_Flags): Display the new flag. * exp_ch9.adb (Build_Parameter_Block): Set flag on parameter block component types. (Expand_N_Entry_Declaration): Set flag on parameter block component types. 2015-10-20 Steve Baird <baird@adacore.com> * sem_elab.adb: Do not pass an N_Attribute_Reference node to Sinfo.Set_No_Elaboration_Check. * sem_elab.adb (Check_Elab_Call) Do not pass a non-call node (specifically, an N_Attribute_Reference node) to Sinfo.Set_No_Elaboration_Check. 2015-10-20 Tristan Gingold <gingold@adacore.com> * adaint.c: File names are case sensitive on aarch64-ios. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229051 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-20 Bob Duff <duff@adacore.com>charlet2015-10-2021-37/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * a-cbdlli.ads, a-cbhase.ads, a-cbmutr.ads, a-cborse.ads, * a-cdlili.ads, a-cidlli.ads, a-cihase.ads, a-cimutr.ads, * a-ciorse.ads, a-cobove.ads, a-cohase.ads, a-coinve.ads, * a-comutr.ads, a-convec.ads, a-coorse.ads: Use non-private with clause. 2015-10-20 Hristian Kirtchev <kirtchev@adacore.com> * exp_util.adb (Requires_Cleanup_Actions): A loop parameter does not require finalization actions. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * par-ch3.adb (P_Declarative_Items): In case of misplaced aspect specifications, ensure that flag Done is properly set to continue parse. 2015-10-20 Hristian Kirtchev <kirtchev@adacore.com> * rtsfind.ads Remove the entries for Ada.Synchronous_Task_Control and Suspension_Object from tables RE_Id, RE_Unit_Table and RTU_Id. * sem_util.adb (Is_Descendant_Of_Suspension_Object): Update the comment on usage. Use routine Is_Suspension_Object to detect whether a type matches Suspension_Object. (Is_Suspension_Object): New routine. * snames.ads-tmpl: Add predefined names for Suspension_Object and Synchronous_Task_Control. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229049 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-20 Ed Schonberg <schonberg@adacore.com>charlet2015-10-204-10/+30
| | | | | | | | | | | | | | | | | * sem_smem.adb (Check_Shared_Var): Clean up code that handles type declarations with discriminants, remove obsolete check. 2015-10-20 Arnaud Charlet <charlet@adacore.com> * par_sco.adb: Minor style fixes. 2015-10-20 Vincent Celier <celier@adacore.com> * debug.adb: Update documentation of -gnatdu. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229048 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-20 Hristian Kirtchev <kirtchev@adacore.com>charlet2015-10-2017-243/+717
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * aspects.adb Add aspect Volatile_Function to table Canonical_Aspect. * aspect.ads Add aspect Volatile_Function to tables Aspect_Argument, Aspect_Delay, Aspect_Id, Aspect_Names and Implementation_Defined_Aspect. Aspects Async_Readers, Async_Writers, Effective_Reads and Effective_Writes are no longer Boolean. * einfo.adb (Get_Pragma): Add an entry for pragma Volatile_Function. * par-prag.adb (Prag): Pragma Volatile_Function does not need special processing by the parser. * rtsfind.ads Add an entry for Ada.Synchronous_Task_Control in table RTU_Id. Add an entry for Suspension_Object in table RE_Id. * sem_ch3.adb Fix SPARK RM references. (Analyze_Object_Contract): Update the error guard. * sem_ch5.adb Fix SPARK RM references. * sem_ch6.adb (Analyze_Subprogram_Body_Contract): Ensure that a non-volatile function does not contain an effectively volatile parameter. (Analyze_Subprogram_Contract): Ensure that a non-volatile function does not contain an effectively volatile parameter. * sem_ch12.adb (Instantiate_Object): Remove the reference to the SPARK RM from the error message. * sem_ch13.adb (Analyze_Aspect_Specifications): Add processing for aspects Async_Readers, Async_Writers, Effective_Reads, Effective_Writes and Volatile_Function. (Check_Aspect_At_Freeze_Point): Aspects Async_Readers, Async_Writers, Effective_Reads, Effective_Writes and Volatile_Function do not need special processing at the freeze point. * sem_prag.adb Add an entry for pragma Volatile_Function in table Sig_Flags. (Analyze_External_Property_In_Decl_Part): Reimplemented as Async_Readers, Async_Writers, Effective_Reads and Effective_Writes are no longer Boolean pragmas. (Analyze_Global_Item): An external state or effectively volatile object cannot appear as an item in pragma [Refined_]Global. (Analyze_Pragma): Change the implementation of Async_Readers, Async_Writers, Effective_Reads and Effective_Writes as these are no longer Boolean pragmas. Use routine Check_Static_Boolean_Expression to verify the optional Boolean expression of Async_Readers, Async_Writers, Constant_After_Elaboration, Effective_Reads, Effective_Writes, Extensions_Visible and Volatile_Function. Add processing for pragma Volatile_Function. (Check_Static_Boolean_Expression): New routine. (Find_Related_Context): Update the comment on usage. (Is_Enabled_Pragma): New routine. * sem_prag.ads (Is_Enabled_Pragma): New routine. * sem_res.adb Fix SPARK RM references. (Is_OK_Volatile_Context): Add detection for return statements. (Resolve_Actuals): Remove the check concerning an effectively volatile OUT actual parameter as this is now done by the SPARK flow analyzer. (Resolve_Entity_Name): Remove the check concerning an effectively volatile OUT formal parameter as this is now done by the SPARK flow analyzer. (Within_Volatile_Function): New routine. * sem_util.adb (Add_Contract_Item): Add processing for pragma Volatile_Function. (Check_Nonvolatile_Function_Profile): New routine. (Is_Descendant_Of_Suspension_Object): New routine. (Is_Effectively_Volatile): Protected types and descendants of Suspension_Object are now treated as effectively volatile. (Is_Enabled): The optional Boolean expression of pragmas Async_Readers, Async_Writers, Effective_Reads and Effective_Writes now appears as the first argument. (Is_Volatile_Function): New routine. * sem_util.ads Add SPARK RM references. (Add_Contract_Item): Update the comment on usage. (Check_Nonvolatile_Function_Profile): New routine. (Is_Effectively_Volatile): Update the comment on usage. (Is_Volatile_Function): New routine. * snames.ads-tmpl Add a predefined name and pragma id for Volatile_Function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229047 138bc75d-0d04-0410-961f-82ee72b054a4
* * gnat_ugn.texi, gnat_rm.texi: Regenerate.charlet2015-10-2010-940/+941
| | | | | | | | | | | | | | * doc/gnat_ugn/gnat_project_manager.rst, doc/gnat_ugn/building_executable_programs_with_gnat.rst, doc/gnat_ugn/the_gnat_compilation_model.rst, doc/gnat_rm/standard_and_implementation_defined_restrictions.rst, doc/gnat_rm/implementation_defined_pragmas.rst, doc/gnat_rm/the_gnat_library.rst, doc/gnat_rm/implementation_defined_characteristics.rst: Update doc. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229046 138bc75d-0d04-0410-961f-82ee72b054a4
* Update targets.charlet2015-10-202-7/+79
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229042 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-20 Bob Duff <duff@adacore.com>charlet2015-10-2070-7641/+3839
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_ch13.adb (Analyze_One_Aspect): Avoid analyzing the expression in a 'Disable_Controlled attribute when Expander_Active is False, because otherwise, we get errors about nonstatic expressions in pragma-Preelaborate generic packages. * restrict.ads: minor whitespace cleanup in comment 2015-10-20 Bob Duff <duff@adacore.com> * a-conhel.adb: Remove "use SAC;", because otherwise the compiler complains about use clauses in run-time units. Use "use type" instead. * a-btgbso.adb, a-btgbso.ads, a-cbdlli.adb, a-cbdlli.ads, * a-cbhama.adb, a-cbhama.ads, a-cbhase.adb, a-cbhase.ads, * a-cbmutr.adb, a-cbmutr.ads, a-cborma.adb, a-cborma.ads, * a-cborse.adb, a-cborse.ads, a-cdlili.adb, a-cdlili.ads, * a-chtgbk.adb, a-chtgbk.ads, a-chtgbo.adb, a-chtgbo.ads, * a-chtgke.adb, a-chtgke.ads, a-chtgop.adb, a-chtgop.ads, * a-cidlli.adb, a-cidlli.ads, a-cihama.adb, a-cihama.ads, * a-cihase.adb, a-cihase.ads, a-cimutr.adb, a-cimutr.ads, * a-ciorma.adb, a-ciorma.ads, a-ciormu.adb, a-ciormu.ads, * a-ciorse.adb, a-ciorse.ads, a-cobove.adb, a-cobove.ads, * a-cohama.adb, a-cohama.ads, a-cohase.adb, a-cohase.ads, * a-cohata.ads, a-coinve.adb, a-comutr.adb, a-comutr.ads, * a-convec.adb, a-coorma.adb, a-coorma.ads, a-coormu.adb, * a-coormu.ads, a-coorse.adb, a-coorse.ads, a-crbltr.ads, * a-crbtgk.adb, a-crbtgk.ads, a-crbtgo.adb, a-crbtgo.ads, * a-rbtgbk.adb, a-rbtgbk.ads, a-rbtgbo.adb, a-rbtgbo.ads, * a-rbtgso.adb, a-rbtgso.ads: Change all the predefined containers to share the tampering machinery in Ada.Containers.Helpers. This reduces the amount of duplicated code, and takes advantage of efficiency improvements in Helpers. Protect all run-time checks and supporting machinery with "if Checks" or "if T_Check", so this code can be suppressed with pragma Suppress or -gnatp. Add Pseudo_Reference and Get_Element_Access to remaining containers, so that the compiler can optimize "for ... of" loops. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229041 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-20 Bob Duff <duff@adacore.com>charlet2015-10-2011-138/+237
| | | | | | | | | | | | | | | | | | | | | | | | | | * a-contai.adb, a-coinve.ads, a-contai.ads, a-conhel.adb, a-conhel.ads, Makefile.rtl, a-convec.ads: Move helper code from Ada.Containers to a new package Ada.Containers.Helpers, because otherwise it's not visible everywhere it needs to be (e.g. in the package Ada.Containers.Red_Black_Trees, Generic_Tree_Types wants to have a component of type Tamper_Counts). 2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_type.adb (Intersect_Types): Specialize error message when one operand is a limited view which is a priori incompatible with all other named types. * sem_prag.adb: minor fix in comment * sem_ch13.adb: Code clean up. 2015-10-20 Eric Botcazou <ebotcazou@adacore.com> * sem_ch12.adb (Need_Subprogram_Instance_Body): Also return true for a subprogram nested in an inlined subprogram. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229040 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-20 Bob Duff <duff@adacore.com>charlet2015-10-208-13/+33
| | | | | | | | | | | | | | | | | | | * a-coinve.adb, a-contai.adb: Update comments. * pprint.ads: Minor reformatting. 2015-10-20 Tristan Gingold <gingold@adacore.com> * env.c, init.c: Handle arm64-darwin like arm-darwin. * tracebak.c: Handle arm64-darwin. 2015-10-20 Bob Duff <duff@adacore.com> * s-trasym.adb (Symbolic_Traceback): When giving the traceback as hexadecimal code addresses, separate by blanks instead of LF. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229039 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-20 Ed Schonberg <schonberg@adacore.com>charlet2015-10-208-52/+127
| | | | | | | | | | | | | | | * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Generate freeze node for subprogram in Compile_Only mode. 2015-10-20 Dmitriy Anisimkov <anisimko@adacore.com> * s-atocou.adb, s-atocou.ads, a-contai.adb, a-contai.ads, s-atocou-x86.adb, s-atocou-builtin.adb: Task safe over container iterations. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229037 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-20 Philippe Gil <gil@adacore.com>charlet2015-10-204-77/+624
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * g-debpoo.ads (Dump): NEW print Debug_Pool statistics & main contributors. (Dump_Stdout): NEW print to stdout Debug_Pool statistics & main contributors. (Reset): NEW reset counters to 0. (Get_Size): NEW return size allocated at parameter. (High_Water_Mark): NEW. (Current_Water_Mark): NEW. (System_Memory_Debug_Pool): NEW tell Debug_Pools that System.Memory uses it. * g-debpoo.adb (Traceback_Htable_Elem): add Frees, Total_Frees components. (Find_Or_Create_Traceback): don't manage in System.Memory Debug_Pool Deallocate Traceback's. (Validity): add optional Handled table when System.Memory asked for Allow_Unhandled_Memory. (Allocate): handle Allocate reentrancy occuring when System.Memory uses Debug_Pools. (Deallocate): handle when Allow_Unhandled_Memory is set deallocation of unhandled memory. Dont't check Size_In_Storage_Elements if equal to Storage_Count'Last. update Frees, Total_Frees new components. 2015-10-20 Eric Botcazou <ebotcazou@adacore.com> * fe.h: Minor tweak. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229036 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-10-20 Vincent Celier <celier@adacore.com>charlet2015-10-204-9/+27
| | | | | | | | | | | | | | | * sem_cat.adb (Check_Categorization_Dependencies): Do nothing when -gnatdu is specified. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (analyze_Subprogram_Renaming): The actual for a formal abstract subprogram must have a controlling type. * stand.ads: Minor whitespace cleanup. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229035 138bc75d-0d04-0410-961f-82ee72b054a4