aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2009-07-27 15:26:41 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2009-07-27 15:26:41 +0200
commit4524c32c88a638a3c21922f195dea99a1128a979 (patch)
tree7a737eaba503a57d564d46ca27e10de4512c885f /gcc
parent9337aa0a75d5543b376718d8de61cb2120e9b767 (diff)
downloadgcc-4524c32c88a638a3c21922f195dea99a1128a979.zip
gcc-4524c32c88a638a3c21922f195dea99a1128a979.tar.gz
gcc-4524c32c88a638a3c21922f195dea99a1128a979.tar.bz2
[multiple changes]
2009-07-27 Sergey Rybin <rybin@adacore.com> * gnat_ugn.texi: Update gnatcheck doc. 2009-07-27 Arnaud Charlet <charlet@adacore.com> * lib-xref.ads: Allocate/document 'o' char for use by references to spark 'own' variables. From-SVN: r150112
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/ChangeLog9
-rw-r--r--gcc/ada/gnat_ugn.texi17
-rw-r--r--gcc/ada/lib-xref.ads5
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 <rybin@adacore.com>
+
+ * gnat_ugn.texi: Update gnatcheck doc.
+
+2009-07-27 Arnaud Charlet <charlet@adacore.com>
+
+ * lib-xref.ads: Allocate/document 'o' char for use by references to
+ spark 'own' variables.
+
2009-07-27 Gary Dismukes <dismukes@adacore.com>
* 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