From 9242704384a226a98df71418028e5bc32dbf0bee Mon Sep 17 00:00:00 2001 From: charlet Date: Mon, 27 Jul 2009 13:26:41 +0000 Subject: [PATCH] 2009-07-27 Sergey Rybin * gnat_ugn.texi: Update gnatcheck doc. 2009-07-27 Arnaud Charlet * lib-xref.ads: Allocate/document 'o' char for use by references to spark 'own' variables. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150112 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ada/ChangeLog | 9 +++++++++ gcc/ada/gnat_ugn.texi | 17 +++++++++-------- gcc/ada/lib-xref.ads | 5 +++++ 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index db01fc4..5e68e47 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,12 @@ +2009-07-27 Sergey Rybin + + * gnat_ugn.texi: Update gnatcheck doc. + +2009-07-27 Arnaud Charlet + + * lib-xref.ads: Allocate/document 'o' char for use by references to + spark 'own' variables. + 2009-07-27 Gary Dismukes * sem_ch6.adb (Analyze_Function_Return): Set Referenced on return diff --git a/gcc/ada/gnat_ugn.texi b/gcc/ada/gnat_ugn.texi index c2bcfbe..bec5bbb 100644 --- a/gcc/ada/gnat_ugn.texi +++ b/gcc/ada/gnat_ugn.texi @@ -21252,15 +21252,15 @@ This rule has no parameters. @cindex @code{Deep_Inheritance_Hierarchies} rule (for @command{gnatcheck}) @noindent -Flags a tagged derived type declaration if its depth (in its inheritance +Flags a tagged derived type declaration or an interface type declaration if +its depth (in its inheritance hierarchy) exceeds the value specified by the @option{N} rule parameter. -The depth of a root tagged type (ie, a tagged type that is not a derived type) -is 0. -If tagged type T2 derives directly from tagged type T1, then the depth of T2 -is one more than the depth of T1. +The inheritance depth of a tagged type or interface type is defined as 0 for +a type with no parent and no progenitor, and otherwise as 1 + max of the +depths of the immediate parent and immediate progenitors. -This rule does not flag interface types or private extension +This rule does not flag private extension declarations. In the case of a private extension, the correspondong full declaration is checked. @@ -21268,8 +21268,9 @@ This rule has the following (mandatory) parameter for the @option{+R} option: @table @emph @item N -Positive integer specifying the maximal allowed depth of any inheritance -hierarchy. +Integer not less then -1 specifying the maximal allowed depth of any inheritance +hierarchy. If the rule parameter is set to -1, the rule flags all the declarations +of tagged and interface types. @end table diff --git a/gcc/ada/lib-xref.ads b/gcc/ada/lib-xref.ads index b494454..2e9c8d2 100644 --- a/gcc/ada/lib-xref.ads +++ b/gcc/ada/lib-xref.ads @@ -177,6 +177,7 @@ package Lib.Xref is -- k = implicit reference to parent unit in child unit -- l = label on END line -- m = modification + -- o = own variable reference (SPARK only) -- p = primitive operation -- P = overriding primitive operation -- r = reference @@ -271,6 +272,10 @@ package Lib.Xref is -- graph construction). Again, in the case of an accept there -- can be multiple l lines. + -- o is used for variables referenced from a SPARK 'own' + -- definition. In the SPARK language, it is allowed to use a + -- variable before its actual declaration. + -- p is used to mark a primitive operation of the given entity. -- For example, if we have a type Tx, and a primitive operation -- Pq of this type, then an entry in the list of references to -- 2.7.4