aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1993-03-02 02:03:36 +0000
committerRichard Stallman <rms@gnu.org>1993-03-02 02:03:36 +0000
commit3791970daf55a3bedd1d83e46bdf798f44b4b6a9 (patch)
tree79f7676ccaf3145df0aaacb982e7b167d66d1670
parentf10fec92a8ffe4e144751152a7eb0f7bb21a9e24 (diff)
downloadgcc-3791970daf55a3bedd1d83e46bdf798f44b4b6a9.zip
gcc-3791970daf55a3bedd1d83e46bdf798f44b4b6a9.tar.gz
gcc-3791970daf55a3bedd1d83e46bdf798f44b4b6a9.tar.bz2
(readonly_warning): Warn about assignment to iterator.
From-SVN: r3578
-rw-r--r--gcc/c-typeck.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c
index 3897350..68c6679 100644
--- a/gcc/c-typeck.c
+++ b/gcc/c-typeck.c
@@ -3356,6 +3356,14 @@ readonly_warning (arg, string)
char buf[80];
strcpy (buf, string);
+ /* Forbid assignments to iterators. */
+ if (TREE_CODE (TREE_OPERAND (arg, 0)) == VAR_DECL
+ && ITERATOR_P (TREE_OPERAND (arg, 0)))
+ {
+ strcat (buf, " of iterator `%s'");
+ pedwarn (buf, IDENTIFIER_POINTER (DECL_NAME (TREE_OPERAND (arg, 1))));
+ }
+
if (TREE_CODE (arg) == COMPONENT_REF)
{
if (TYPE_READONLY (TREE_TYPE (TREE_OPERAND (arg, 0))))