aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/types.ads
AgeCommit message (Collapse)AuthorFilesLines
2019-01-09PR other/16615 [1/5]Sandra Loosemore1-1/+1
2019-01-09 Sandra Loosemore <sandra@codesourcery.com> PR other/16615 [1/5] contrib/ * mklog: Mechanically replace "can not" with "cannot". gcc/ * Makefile.in: Mechanically replace "can not" with "cannot". * alias.c: Likewise. * builtins.c: Likewise. * calls.c: Likewise. * cgraph.c: Likewise. * cgraph.h: Likewise. * cgraphclones.c: Likewise. * cgraphunit.c: Likewise. * combine-stack-adj.c: Likewise. * combine.c: Likewise. * common/config/i386/i386-common.c: Likewise. * config/aarch64/aarch64.c: Likewise. * config/alpha/sync.md: Likewise. * config/arc/arc.c: Likewise. * config/arc/predicates.md: Likewise. * config/arm/arm-c.c: Likewise. * config/arm/arm.c: Likewise. * config/arm/arm.h: Likewise. * config/arm/arm.md: Likewise. * config/arm/cortex-r4f.md: Likewise. * config/csky/csky.c: Likewise. * config/csky/csky.h: Likewise. * config/darwin-f.c: Likewise. * config/epiphany/epiphany.md: Likewise. * config/i386/i386.c: Likewise. * config/i386/sol2.h: Likewise. * config/m68k/m68k.c: Likewise. * config/mcore/mcore.h: Likewise. * config/microblaze/microblaze.md: Likewise. * config/mips/20kc.md: Likewise. * config/mips/sb1.md: Likewise. * config/nds32/nds32.c: Likewise. * config/nds32/predicates.md: Likewise. * config/pa/pa.c: Likewise. * config/rs6000/e300c2c3.md: Likewise. * config/rs6000/rs6000.c: Likewise. * config/s390/s390.h: Likewise. * config/sh/sh.c: Likewise. * config/sh/sh.md: Likewise. * config/spu/vmx2spu.h: Likewise. * cprop.c: Likewise. * dbxout.c: Likewise. * df-scan.c: Likewise. * doc/cfg.texi: Likewise. * doc/extend.texi: Likewise. * doc/fragments.texi: Likewise. * doc/gty.texi: Likewise. * doc/invoke.texi: Likewise. * doc/lto.texi: Likewise. * doc/md.texi: Likewise. * doc/objc.texi: Likewise. * doc/rtl.texi: Likewise. * doc/tm.texi: Likewise. * dse.c: Likewise. * emit-rtl.c: Likewise. * emit-rtl.h: Likewise. * except.c: Likewise. * expmed.c: Likewise. * expr.c: Likewise. * fold-const.c: Likewise. * genautomata.c: Likewise. * gimple-fold.c: Likewise. * hard-reg-set.h: Likewise. * ifcvt.c: Likewise. * ipa-comdats.c: Likewise. * ipa-cp.c: Likewise. * ipa-devirt.c: Likewise. * ipa-fnsummary.c: Likewise. * ipa-icf.c: Likewise. * ipa-inline-transform.c: Likewise. * ipa-inline.c: Likewise. * ipa-polymorphic-call.c: Likewise. * ipa-profile.c: Likewise. * ipa-prop.c: Likewise. * ipa-pure-const.c: Likewise. * ipa-reference.c: Likewise. * ipa-split.c: Likewise. * ipa-visibility.c: Likewise. * ipa.c: Likewise. * ira-build.c: Likewise. * ira-color.c: Likewise. * ira-conflicts.c: Likewise. * ira-costs.c: Likewise. * ira-int.h: Likewise. * ira-lives.c: Likewise. * ira.c: Likewise. * ira.h: Likewise. * loop-invariant.c: Likewise. * loop-unroll.c: Likewise. * lower-subreg.c: Likewise. * lra-assigns.c: Likewise. * lra-constraints.c: Likewise. * lra-eliminations.c: Likewise. * lra-lives.c: Likewise. * lra-remat.c: Likewise. * lra-spills.c: Likewise. * lra.c: Likewise. * lto-cgraph.c: Likewise. * lto-streamer-out.c: Likewise. * postreload-gcse.c: Likewise. * predict.c: Likewise. * profile-count.h: Likewise. * profile.c: Likewise. * recog.c: Likewise. * ree.c: Likewise. * reload.c: Likewise. * reload1.c: Likewise. * reorg.c: Likewise. * resource.c: Likewise. * rtl.def: Likewise. * rtl.h: Likewise. * rtlanal.c: Likewise. * sched-deps.c: Likewise. * sched-ebb.c: Likewise. * sched-rgn.c: Likewise. * sel-sched-ir.c: Likewise. * sel-sched.c: Likewise. * shrink-wrap.c: Likewise. * simplify-rtx.c: Likewise. * symtab.c: Likewise. * target.def: Likewise. * toplev.c: Likewise. * tree-call-cdce.c: Likewise. * tree-cfg.c: Likewise. * tree-complex.c: Likewise. * tree-core.h: Likewise. * tree-eh.c: Likewise. * tree-inline.c: Likewise. * tree-loop-distribution.c: Likewise. * tree-nrv.c: Likewise. * tree-profile.c: Likewise. * tree-sra.c: Likewise. * tree-ssa-alias.c: Likewise. * tree-ssa-dce.c: Likewise. * tree-ssa-dom.c: Likewise. * tree-ssa-forwprop.c: Likewise. * tree-ssa-loop-im.c: Likewise. * tree-ssa-loop-ivcanon.c: Likewise. * tree-ssa-loop-ivopts.c: Likewise. * tree-ssa-loop-niter.c: Likewise. * tree-ssa-phionlycprop.c: Likewise. * tree-ssa-phiopt.c: Likewise. * tree-ssa-propagate.c: Likewise. * tree-ssa-threadedge.c: Likewise. * tree-ssa-threadupdate.c: Likewise. * tree-ssa-uninit.c: Likewise. * tree-ssanames.c: Likewise. * tree-streamer-out.c: Likewise. * tree.c: Likewise. * tree.h: Likewise. * vr-values.c: Likewise. gcc/ada/ * exp_ch9.adb: Mechanically replace "can not" with "cannot". * libgnat/s-regpat.ads: Likewise. * par-ch4.adb: Likewise. * set_targ.adb: Likewise. * types.ads: Likewise. gcc/cp/ * cp-tree.h: Mechanically replace "can not" with "cannot". * parser.c: Likewise. * pt.c: Likewise. gcc/fortran/ * class.c: Mechanically replace "can not" with "cannot". * decl.c: Likewise. * expr.c: Likewise. * gfc-internals.texi: Likewise. * intrinsic.texi: Likewise. * invoke.texi: Likewise. * io.c: Likewise. * match.c: Likewise. * parse.c: Likewise. * primary.c: Likewise. * resolve.c: Likewise. * symbol.c: Likewise. * trans-array.c: Likewise. * trans-decl.c: Likewise. * trans-intrinsic.c: Likewise. * trans-stmt.c: Likewise. gcc/go/ * go-backend.c: Mechanically replace "can not" with "cannot". * go-gcc.cc: Likewise. gcc/lto/ * lto-partition.c: Mechanically replace "can not" with "cannot". * lto-symtab.c: Likewise. * lto.c: Likewise. gcc/objc/ * objc-act.c: Mechanically replace "can not" with "cannot". libbacktrace/ * backtrace.h: Mechanically replace "can not" with "cannot". libgcc/ * config/c6x/libunwind.S: Mechanically replace "can not" with "cannot". * config/tilepro/atomic.h: Likewise. * config/vxlib-tls.c: Likewise. * generic-morestack-thread.c: Likewise. * generic-morestack.c: Likewise. * mkmap-symver.awk: Likewise. libgfortran/ * caf/single.c: Mechanically replace "can not" with "cannot". * io/unit.c: Likewise. libobjc/ * class.c: Mechanically replace "can not" with "cannot". * objc/runtime.h: Likewise. * sendmsg.c: Likewise. liboffloadmic/ * include/coi/common/COIResult_common.h: Mechanically replace "can not" with "cannot". * include/coi/source/COIBuffer_source.h: Likewise. libstdc++-v3/ * include/ext/bitmap_allocator.h: Mechanically replace "can not" with "cannot". From-SVN: r267783
2019-01-08[Ada] Bump copyright years to 2019Pierre-Marie de Rodat1-1/+1
From-SVN: r267683
2018-01-11[Ada] Bump copyright notices to 2018Arnaud Charlet1-1/+1
2018-01-11 Arnaud Charlet <charlet@adacore.com> gcc/ada/ Bump copyright notices to 2018. From-SVN: r256519
2017-12-15[multiple changes]Pierre-Marie de Rodat1-4/+6
2017-12-15 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Analyze_Initialization_Item): Remove the specialized processing for a null initialization item. Such an item is always illegal. 2017-12-15 Bob Duff <duff@adacore.com> * types.ads, types.h, libgnat/a-except.adb, exp_ch11.adb (PE_Build_In_Place_Mismatch): New reason code for raising when the BIPalloc formal parameter is incorrect. This can happen if a compiler bug causes a mismatch of build-in-place between caller and callee. * exp_ch6.adb (Expand_N_Extended_Return_Statement): Use PE_Build_In_Place_Mismatch. 2017-12-15 Ed Schonberg <schonberg@adacore.com> * exp_ch4.ads, exp_ch4.adb (Expand_N_Reduction_Expression): New procedure. * exp_util.adb (Insert_Actions): Handle N_Reduction_Expression. * expander.adb (Expand): Call Expand_N_Reduction_Expression * par-ch4.adb (P_Reduction_Expression): New procedure. (P_Iterated_Component_Assoc_Or_Reduction): New precedure, extension of P_Iterated_Component_Association. (OK_Reduction_Expression_Parameter): New procedure. (P_Aggregate_Or_Paren_Expr): Improve error message for malformed delta aggregate. * sem.adb (Analyze): Call Analyze_Reduction_Expression and Analyze_Reduction_Expression_Parameter * sinfo.ads, sinfo.adb: New node kinds N_Reduction_Expression and N_Reduction_Expression_Parameter. * sem_ch4.ads, sem_ch4.adb (Analyze_Reduction_Expression, Analyze_Reduction_Expression_Parameter): New procedures. * sem_res.adb (Resolve): Handle Reduction_Expression and Reduction_Expression_Parameter * sem_spark.adb: Dummy entries for Reduction_Expression and Reduction_Expression_Parameter * sprint.adb (Sprint_Node_Actual): Print Reduction_Expression, Reduction_Expression_Parameter From-SVN: r255693
2017-12-15types.ads, [...]: Partly revert r255414, committed by mistake.Bob Duff1-1/+1
2017-12-15 Bob Duff <duff@adacore.com> * types.ads, exp_ch6.adb, libgnat/s-regexp.ads, opt.ads: Partly revert r255414, committed by mistake. From-SVN: r255679
2017-12-05sem_util.adb (Contains_Refined_State): Remove.Pierre-Marie de Rodat1-1/+1
gcc/ada/ 2017-12-05 Piotr Trojanek <trojanek@adacore.com> * sem_util.adb (Contains_Refined_State): Remove. 2017-12-05 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Analyze_Aspect_Specifications, case Predicate): A predicate cannot apply to a formal type. 2017-12-05 Arnaud Charlet <charlet@adacore.com> * exp_unst.ads: Fix typos. 2017-12-05 Jerome Lambourg <lambourg@adacore.com> * libgnarl/s-taprop__qnx.adb: Better detect priority ceiling bug in QNX. At startup, the first mutex created has a non-zero ceiling priority whatever its actual policy. This makes some tests fail (c940013 for example). 2017-12-05 Bob Duff <duff@adacore.com> * exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Call Expand_Cleanup_Actions for N_Extended_Return_Statement. * exp_ch7.adb (Expand_Cleanup_Actions): Handle N_Extended_Return_Statement by transforming the statements into a block, and (indirectly) calling Expand_Cleanup_Actions on the block. It's too hard for Expand_Cleanup_Actions to operate directly on the N_Extended_Return_Statement, because it has a different structure than the other node kinds that Expand_Cleanup_Actions. * exp_util.adb (Requires_Cleanup_Actions): Add support for N_Extended_Return_Statement. Change "when others => return False;" to "when others => raise ...;" so it's clear what nodes this function handles. Use named notation where appropriate. * exp_util.ads: Mark incorrect comment with ???. 2017-12-05 Javier Miranda <miranda@adacore.com> * exp_ch9.adb (Install_Private_Data_Declarations): Add missing Debug_Info_Needed decoration of internally generated discriminal renaming declaration. 2017-12-05 Arnaud Charlet <charlet@adacore.com> * exp_unst.adb (Unnest_Subprogram): Add handling of 'Access on nested subprograms. 2017-12-05 Sergey Rybin <rybin@adacore.com> * doc/gnat_ugn/gnat_utility_programs.rst: Add description of '--ignore' option for gnatmetric, gnatpp, gnat2xml, and gnattest. 2017-12-05 Piotr Trojanek <trojanek@adacore.com> * sem_util.adb (Contains_Refined_State): Remove. 2017-12-05 Piotr Trojanek <trojanek@adacore.com> * rtsfind.ads: Add new enumeration literals: RE_Clock_Time (for Ada.Real_Time.Clock_Time) and RO_CA_Clock_Time (for Ada.Calendar.Clock_Time). 2017-12-05 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Is_Private_Overriding): If the candidate private subprogram is overloaded, scan the list of homonyms in the same scope, to find the inherited operation that may be overridden by the candidate. * exp_ch11.adb, exp_ch7.adb: Minor reformatting. 2017-12-05 Bob Duff <duff@adacore.com> * exp_ch6.adb (Expand_N_Extended_Return_Statement): If the Init_Assignment is rewritten, we need to set Assignment_OK on the new node. Otherwise, we will get spurious errors when initializing via assignment statement. gcc/testsuite/ 2017-12-05 Ed Schonberg <schonberg@adacore.com> * gnat.dg/private_overriding.adb: New testcase. From-SVN: r255414
2017-09-25[multiple changes]Pierre-Marie de Rodat1-1/+4
2017-09-25 Justin Squirek <squirek@adacore.com> * aspects.adb, bindgen.adb, clean.adb, erroutc.adb, exp_ch13.adb, exp_dbug.adb, exp_unst.adb, exp_util.adb, frontend.adb, gnat1drv.adb, gnatdll.adb, gnatlink.adb, gnatls.adb, gnatname.adb, gnatxref.adb, gnatfind.adb, libgnat/a-cfhama.ads, libgnat/a-exetim__mingw.adb, libgnat/a-strmap.adb, libgnat/a-teioed.adb, libgnat/g-alvety.ads, libgnat/g-expect.adb, libgnat/g-regist.adb, libgnat/g-socket.adb, libgnat/g-socthi__mingw.ads, libgnat/s-stausa.adb, libgnat/s-tsmona__linux.adb, libgnat/s-tsmona__mingw.adb, libgnarl/s-taenca.adb, libgnarl/s-tassta.adb, libgnarl/s-tarest.adb, libgnarl/s-tpobop.adb, make.adb, makeusg.adb, namet.adb, output.ads, put_scos.adb, repinfo.adb, rtsfind.adb, scn.ads, sem_attr.adb, sem_aux.ads, sem_warn.ads, targparm.adb, xr_tabls.adb, xref_lib.adb: Removal of ineffective use-clauses. * exp_ch9.adb (Is_Simple_Barrier_Name): Check for false positives with constant folded barriers. * ghost.adb, sprint.adb, sem_ch10.adb, sem_warn.adb: Change access to Subtype_Marks and Names list in use-clause nodes to their new singular counterparts (e.g. Subtype_Mark, Name). * par.adb, par-ch8.adb (Append_Use_Clause): Created to set Prev_Ids and More_Ids in use-clause nodes. (P_Use_Clause): Modify to take a list as a parameter. (P_Use_Package_Clause, P_Use_Type_Clause): Divide names and subtype_marks within an aggregate use-clauses into individual clauses. * par-ch3.adb, par-ch10.adb, par-ch12.adb: Trivally modify call to P_Use_Clause to match its new behavior. * sem.adb (Analyze): Mark use clauses for non-overloaded entities. * sem_ch4.adb (Try_One_Interp): Add sanity check to handle previous errors. * sem_ch6.adb (Analyze_Generic_Subprogram_Body, Analyze_Subprogram_Body_Helper): Update use clause chain at the end of the declarative region. * sem_ch7.adb (Analyze_Package_Body_Helper): Update use clause chain after analysis (Analyze_Package_Specification): Update use clause chain when there is no body. * sem_ch8.ads, sem_ch8.adb (Analyze_Use_Package, Analyze_Use_Type): Add parameter to determine weither the installation of scopes should also propagate on the use-clause "chain". (Mark_Use_Clauses): Created to traverse use-clause chains and determine what constitutes a valid "use" of a clause. (Update_Use_Clause_Chain): Created to aggregate common machinary used to clean up use-clause chains (and warn on ineffectiveness) at the end of declaritive regions. * sem_ch8.adb (Analyze_Package_Name): Created to perform analysis on a package name from a use-package clause. (Analyze_Package_Name_List): Created to perform analysis on a list of package names (similar to Analyze_Package_Name). (Find_Most_Prev): Created to traverse to the beginning of a given use-clause chain. (Most_Decendant_Use_Clause): Create to identify which clause from a given set is highest in scope (not always the most prev). (Use_One_Package, Use_One_Type): Major cleanup and reorganization to handle the new chaining algorithm, also many changes related to redundant clauses. A new parameter has also been added to force installation to handle certain cases. * sem_ch9.adb (Analyze_Entry_Body, Analyze_Protected_Body, Analyze_Task_Body): Mark use clauses on relevant entities. * sem_ch10.adb, sem_ch10.ads (Install_Context_Clauses, Install_Parents): Add parameter to determine weither the installation of scopes should also propagate on the use-clause "chain". * sem_ch12.adb (Inline_Instance_Body): Add flag in call to Install_Context to avoid redundant chaining of use-clauses. * sem_ch13.adb: Minor reformatting. * sem_res.adb (Resolve): Mark use clauses on operators. (Resolve_Call, Resolve_Entity_Name): Mark use clauses on relevant entities. * sinfo.adb, sinfo.ads (Is_Effective_Use_Clause, Set_Is_Effective_Use_Clause): Add new flag to N_Use_Clause nodes to represent any given clause's usage/reference/necessity. (Prev_Use_Clause, Set_Prev_Use_Clause): Add new field to N_Use_Clause nodes to allow loose chaining of redundant clauses. (Set_Used_Operations, Set_Subtype_Mark, Set_Prev_Ids, Set_Names, Set_More_Ids, Set_Name): Modify set procedure calls to reflect reorganization in node fields. * types.ads (Source_File_Index): Adjust index bounds. (No_Access_To_Source_File): New constant. 2017-09-25 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Analyze_One_Aspect): In ASIS mode make a full copy of the expression to be used in the generated attribute specification (rather than relocating it) to avoid resolving a potentially malformed tree when the expression is resolved through an ASIS-specific call to Resolve_Aspect_Expressions. This manifests itself as a crash on a function with parameter associations. From-SVN: r253144
2017-04-25[multiple changes]Arnaud Charlet1-20/+12
2017-04-25 Arnaud Charlet <charlet@adacore.com> * exp_ch4.adb (Expand_N_Case_Expression): Emit error message when generating C code on complex case expressions. 2017-04-25 Arnaud Charlet <charlet@adacore.com> * sem_prag.adb (Analyze_Pragma): Generate a warning instead of silently ignoring pragma Ada_xxx in Latest_Ada_Only mode. * directio.ads, ioexcept.ads, sequenio.ads, text_io.ads: Use Ada_2012 instead of Ada_2005 to be compatible with the above change. * bindgen.adb: Silence new warning on pragma Ada_95. 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> * checks.adb (Generate_Range_Check): Revert part of previous change. 2017-04-25 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Try_Container_Indexing): Handle properly a container indexing operation that appears as a an actual in a parameter association in a procedure call. 2017-04-25 Olivier Ramonat <ramonat@adacore.com> * prj-proc.adb, sem_util.adb, s-stposu.adb, sem_attr.adb, prj-conf.ads: Fix spelling mistakes. 2017-04-25 Bob Duff <duff@adacore.com> * types.ads, osint.adb, sinput-c.adb, sinput-d.adb, sinput-l.adb, * sinput-p.adb: Use regular fat pointers, with bounds checking, for source buffers. Fix misc obscure bugs. * sinput.ads, sinput.adb: Use regular fat pointers, with bounds checking, for source buffers. Modify representation clause for Source_File_Record as appropriate. Move Source_File_Index_Table from spec to body, because it is not used outside the body. Move Set_Source_File_Index_Table into the private part, because it is used only in the body and in children. Use trickery to modify the dope in the generic instantiation case. It's ugly, but not as ugly as the previous method. Fix documentation. Remove obsolete code. * fname-sf.adb, targparm.adb: Fix misc out-of-bounds indexing in source buffers. * fmap.adb: Avoid conversions from one string type to another. Remove a use of global name buffer. * osint.ads, sfn_scan.ads, sfn_scan.adb, sinput-c.ads: Comment fixes. From-SVN: r247252
2017-04-25exp_util.adb, [...]: Minor reformatting.Gary Dismukes1-1/+1
2017-04-25 Gary Dismukes <dismukes@adacore.com> * exp_util.adb, exp_util.ads, types.ads: Minor reformatting. From-SVN: r247235
2017-04-25err_vars.ads, [...]: Eliminate the vestigial Internal_Source_File and the ↵Bob Duff1-7/+17
Internal_Source buffer. 2017-04-25 Bob Duff <duff@adacore.com> * err_vars.ads, fmap.adb, fmap.ads, comperr.adb, fname-sf.adb, types.adb, types.ads, types.h, sinput-l.adb, targparm.adb, errout.adb, sinput.adb, sinput.ads, cstand.adb, scn.adb, scn.ads, gnatls.adb: Eliminate the vestigial Internal_Source_File and the Internal_Source buffer. This removes the incorrect call to "=" the customer noticed. Wrap remaining calls to "=" in Null_Source_Buffer_Ptr. We eventually need to eliminate them altogether. Or else get rid of zero-origin addressing. From-SVN: r247234
2017-04-25[multiple changes]Arnaud Charlet1-5/+5
2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> * sem_attr.adb, sem_ch5.adb: Minor reformatting. 2017-04-25 Bob Duff <duff@adacore.com> * types.ads: Minor: Fix '???' comment. * sem_ch8.adb: Minor comment fix. 2017-04-25 Bob Duff <duff@adacore.com> * sem_prag.adb: Remove suspicious uses of Name_Buf. * stringt.ads, stringt.adb, exp_dbug.adb, sem_dim.adb: Remove Add_String_To_Name_Buffer, to avoid using the global Name_Buf. Add String_To_Name with no side effects. 2017-04-25 Justin Squirek <squirek@adacore.com> * sem_ch3.adb (Analyze_Declarations): Add additional condition for edge case. 2017-04-25 Bob Duff <duff@adacore.com> * par-ch2.adb, scans.ads, scn.adb: Do not give an error for reserved words inside pragmas. This is necessary to allow the pragma name Interface to be used in pragma Ignore_Pragma. * par.adb: Minor comment fix. 2017-04-25 Javier Miranda <miranda@adacore.com> * a-tags.ads, a-tags.adb (Type_Is_Abstract): Renamed as Is_Abstract. * rtsfind.ads (RE_Type_Is_Abstract): Renamed as Is_Abstract. * exp_disp.adb (Make_DT): Update occurrences of RE_Type_Is_Abstract. * exp_intr.adb (Expand_Dispatching_Constructor_Call): Update occurrences of RE_Type_Is_Abstract 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> * exp_util.adb (Build_Chain): Account for ancestor subtypes while traversing the derivation chain. From-SVN: r247150
2016-06-22spark_xrefs.ads (Scope_Num): type refined to positive integers.Arnaud Charlet1-2/+2
2016-06-22 Arnaud Charlet <charlet@adacore.com> * spark_xrefs.ads (Scope_Num): type refined to positive integers. * lib-xref-spark_specific.adb (Detect_And_Add_SPARK_Scope): moved into scope of Collect_SPARK_Xrefs. (Add_SPARK_Scope): moved into scope of Collect_SPARK_Xrefs; now uses Dspec and Scope_Id from Collect_SPARK_Xrefs. (Collect_SPARK_Xrefs): refactored to avoid retraversing the list of scopes. (Traverse_Compilation_Unit): refactored as a generic procedure. * types.ads (Unit_Number_Type): range refined. From-SVN: r237690
2015-11-12[multiple changes]Arnaud Charlet1-3/+4
2015-11-12 Bob Duff <duff@adacore.com> * impunit.adb, lib-xref.ads, restrict.ads, scos.ads, sem_attr.ads, types.ads: Get rid of some global variables. * output.adb, output.ads: Move some global variables to the body. 2015-11-12 Yannick Moy <moy@adacore.com> * lib-xref-spark_specific.adb (Is_Constant_Object_Without_Variable_Input): Add special case for imported constants. 2015-11-12 Philippe Gil <gil@adacore.com> * g-debpoo.adb (Allocate): Avoid having allocations not handled. 2015-11-12 Ed Schonberg <schonberg@adacore.com> * checks.adb (Apply_Scalar_Range_Check): If the expression is a real literal and the context type has static bounds, remove range check when possible. 2015-11-12 Ed Schonberg <schonberg@adacore.com> * sem_util.adb (Collect_Primitive_Operations): If the type is derived from a type declared elsewhere that has an incomplete type declaration, the primitives are found in the scope of the type nat that of its ancestor. 2015-11-12 Arnaud Charlet <charlet@adacore.com> * switch-c.adb, debug.adb, osint-c.adb, gnat1drv.adb: Remove -gnatd.V debug switch. * exp_aggr.adb, exp_util.adb: Fix typos. 2015-11-12 Jerome Lambourg <lambourg@adacore.com> * init.c: Properly adjust PC values in case of signals. 2015-11-12 Bob Duff <duff@adacore.com> * sem_prag.adb (Check_Arg_Is_Library_Level_Local_Name): A pragma that comes from an aspect does not "come from source", so we need to test whether it comes from an aspect. From-SVN: r230253
2015-10-20[multiple changes]Arnaud Charlet1-1/+3
2015-10-20 Steve Baird <baird@adacore.com> * 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. From-SVN: r229069
2015-10-20[multiple changes]Arnaud Charlet1-1/+1
2015-10-20 Thomas Quinot <quinot@adacore.com> * types.ads: Minor reformatting. 2015-10-20 Hristian Kirtchev <kirtchev@adacore.com> * einfo.adb (Get_Pragma): Minor reformatting. Rename local constant Is_CDG to Is_CLS. Add pragma Constant_After_Elaboration to the list of classification pragmas. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Analyze_Declarations); At the of the visible part, perform name resolution on the expressions in aspects of visible entities. * sem_ch13.ads, sem_ch13.adb (Resolve_Aspect_Expressions): Resolve expressions in aspects independently of whether corresponding entity is frozen. Used to complete name resolution of aspect expressions for entities declared in the visible part of a package or generic package declaration. From-SVN: r229028
2015-10-16checks.adb: Fix typo.Arnaud Charlet1-4/+1
2015-10-16 Arnaud Charlet <charlet@adacore.com> * checks.adb: Fix typo. * s-osinte-linux.ads: Add header. * projects.texi: Removed, no longer used. * s-multip.adb: Minor: fix header. * sem_ch3.adb, exp_ch7.adb, g-dirope.ads, sinfo.ads, types.ads, a-textio.adb, s-exctra.adb, ali.adb, back_end.ads, exp_intr.adb, a-tigeli.adb, exp_ch3.adb, s-os_lib.ads: Remove further references to .NET. * gnatlink.adb, opt.ads, exp_aggr.adb, s-solita.adb: Minor comment updates. From-SVN: r228880
2015-10-16exp_ch5.adb, [...]: Code clean up: remove special handling for .NET and JVM.Arnaud Charlet1-3/+2
2015-10-16 Arnaud Charlet <charlet@adacore.com> * exp_ch5.adb, sem_ch3.adb, frontend.adb, exp_ch7.adb, exp_ch7.ads, sem_ch5.adb, sem_type.adb, exp_util.adb, exp_util.ads, comperr.adb, exp_attr.adb, sinfo.ads, exp_ch9.adb, make.adb, usage.adb, lib-writ.adb, sem_ch9.adb, bindgen.adb, debug.adb, einfo.adb, einfo.ads, types.ads, checks.adb, sem_prag.adb, s-tasini.adb, rtsfind.ads, freeze.adb, sem_util.adb, sem_util.ads, exp_dbug.adb, gnatlink.adb, gnat1drv.adb, targparm.adb, targparm.ads, exp_ch4.adb, exp_ch11.adb, repinfo.adb, s-soflin.adb, s-soflin.ads, exp_ch6.adb, exp_ch13.adb, sem_mech.adb, sem_ch6.adb, par-prag.adb, exp_disp.adb, sem_ch8.adb, exp_disp.ads, snames.adb-tmpl, exp_aggr.adb, sem_eval.adb, exp_intr.adb, sem_ch13.adb, snames.ads-tmpl, sem_disp.adb, exp_ch3.adb: Code clean up: remove special handling for .NET and JVM. From-SVN: r228874
2015-01-30a-assert.adb: Minor reformatting.Robert Dewar1-2/+2
2015-01-30 Robert Dewar <dewar@adacore.com> * a-assert.adb: Minor reformatting. * sem_ch13.adb: Minor comment clarification. * types.ads: Minor comment update. * sem_eval.adb (Real_Or_String_Static_Predicate_Matches): Avoid blow up when we have a predicate that is nothing but an inherited dynamic predicate. From-SVN: r220290
2014-11-20[multiple changes]Arnaud Charlet1-1/+1
2014-11-20 Arnaud Charlet <charlet@adacore.com> * s-parame-ae653.ads: Update comments. 2014-11-20 Robert Dewar <dewar@adacore.com> * types.ads, einfo.ads: Minor reformatting. * sem_elab.adb (Check_A_Call): Add guard for reference to Alias for variable case. 2014-11-20 Bob Duff <duff@adacore.com> * a-cofove.adb (Elems,Elemsc): Use access-to-constrained arrays instead of access-to-unconstrained, because the latter doesn't work with 'Unrestricted_Access when the result is returned from a function. * a-cofove.ads (Vector): Move the discriminant-dependent array after the other components for efficiency. Otherwise the compiler will generate a lot of code to calculate the offset of the other components every time they're accessed. 2014-11-20 Olivier Hainque <hainque@adacore.com> * opt.ads: Fix comment on Generate_SCO_Instance_Table wrt when it is set to true. From-SVN: r217879
2014-08-01[multiple changes]Arnaud Charlet1-2/+2
2014-08-01 Vincent Celier <celier@adacore.com> * make.adb (Await_Compile): Remove loop that was only needed for VMS. 2014-08-01 Robert Dewar <dewar@adacore.com> * a-calcon.ads, a-direct.adb, a-dirval-mingw.adb, a-dirval.adb, a-dirval.ads, a-except-2005.adb, a-excpol-abort.adb, a-numaux-darwin.ads, a-numaux.ads, bindgen.adb, bindusg.adb, einfo.adb, einfo.ads, err_vars.ads, errout.ads, errutil.adb, exp_ch3.adb, exp_ch4.adb, exp_ch7.adb, exp_ch7.ads, fname-uf.adb, fname.adb, fname.ads, freeze.adb, g-debpoo.adb, g-dirope.ads, g-excact.ads, g-expect.ads, g-socket.adb, g-socket.ads, g-sothco.ads, g-traceb.ads, gnat_rm.texi, gnatlink.adb, gnatls.adb, i-cstrea.adb, krunch.adb, krunch.ads, layout.adb, lib-util.adb, make.adb, mlib.adb, osint-b.adb, osint-b.ads, osint-c.adb, osint.adb, osint.ads, output.ads, par.adb, prj-conf.adb, prj-env.adb, prj-makr.adb, prj-nmsc.adb, prj.adb, prj.ads, repinfo.adb, rtsfind.adb, rtsfind.ads, s-excmac-gcc.ads, s-fatgen.adb, s-mastop.ads, s-parame-ae653.ads, s-parame-hpux.ads, s-parame-vxworks.ads, s-parame.ads, s-soflin.ads, s-stoele.adb, s-tasini.adb, s-taspri-dummy.ads, s-taspri-hpux-dce.ads, s-taspri-mingw.ads, s-taspri-posix-noaltstack.ads, s-taspri-posix.ads, s-taspri-solaris.ads, s-taspri-vxworks.ads, s-trasym.ads, sem_ch12.adb, sem_ch4.adb, sem_eval.adb, sem_intr.adb, sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_res.adb, sem_util.adb, sem_util.ads, sinfo.adb, sinfo.ads, sinput-c.adb, symbols.ads, targparm.adb, treepr.adb, types.ads, xr_tabls.adb, xr_tabls.ads: Remove VMS specific code and comments. 2014-08-01 Ed Schonberg <schonberg@adacore.com> * sem_ch5.adb (Analyze_Iterator_Specification): New procedure Check_Reverse_Iteration, to verify the legality of the Reverse indicator on various container types, and to detect illegal reverse iterations on containers that only supoort forward iteration. From-SVN: r213431
2014-07-29types.ads (Mechanism_Type): Change range back to -18 ..Robert Dewar1-2/+8
* types.ads (Mechanism_Type): Change range back to -18 .. Int'Last with documentation that explains the need for this extended range (use by C_Pass_By_Copy). From-SVN: r213203
2014-07-29[multiple changes]Arnaud Charlet1-44/+45
2014-07-29 Ed Schonberg <schonberg@adacore.com> * exp_ch5.adb (Expand_N_Assignment_Statement): If the target type is a null-excluding access type, do not generate a constraint check if Suppress_Assignment_Checks is set on assignment node. * exp_ch9.adb (Build_Simple_Entry_Call): If actual is an out parameter of a null-excluding access type, there is access check on entry, so set Suppress_Assignment_Checks on generated statement that assigns actual to parameter block. * sinfo.ads: Document additional use of Suppress_Assignment_Checks. 2014-07-29 Javier Miranda <miranda@adacore.com> * types.ads (Kind): Renamed as Rkind to avoid crashing ASIS. * exp_ch11.adb, tbuild.adb Update references to Types.Kind 2014-07-29 Ed Schonberg <schonberg@adacore.com> * par-ch3.adb (P_Type_Declaration): Create end label for limited record declaration, previously omitted. 2014-07-29 Robert Dewar <dewar@adacore.com> * gnat_rm.texi: Complete list of implementation pragmas Add dummy sections for impl pragmas needing documentation. From-SVN: r213195
2014-07-29[multiple changes]Arnaud Charlet1-19/+51
2014-07-29 Robert Dewar <dewar@adacore.com> * gnat_rm.texi: Change theta to @ in documentation of aspect Dimension_System. 2014-07-29 Robert Dewar <dewar@adacore.com> * sem_attr.adb (Uneval_Old_Msg): Flags Uneval_Old_Accept/Warn are now on pragma. * sem_ch13.adb (Analyze_Aspect_Specifications): Remove setting of Uneval_Old_* * sem_prag.adb (Analyze_Pragma): Set Uneval_Old_* flags * sinfo.ads, sinfo.adb: Move Uneval_Old_Accept/Warn to N_Pragma node. 2014-07-29 Javier Miranda <miranda@adacore.com> * types.ads Update documentation on how to add new reason codes for exceptions. (RT_Exception_Code): Keep values ordered by their reason code. Required by the .NET backend. (RT_CE_Exceptions): Subtype declaration removed. (RT_PE_Exceptions): Subtype declaration removed. (RT_SE_Exceptions): Subtype declaration removed. (Kind): New mapping table of RT_Exception_Codes. * exp_ch11.adb (Get_RT_Exception_Entity): Updated to use the new mapping table. * tbuild.adb (Make_Raise_Storage_Error): Updated to use the new mapping table. (Make_Raise_Program_Error): Updated to use the new mapping table. (Make_Raise_Storage_Error): Updated to use the new mapping table. * a-except.adb Keep Rcheck_CE_xxx entities ordered according to their reason code. From-SVN: r213194
2014-07-29sem_ch3.adb, [...]: Minor reformatting.Robert Dewar1-0/+8
2014-07-29 Robert Dewar <dewar@adacore.com> * sem_ch3.adb, sinfo.ads, types.ads, sem_prag.adb, a-except-2005.adb, sem_ch6.adb, par-ch3.adb: Minor reformatting. From-SVN: r213174
2014-07-29[multiple changes]Arnaud Charlet1-1/+1
2014-07-29 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Complete_Object_Operation): If the type of the candidate subprogram is a limited view, use non-limited view when available. 2014-07-29 Robert Dewar <dewar@adacore.com> * sem_ch13.adb: Minor change in RM reference. * sem_mech.ads: Minor reformatting. * einfo.ads: Minor comment fix. * types.ads: Minor correction to range given for Mechanism_Type. * exp_ch6.adb (Add_Invariant_And_Predicate_Checks): Do not check predicate on way out for OUT or IN OUT parameters. * par-ch3.adb (P_Constraint_Opt): Handle missing RANGE keyword better (P_Range_Constraint): Corresponding fix. * checks.ads: Minor comment clarification. 2014-07-29 Gary Dismukes <dismukes@adacore.com> * sem_ch8.adb (Analyze_Object_Renaming): Set the Is_Volatile and Treat_As_Volatile flags based on whether the renamed object is a volatile object. From-SVN: r213170
2014-07-29[multiple changes]Arnaud Charlet1-5/+13
2014-07-29 Robert Dewar <dewar@adacore.com> * exp_attr.adb, types.ads, types.h, exp_ch11.adb, a-except.adb, a-except-2005.adb: Add new reason code PE_Stream_Operation_Not_Allowed, and then use it when a stream operation is used from a library generic when the restriction (No_Streams) is active. 2014-07-29 Thomas Quinot <quinot@adacore.com> * projects.texi: Fix minor typo. 2014-07-29 Yannick Moy <moy@adacore.com> * sem_attr.adb (Analyze_Attribute): Fix generation of warning. 2014-07-29 Arnaud Charlet <charlet@adacore.com> * sem_ch5.adb (Check_Unreachable_Code): Do not remove code in CodePeer mode. 2014-07-29 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Find_Last_Init): Add local variable Deep_Init_Found. Check the statement immediately following the declaration if [Deep_]Initialization was not found. 2014-07-29 Hristian Kirtchev <kirtchev@adacore.com> * exp_util.adb (Is_Aliased): It appears that 'reference-d and renamed objects still play some role in Boolean expression with actions and cannot be finalized immediately. 2014-07-29 Ed Schonberg <schonberg@adacore.com> * exp_dbug.adb (Qualify_Needed): For debugging purposes, Loop names are not part of the full qualification of entity names. From-SVN: r213164
2014-07-17back_end.adb: Minor reformatting and comment additions.Robert Dewar1-10/+11
2014-07-17 Robert Dewar <dewar@adacore.com> * back_end.adb: Minor reformatting and comment additions. * checks.ads, checks.adb (Duplicated_Tag_Checks_Suppressed): New function. * exp_disp.adb (Make_DT): Use Duplicated_Tag_Checks_Suppressed. (Make_VM_TSD): Use Duplicated_Tag_Checks_Suppressed. * gnat_rm.texi: Document new check Duplicated_Tag_Checks_Suppressed. * gnat_ugn.texi: Additional documentation for Duplicated_Tag_Check. * snames.ads-tmpl (Duplicated_Tag_Checks_Suppressed): New check. * types.ads (Duplicated_Tag_Checks_Suppressed): New check. From-SVN: r212724
2014-07-16[multiple changes]Arnaud Charlet1-15/+16
2014-07-16 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Process_Declarations): Reinstate the check on a hook object to ensure that the related transient declaration is finalizable. * exp_util.adb (Is_Aliased): Do not consider expresison with actions as a special context. (Requires_Cleanup_Actions): Reinstate the check on a hook object to ensure that the related transient declaration is finalizable. 2014-07-16 Robert Dewar <dewar@adacore.com> * checks.ads, checks.adb (Allocation_Checks_Suppressed): New function. * snames.ads-tmpl: Add Allocation_Check to list of check names. * types.ads: Add Allocation_Check to list of check names. 2014-07-16 Thomas Quinot <quinot@adacore.com> * sem_util.adb (Enter_Name): replace bogus test for presence of Corresponding_Remote_Type with correct test on Ekind. * sem_res.adb (Valid_Conversion): ditto; also clarify validity of calls to Corresponding_ Remote_Type (documentation fix). 2014-07-16 Robert Dewar <dewar@adacore.com> * gnat_rm.texi: Document illegal case of Unrestricted_Access. * sem_attr.adb (Analyze_Access_Attribute): Set_Non_Aliased_Prefix where it applies. (Resolve_Attribute, case Access): Flag illegal Unrestricted_Access use. * sinfo.ads, sinfo.adb (Non_Aliased_Prefix): New flag. From-SVN: r212655
2014-01-29a-except-2005.adb, [...]: Minor reformatting.Robert Dewar1-1/+1
2014-01-29 Robert Dewar <dewar@adacore.com> * a-except-2005.adb, a-except.adb, a-excpol-abort.adb, a-exstat.adb, ali.adb, a-numaux.ads, a-numaux-darwin.ads, a-numaux-libc-x86.ads, a-numaux-vms.ads, a-numaux-vxworks.ads, a-numaux-x86.ads, aspects.ads, a-taside.adb, a-teioed.adb, a-textio.adb, a-textio.ads, atree.adb, atree.ads, a-witeio.adb, a-witeio.ads, a-wtedit.adb, a-ztedit.adb, a-ztexio.adb, bcheck.adb, binde.adb, checks.adb, comperr.adb, cstand.adb, debug_a.adb, einfo.ads, errout.adb, erroutc.adb, eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb, exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb, exp_dbug.adb, exp_disp.adb, exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_util.adb, freeze.adb, frontend.adb, g-comlin.ads, g-mbdira.adb, gnat1drv.adb, gprep.adb, g-spipat.adb, i-cpp.ads, i-vxwork.ads, i-vxwork-x86.ads, krunch.ads, layout.adb, lib-load.adb, lib-writ.adb, lib-writ.ads, live.adb, namet.ads, osint.adb, osint-c.adb, output.ads, par.adb, par-ch10.adb, par-ch13.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb, prj.adb, repinfo.adb, rtsfind.adb, s-arit64.adb, s-asthan-vms-alpha.adb, s-asthan-vms-ia64.adb, s-bignum.adb, scans.adb, scng.adb, s-dimmks.ads, sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_cat.adb, sem_ch10.adb, sem_ch12.adb, sem_ch13.adb, sem_ch13.ads, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, sem_disp.adb, sem_elab.adb, sem_elim.adb, sem_eval.adb, sem_intr.adb, sem_prag.adb, sem_res.adb, sem_type.adb, sem_util.adb, sem_warn.adb, set_targ.adb, s-fatgen.adb, s-fatgen.ads, s-fileio.adb, s-imgcha.adb, s-imgrea.adb, sinfo.ads, sinput-c.adb, snames.ads-tmpl, s-os_lib.adb, sprint.adb, s-regpat.adb, s-secsta.adb, s-stalib.ads, s-stchop.adb, s-stoele.ads, stand.ads, s-taprop-solaris.adb, s-tasdeb-vms.adb, s-tasini.adb, s-tassta.adb, s-valdec.adb, s-valuti.adb, s-wchjis.adb, s-wchwts.adb, system.ads, system-vms_64.ads, system-vms-ia64.ads, treepr.adb, types.ads, uintp.adb, uname.adb, urealp.adb, usage.adb, vxaddr2line.adb: Minor reformatting. From-SVN: r207260
2014-01-20[multiple changes]Arnaud Charlet1-8/+0
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
2013-10-10[multiple changes]Arnaud Charlet1-1/+1
2013-10-10 Hristian Kirtchev <kirtchev@adacore.com> * aspects.adb: Add entries in table Canonical_Aspects for aspects Refined_Depends and Refined_Global. * aspects.ads: Add entries in tables Aspect_Id, Aspect_Argument, Aspect_Names, Aspect_Declay, Aspect_On_Body_Or_Stub_OK for aspects Refined_Depends and Refined_Global. * einfo.adb (Contract): Subprogram bodies are now valid owners of contracts. (Set_Contract): Subprogram bodies are now valid owners of contracts. (Write_Field24_Name): Output the contract attribute for subprogram bodies. * exp_ch6.adb (Expand_Subprogram_Contract): New routine. * exp_ch6.ads (Expand_Subprogram_Contract): New routine. * par-prag.adb: Pragmas Refined_Depends and Refined_Global do not require any special processing by the parser. * sem_ch3.adb (Adjust_D): Renamed to Adjust_Decl. (Analyze_Declarations): Code reformatting. Analyze the contract of a subprogram body at the end of the declarative region. * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Subprogram bodies can now have contracts. Use Expand_Subprogram_Contract to handle the various contract assertions. (Analyze_Subprogram_Body_Contract): New null routine. (Analyze_Subprogram_Body_Helper): Subprogram bodies can now have contracts. Use Expand_Subprogram_Contract to handle the various contract assertions. (Analyze_Subprogram_Contract): Add local variable Nam. Update the call to Analyze_PPC_In_Decl_Part. Capture the pragma name in Nam. (Process_PPCs): Removed. * sem_ch6.ads (Analyze_Subprogram_Body_Contract): New routine. (Analyze_Subprogram_Contract): Update the comment on usage. * sem_ch13.adb (Analyze_Aspect_Specifications): Add null implementations for aspects Refined_Depends and Refined_Global. (Check_Aspect_At_Freeze_Point): Aspects Refined_Depends and Refined_Global do not need to be checked at the freeze point. * sem_prag.adb: Add entries in table Sig_Flags for pragmas Refined_Depends and Refined_Global. (Analyze_Contract_Cases_In_Decl_Part): Add local variable Restore. Use Restore to pop the scope. (Analyze_Depends_In_Decl_Part): Add local variable Restore. Use Restore to pop the scope. (Analyze_Global_In_Decl_List): Add local variable Restore. Use Restore to pop the scope. (Analyze_PPC_In_Decl_Part): Renamed to Analyze_Pre_Post_Condition_In_Decl_Part. (Analyze_Pragma): Add null implementations for pragmas Refined_Depends and Refined_Global. Refined_Pre and Refined_Post are now handled by routine Analyze_Refined_Pre_Post_Condition exclusively. (Analyze_Refined_Depends_In_Decl_Part): New null routine. (Analyze_Refined_Global_In_Decl_Part): New null routine. (Analyze_Refined_Pre_Post): Renamed to Analyze_Refined_Pre_Post_Condition. (Analyze_Refined_Pre_Post_Condition): Analyze the boolean expression. (Check_Precondition_Postcondition): Update the call to Analyze_PPC_In_Decl_Part. * sem_prag.ads: Add entries in table Pragma_On_Body_Or_Stub_OK for pragmas Refined_Depends and Refined_Global. (Analyze_PPC_In_Decl_Part): Renamed to Analyze_Pre_Post_Condition_In_Decl_Part. Update the comment on usage. (Analyze_Refined_Depends_In_Decl_Part): New routine. (Analyze_Refined_Global_In_Decl_Part): New routine. (Analyze_Test_Case_In_Decl_Part): Update the comment on usage. * sem_util.adb (Add_Contract_Item): Rename formal Item to Prag and update all occurrences. Subprogram body contracts can now contain pragmas Refined_Depends and Refined_Global. * sem_util.ads (Add_Contract_Item): Rename formal Item to Prag. Update the comment on usage. * sinfo.ads: Update the comment on structure and usage of N_Contract. * snames.ads-tmpl: Add new predefined names for Refined_Depends and Refined_Global. Add entries in table Pragma_Id for Refined_Depends and Refined_Global. 2013-10-10 Robert Dewar <dewar@adacore.com> * types.ads: Minor reformatting. From-SVN: r203365
2013-10-10[multiple changes]Arnaud Charlet1-1/+7
2013-10-10 Robert Dewar <dewar@adacore.com> * sem_ch3.adb: Minor reformatting. 2013-10-10 Robert Dewar <dewar@adacore.com> * sinput-c.adb (Load_File): Ensure Source_Align alignment. * sinput-d.adb (Create_Debug_Source): Ensure Source_Align alignment. * sinput-l.adb (Create_Instantiation_Source): Ensure Source_Align alignment. (Load_File): Ditto. * sinput.ads, sinput.adb (Get_Source_File_Index): New optimized (single line) version. * types.ads (Source_Align): New definition. (Source_Buffer): Document new alignment requirement. 2013-10-10 Robert Dewar <dewar@adacore.com> * sem_prag.adb (Analyze_Pragma, case Linker_Section): Allow this for types. 2013-10-10 Robert Dewar <dewar@adacore.com> * gnat_rm.texi: Minor adjustment to doc for To_Address attribute. 2013-10-10 Vadim Godunko <godunko@adacore.com> * s-stopoo.ads (Root_Storage_Pool): Add pragma Preelaborable_Initialization. From-SVN: r203343
2013-07-05aspects.adb: Add an entry for SPARK_Mode in table Canonical_Aspect.Hristian Kirtchev1-0/+8
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[multiple changes]Arnaud Charlet1-19/+20
2013-07-05 Robert Dewar <dewar@adacore.com> * a-cfhase.adb, sem_prag.adb, a-cfhama.adb: Minor reformatting. 2013-07-05 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Copy_Generic_Node): Check that name in function call is a valid entity name before preserving entity in generic copy. 2013-07-05 Thomas Quinot <quinot@adacore.com> * par-ch5.adb: Minor reformatting. 2013-07-05 Thomas Quinot <quinot@adacore.com> * sinfo.ads: Minor clarification to documentation for N_Implicit_Label_Declaration. 2013-07-05 Hristian Kirtchev <kirtchev@adacore.com> * a-except-2005.adb, a-except.adb: Add constant Rmsg_17. Correct the values of all remaining constants. (Rcheck_35): New routine along with pragmas Export and No_Return. (Rcheck_PE_Aliased_Parameters): New routine along with pragmas Export and No_Return. (Rcheck_PE_All_Guards_Closed, Rcheck_PE_Bad_Predicated_Generic_Type, Rcheck_PE_Current_Task_In_Entry_Body, Rcheck_PE_Duplicated_Entry_Address, Rcheck_PE_Explicit_Raise, Rcheck_PE_Implicit_Return, Rcheck_PE_Misaligned_Address_Value, Rcheck_PE_Missing_Return, Rcheck_PE_Overlaid_Controlled_Object, Rcheck_PE_Potentially_Blocking_Operation Rcheck_PE_Stubbed_Subprogram_Called, Rcheck_PE_Unchecked_Union_Restriction, Rcheck_PE_Non_Transportable_Actual, Rcheck_SE_Empty_Storage_Pool, Rcheck_SE_Explicit_Raise, Rcheck_SE_Infinite_Recursion, Rcheck_SE_Object_Too_Large, Rcheck_PE_Finalize_Raised_Exception): Update the use of Rmsg_XX. (Rcheck_17, Rcheck_18, Rcheck_19, Rcheck_20, Rcheck_21, Rcheck_22, Rcheck_23, Rcheck_24, Rcheck_25, Rcheck_26, Rcheck_27, Rcheck_28, Rcheck_29, Rcheck_30, Rcheck_31, Rcheck_32, Rcheck_33, Rcheck_34, Rcheck_35): Update corresponding renamed subprograms. * checks.adb: Add with and use clause for Stringt. (Apply_Parameter_Aliasing_Checks): Make constant Loc visible in all subprograms of Apply_Parameter_Aliasing_Checks. Remove local variable Cond. Initialize Check at the start of the routine. Use routine Overlap_Check to construct a simple or a detailed run-time check. Update the creation of the simple check. (Overlap_Check): New routine. * exp_ch11.adb (Get_RT_Exception_Name): Add a value for PE_Aliased_Parameters. * types.ads: Add new enumeration literal PE_Aliased_Parameters. Update the corresponding integer values of all RT_Exception_Code literals. * types.h: Add new constant PE_Aliased_Parameters. Correct the values of all remaining constants. 2013-07-05 Yannick Moy <moy@adacore.com> * gnat_rm.texi: Minor renaming of SPARK into SPARK 2005 in documentation. From-SVN: r200690
2013-04-24[multiple changes]Arnaud Charlet1-6/+7
2013-04-24 Robert Dewar <dewar@adacore.com> * sem_prag.adb (Process_Convention): Move Stdcall tests to Set_Convention_From_Pragma so that they are applied to each entry of a homonym set. (Process_Convention): Don't try to set convention if already set. 2013-04-24 Robert Dewar <dewar@adacore.com> * gnatbind.adb: Minor reformatting. 2013-04-24 Vincent Celier <celier@adacore.com> * clean.adb (Gnatclean): Add the default project search directories in the project search path after scanning the switches on the command line. (Initialize): Do not put the default project search directories in the project search path. * gnatcmd.adb (GNATcmd): Add the default project search directories in the project search path after scanning the switches on the command line. * make.adb (Initialize): Add the default project search directories in the project search path after scanning the switches on the command line. 2013-04-24 Yannick Moy <moy@adacore.com> * restrict.ads (Restriction_Warnings): Initialize with all False value. 2013-04-24 Robert Dewar <dewar@adacore.com> * checks.ads, checks.adb (Predicate_Checks_Suppressed): New function. * exp_util.ads, exp_util.adb (Make_Predicate_Check): Check setting of Predicate_Check. * snames.ads-tmpl (Name_Predicate_Check): New check name. * types.ads (Predicate_Check): New definition. * gnat_rm.texi: Add documentation for Predicate_Check. From-SVN: r198226
2013-04-23[multiple changes]Arnaud Charlet1-1/+1
2013-04-23 Yannick Moy <moy@adacore.com> * exp_ch5.adb: Minor typo. 2013-04-23 Thomas Quinot <quinot@adacore.com> * gnat_ugn.texi: Fix typo. 2013-04-23 Ed Schonberg <schonberg@adacore.com> * einfo.ads: Minor documentation clarification. 2013-04-23 Bob Duff <duff@adacore.com> * types.ads: Fix incorrect comment. From-SVN: r198189
2013-04-11[multiple changes]Arnaud Charlet1-3/+3
2013-04-11 Robert Dewar <dewar@adacore.com> * sem_ch6.adb: Minor reformatting. 2013-04-11 Yannick Moy <moy@adacore.com> * ali-util.adb (Read_Withed_ALIs): Do not consider it an error to read ALI files with No_Object=True in Alfa mode. * gnat1drv.adb: Set appropriately Back_End_Mode in Alfa mode, whether this is during frame condition generation of translation to Why. 2013-04-11 Robert Dewar <dewar@adacore.com> * exp_ch4.adb: Minor code reorganization * types.ads: Minor reformatting. From-SVN: r197759
2013-01-04types.ads, [...]: Minor reformatting.Robert Dewar1-3/+3
2013-01-04 Robert Dewar <dewar@adacore.com> * types.ads, prj-conf.adb, par-tchk.adb: Minor reformatting. 2013-01-04 Robert Dewar <dewar@adacore.com> * par-ch6.adb (P_Subprogram): Better handling of missing IS after expression function. * par-util.adb (No_Constraint): Improve handling to avoid bad warnings. 2013-01-04 Robert Dewar <dewar@adacore.com> * exp_util.ads, exp_util.adb (Insert_Actions): In expression with actions case, new actions are appended to the sequence rather than prepended. 2013-01-04 Robert Dewar <dewar@adacore.com> * gnat_ugn.texi: Document -gnatw.d/w.D (does no apply in VMS mode). * usage.adb: Add lines for -gnatw.d/w.D switches. * warnsw.adb: Minor fixes (some missing cases of setting Warning_Doc_Switch). Reject -gnatw.d and -gnatw.D in VMS mode. From-SVN: r194895
2012-12-05gnat_rm.texi: Update overflow description.Robert Dewar1-6/+6
2012-12-05 Robert Dewar <dewar@adacore.com> * gnat_rm.texi: Update overflow description. Pragma Overflow_Checks changed to Overflow_Mode. 2012-12-05 Robert Dewar <dewar@adacore.com> * checks.ads, exp_ch4.adb, gnat1drv.adb, par-prag.adb, sem_prag.adb, snames.ads-tmpl, switch-c.adb, types.ads, checks.adb: Change pragma Overflow_Checks to Overflow_Mode. Separate overflow checking from overflow mode. Several name changes to reflect this separation. CHECKED mode is renamed STRICT mode. From-SVN: r194193
2012-11-06checks.ads, [...]: Minor changes throughout for new overflow checking.Robert Dewar1-34/+25
2012-11-06 Robert Dewar <dewar@adacore.com> * checks.ads, checks.adb, exp_ch4.adb: Minor changes throughout for new overflow checking. * exp_util.adb (Insert_Actions): Remove special casing of Overflow_Check. * gnat1drv.adb (Adjust_Global_Switches): Fixes for new handling of overflow checks. * sem.adb (Analyze): Remove special casing of Overflow_Check (Analyze_List): ditto. * sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Remove SUPPRESSED and change CHECKED to STRICT. * sem_res.adb (Analyze_And_Resolve): No longer treat Overflow_Check specially. (Preanalyze_And_Resolve): ditto. (Resolve): ditto. * snames.ads-tmpl: Replace Name_Checked by Name_Strict. * switch-c.adb (Get_Overflow_Mode): Eliminate 0 setting, CHECKED => STRICT. * types.ads (Overflow_Check_Type): Remove Suppressed, change Checked to Strict (Suppress_Record): Overflow check controlled by Suppress array. From-SVN: r193233
2012-10-04checks.adb (Minimize_Eliminate_Overflow_Checks): Dont reanalyze if/case ↵Robert Dewar1-1/+3
expression if nothing has changed (just reexpand). 2012-10-04 Robert Dewar <dewar@adacore.com> * checks.adb (Minimize_Eliminate_Overflow_Checks): Dont reanalyze if/case expression if nothing has changed (just reexpand). Stops case expression from generating incorrect temporary. * exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow): Fix cut and paste typo for range analysis in NE (not equal) case. * sem_eval.adb (Compile_Time_Compare): Small optimization to catch some more cases. * types.ads (Suppressed_Or_Checked): New subtype of Overflow_Check_Type. From-SVN: r192070
2012-10-01[multiple changes]Arnaud Charlet1-0/+5
2012-10-01 Robert Dewar <dewar@adacore.com> * checks.adb (Overflow_Check_Mode): New function (Apply_Overflow_Check): New procedure (Is_Check_Suppressed): Moved here from Sem, Overflow_Check case now specially treated. * checks.ads (Overflow_Check_Mode): New function (Is_Check_Suppressed): Moved here from Sem (more logical) * exp_ch4.adb (Substitute_Valid_Check): Suppress warning about optimization if we are in MINIMIZED or ELIMINATED overflow checking mode and within an assertiom expression. * rtsfind.ads: Add entries for Bignum stuff. * s-bignum.ads, s-bignum.adb: New files. * sem.ads, sem.adb (Is_Check_Suppressed): Moved to Checks, more logical. * sem_prag.adb (Process_Suppress_Unsuppress): New behavior for Unsuppress of Overflow_Check (sets Checked instead of Minimized) * sem_res.adb: Update comments. * sinfo.ads (N_Op): Add documentation on overflow handling. * tbuild.ads, tbuild.adb (Convert_To_And_Rewrite): New procedure. * types.ads (Minimized_Or_Eliminated): New subtype. 2012-10-01 Eric Botcazou <ebotcazou@adacore.com> * layout.adb (Layout_Type): Do not set twice the address size on an access-to-unconstrained array if Debug_Flag_6 is set. From-SVN: r191912
2012-10-01[multiple changes]Arnaud Charlet1-3/+3
2012-10-01 Robert Dewar <dewar@adacore.com> * checks.ads: Minor reformatting. 2012-10-01 Yannick Moy <moy@adacore.com> * types.ads, sem_prag.adb, sem.ads: Correct minor typos in comments. From-SVN: r191897
2012-10-01[multiple changes]Arnaud Charlet1-27/+32
2012-10-01 Vincent Celier <celier@adacore.com> * make.adb (Scan_Make_Arg): Only test for "vP" of the option includes at least 3 characters. * gnatcmd.adb (GNATCmd): Ditto. 2012-10-01 Eric Botcazou <ebotcazou@adacore.com> * exp_ch7.adb, sinfo.ads: Add comments. 2012-10-01 Robert Dewar <dewar@adacore.com> * checks.adb: Remove reference to Enable_Overflow_Checks Use Suppress_Options rather than Scope_Suppress. * gnat1drv.adb (Adjust_Global_Switches): Handle new overflow settings (Adjust_Global_Switches): Initialize Scope_Suppress from Suppress_Options. * opt.adb: Remove Enable_Overflow_Checks (use Suppress_Options instead). * opt.ads: Remove Overflow_Checks_Unsuppressed (not used) Remove Enable_Overflow_Checks (use Suppress_Options instead) Suppress_Options is now current setting (replaces Scope_Suppress). * osint.adb (Initialize): Deal with initializing overflow checking. * par-prag.adb: Add dummy entry for pragma Overflow_Checks. * sem.adb (Semantics): Save and restore In_Assertion_Expr Use Suppress_Options instead of Scope_Suppress. * sem.ads (In_Assertion_Expr): New flag (Scope_Suppress): Removed, use Suppress_Options instead. * sem_eval.adb (Compile_Time_Compare): Return Unknown in preanalysis mode. * sem_prag.adb (Process_Suppress_Unsuppress): Setting of Overflow_Checks_Unsuppressed removed (not used anywhere!) (Analyze_Pragma, case Check): Set In_Assertion_Expression (Analyze_Pragma, case Overflow_Checks): Implement new pragma * snames.ads-tmpl: Add names needed for handling pragma Overflow_Checks * switch-c.adb (Scan_Front_End_Switches) Handle -gnato? and -gnato?? where ? is 0-3 * types.ads: Updates and fixes to comment on Suppress_Record. 2012-10-01 Vincent Celier <celier@adacore.com> * prj-part.adb (Parse): Remove incorrect comment about checking imported non extending projects from and "extending all" one. Minor correction. From-SVN: r191895
2012-08-06[multiple changes]Arnaud Charlet1-3/+53
2012-08-06 Robert Dewar <dewar@adacore.com> * exp_util.adb, switch-c.adb, inline.ads, sem_ch10.adb, types.ads, checks.adb, sem_prag.adb, sem.adb, sem.ads, sem_res.adb, sem_attr.adb, gnat1drv.adb, exp_ch4.adb, exp_ch6.adb, opt.ads, osint.adb: Implement extended overflow checks (step 1). (Overflow_Check_Type, Suppress_Record, Suppress_All): New types. (Suppress_Array): Extended to include switches to control extended overflow checking (and renamed to Suppress_Record). Update all uses of Suppress_Array. 2012-08-06 Thomas Quinot <quinot@adacore.com> * makeutl.ads: Minor documentation fix. 2012-08-06 Thomas Quinot <quinot@adacore.com> * exp_ch7.adb: Minor reformatting. From-SVN: r190166
2012-05-15fe.h (Get_RT_Exception_Name): Define.Tristan Gingold1-2/+4
2012-05-15 Tristan Gingold <gingold@adacore.com> * fe.h (Get_RT_Exception_Name): Define. * types.ads (RT_Exception_Code): Update comment. * exp_ch11.adb, exp_ch11.ads (Get_RT_Exception_Name): New procedure to get the name of the rcheck subprograms. * a-except-2005.adb (Rcheck_xx): Rename. * a-except.adb Likewise, but also keep the old Rcheck_nn routines for bootstrap. * arith64.c (__gnat_mulv64): Use __gnat_rcheck_CE_Overflow_Check instead of __gnat_rcheck_10. * gcc-interface/trans.c (build_raise_check): Use Get_RT_Exception_Name to create the __gnat_rcheck routines name. * gcc-interface/Make-lang.in: Update dependencies. From-SVN: r187517
2011-11-21sem_ch3.adb: Minor reformatting.Robert Dewar1-6/+2
2011-11-21 Robert Dewar <dewar@adacore.com> * sem_ch3.adb: Minor reformatting. 2011-11-21 Robert Dewar <dewar@adacore.com> * s-utf_32.adb (Is_UTF_32_Line_Terminator): Recognize NEL as line terminator. * sinput.ads: Add section on Handling of Source Line Terminators. * types.ads (Line_Terminator): Adjust comments. From-SVN: r181567
2011-10-24[multiple changes]Arnaud Charlet1-16/+19
2011-10-24 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Earlier): make available globally. If both nodes have the same sloc, the freeze node that does not come from source is the later one. (True_Parent): Make available globally. (Previous_Instance): Subsidiary of Insert_Freeze_Node_For_Instance, to check whether the generic parent of the current instance is declared within a previous instance in the same unit or declarative part, in which case the freeze nodes of both instances must appear in order to prevent elaboration problems in gigi. * sem_ch12.adb (Insert_Freeze_Node_For_Instance): A stub is a freeze point, and the freeze node of a preceding instantiation must be inserted before it. 2011-10-24 Robert Dewar <dewar@adacore.com> * checks.ads, checks.adb: Add handling of Synchronization_Check * debug.adb: Add doc for -gnatd.d and -gnatd.e (disable/enable atomic sync). * exp_ch2.adb (Expand_Entity_Reference): Set Atomic_Sync_Required flag Minor code reorganization. * opt.ads (Warn_On_Atomic_Synchronization): New switch. * par-prag.adb: Add dummy entries for pragma Disable/Enable_Atomic_Synchronization. * sem_prag.adb (Process_Suppress_Unsuppress): Handle case of Atomic_Synchronization specially (not suppressed by All_Checks, cannot be set from Source). (Pragma Disable/Enable_Atomic_Synchronization): Add processing. * sinfo.ads, sinfo.adb: Add Atomic_Sync_Required flag * snames.ads-tmpl: Add entry for Atomic_Synchronization Add entry for pragma Disable/Enable_Atomic_Synchronization * switch-c.adb: The -gnatp switch does not disable Atomic_Synchronization Add -gnatep switch to disable Atomic_Synchronization. * types.ads: Add entry for Synchronization_Check * usage.adb: Add line for -gnated switch * warnsw.adb: Settings for Warn_On_Atomic_Synchronization From-SVN: r180373
2011-08-02[multiple changes]Arnaud Charlet1-2/+2
2011-08-02 Sergey Rybin <rybin@adacore.com> * gnat_rm.texi: Ramification of pragma Eliminate documentation - fix bugs in the description of Source_Trace; - get rid of UNIT_NAME; 2011-08-02 Javier Miranda <miranda@adacore.com> * exp_ch9.adb (Build_Dispatching_Requeue): Adding support for VM targets since we cannot directly reference the Tag entity. * exp_sel.adb (Build_K): Adding support for VM targets. (Build_S_Assignment): Adding support for VM targets. * exp_disp.adb (Default_Prim_Op_Position): In VM targets do not restrict availability of predefined interface primitives to compiling in Ada 2005 mode. (Is_Predefined_Interface_Primitive): In VM targets this service is not restricted to compiling in Ada 2005 mode. (Make_VM_TSD): Generate code that declares and initializes the OSD record. Needed to support dispatching calls through synchronized interfaces. * exp_ch3.adb (Make_Predefined_Primitive_Specs): Enable generation of predefined primitives associated with synchronized interfaces. (Make_Predefined_Primitive_Bodies): Enable generation of predefined primitives associated with synchronized interfaces. 2011-08-02 Yannick Moy <moy@adacore.com> * par-ch11.adb (P_Handled_Sequence_Of_Statements): mark a sequence of statements hidden in SPARK if preceded by the HIDE directive (Parse_Exception_Handlers): mark each exception handler in a sequence of exception handlers as hidden in SPARK if preceded by the HIDE directive * par-ch6.adb (P_Subprogram): mark a subprogram body hidden in SPARK if starting with the HIDE directive * par-ch7.adb (P_Package): mark a package body hidden in SPARK if starting with the HIDE directive; mark the declarations in a private part as hidden in SPARK if the private part starts with the HIDE directive * restrict.adb, restrict.ads (Set_Hidden_Part_In_SPARK): record a range of slocs as hidden in SPARK (Is_In_Hidden_Part_In_SPARK): new function which returns whether its argument node belongs to a part which is hidden in SPARK (Check_SPARK_Restriction): do not issue violations on nodes in hidden parts in SPARK; protect the possibly costly call to Is_In_Hidden_Part_In_SPARK by a check that the SPARK restriction is on * scans.ads (Token_Type): new value Tok_SPARK_Hide in enumeration * scng.adb (Accumulate_Token_Checksum_GNAT_6_3, Accumulate_Token_Checksum_GNAT_5_03): add case for new token Tok_SPARK_Hide. (Scan): recognize special comment starting with '#' and followed by SPARK keyword "hide" as a HIDE directive. 2011-08-02 Yannick Moy <moy@adacore.com> * types.ads, erroutc.ads: Minor reformatting. 2011-08-02 Vincent Celier <celier@adacore.com> * link.c: Add response file support for cross platforms. From-SVN: r177179
2010-10-22a-except-2005.adb (Rmsg_18): New message text.Robert Dewar1-1/+1
2010-10-22 Robert Dewar <dewar@adacore.com> * a-except-2005.adb (Rmsg_18): New message text. * a-except.adb (Rmsg_18): New message text. * atree.adb (List25): New function (Set_List25): New procedure * atree.ads (List25): New function (Set_List25): New procedure * einfo.adb (Static_Predicate): Is now a list (OK_To_Reference): Present in all entities * einfo.ads (Static_Predicate): Is now a list (OK_To_Reference): Applies to all entities * exp_ch13.adb (Build_Predicate_Function): Moved to Sem_Ch13 * sem_attr.adb (Bad_Attribute_For_Predicate): Call Bad_Predicated_Subtype_Use. * sem_case.ads, sem_case.adb: Major surgery to deal with predicated subtype case. * sem_ch13.adb (Build_Predicate_Function): Moved from Exp_Ch13 to Sem_Ch13. (Build_Static_Predicate): New procedure handles static predicates. * sem_ch3.adb (Analyze_Subtype_Declaration): Delay freeze on subtype with no constraint if ancestor subtype has predicates. (Analyze_Variant_Part): New calling sequence for Analyze_Choices * sem_ch4.adb (Junk_Operand): Don't complain about OK_To_Reference entity. (Analyze_Case_Expression): New calling sequence for Analyze_Choices * sem_ch5.adb (Analyze_Case_Statement): New calling sequence for Analyze_Choices. * sem_util.ads, sem_util.adb (Bad_Predicated_Subtype_Use): New procedure * types.ads (PE_Bad_Predicated_Generic_Type): Replaces PE_Bad_Attribute_For_Predicate. * atree.h: Add definition of List25. From-SVN: r165828