aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2012-01-30 12:36:09 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2012-01-30 12:36:09 +0100
commitb688e030537ddec071ff506e1faf04ffab47f4dd (patch)
tree3775dd48e4a8efbdbf1925a76b5de9be33437bb5 /gcc/ada
parent1423761633d64bf0547ca2583fe4ef5cc67b4b83 (diff)
downloadgcc-b688e030537ddec071ff506e1faf04ffab47f4dd.zip
gcc-b688e030537ddec071ff506e1faf04ffab47f4dd.tar.gz
gcc-b688e030537ddec071ff506e1faf04ffab47f4dd.tar.bz2
[multiple changes]
2012-01-30 Thomas Quinot <quinot@adacore.com> * a-strhas.ads: Document risk of collision attack. 2012-01-30 Yannick Moy <moy@adacore.com> * gnat_ugn.texi: Minor update wrt warning switches. From-SVN: r183706
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/ChangeLog8
-rw-r--r--gcc/ada/a-strhas.ads3
-rw-r--r--gcc/ada/gnat_ugn.texi23
3 files changed, 31 insertions, 3 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 624aa11..74c0c95 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,11 @@
+2012-01-30 Thomas Quinot <quinot@adacore.com>
+
+ * a-strhas.ads: Document risk of collision attack.
+
+2012-01-30 Yannick Moy <moy@adacore.com>
+
+ * gnat_ugn.texi: Minor update wrt warning switches.
+
2012-01-30 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Check_Interfaces): Report an error when a
diff --git a/gcc/ada/a-strhas.ads b/gcc/ada/a-strhas.ads
index c2574d1..58389c2 100644
--- a/gcc/ada/a-strhas.ads
+++ b/gcc/ada/a-strhas.ads
@@ -18,5 +18,8 @@ pragma Compiler_Unit;
with Ada.Containers;
function Ada.Strings.Hash (Key : String) return Containers.Hash_Type;
+-- Note: this hash function has predictable collisions and is subject
+-- to equivalent substring attacks. It is not suitable to construct a hash
+-- table keyed on possibly malicious user input.
pragma Pure (Ada.Strings.Hash);
diff --git a/gcc/ada/gnat_ugn.texi b/gcc/ada/gnat_ugn.texi
index b39a0c3..434ff69 100644
--- a/gcc/ada/gnat_ugn.texi
+++ b/gcc/ada/gnat_ugn.texi
@@ -7,7 +7,7 @@
@c o
@c G N A T _ U G N o
@c o
-@c Copyright (C) 1992-2011, Free Software Foundation, Inc. o
+@c Copyright (C) 1992-2012, Free Software Foundation, Inc. o
@c o
@c oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
@@ -5092,10 +5092,12 @@ switch are
@option{-gnatwd} (implicit dereferencing),
@option{-gnatwh} (hiding),
@option{-gnatw.h} (holes (gaps) in record layouts)
+@option{-gnatw.i} (overlapping actuals),
@option{-gnatwl} (elaboration warnings),
@option{-gnatw.l} (inherited aspects),
-@option{-gnatw.o} (warn on values set by out parameters ignored)
-and @option{-gnatwt} (tracking of deleted conditional code).
+@option{-gnatw.o} (warn on values set by out parameters ignored),
+@option{-gnatwt} (tracking of deleted conditional code)
+and @option{-gnatw.u} (unordered enumeration),
All other optional warnings are turned on.
@item -gnatwA
@@ -5671,6 +5673,21 @@ useful for detecting deactivated code in certified applications.
@cindex @option{-gnatwT} (@command{gcc})
This switch suppresses warnings for tracking of deleted conditional code.
+@item -gnatw.t
+@emph{Activate warnings on suspicious contracts.}
+@cindex @option{-gnatw.t} (@command{gcc})
+This switch activates warnings on suspicious postconditions (whether a
+pragma @code{Postcondition} or a @code{Post} aspect in Ada 2012). A
+function postcondition is suspicious when it does not mention the result
+of the function. A procedure postcondition is suspicious when it only
+refers to the pre-state of the procedure, because in that case it should
+rather be expressed as a precondition.
+
+@item -gnatw.T
+@emph{Suppress warnings on suspicious contracts.}
+@cindex @option{-gnatw.T} (@command{gcc})
+This switch suppresses warnings on suspicious postconditions.
+
@item -gnatwu
@emph{Activate warnings on unused entities.}
@cindex @option{-gnatwu} (@command{gcc})