aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDirk Mueller <dmueller@suse.de>2006-10-29 18:38:26 +0000
committerDirk Mueller <mueller@gcc.gnu.org>2006-10-29 18:38:26 +0000
commit0958b0d31d473198b005797dad0fbb44f3d303ea (patch)
tree5400ffc1ce57c071b6d61f28fb4ea75789350b08 /gcc
parent3f07249e98a147a94675a5427f73ca0b0ce3ef9b (diff)
downloadgcc-0958b0d31d473198b005797dad0fbb44f3d303ea.zip
gcc-0958b0d31d473198b005797dad0fbb44f3d303ea.tar.gz
gcc-0958b0d31d473198b005797dad0fbb44f3d303ea.tar.bz2
re PR c++/16307 (-Wchar-subscripts does not warn on pointers)
2006-10-29 Dirk Mueller <dmueller@suse.de> PR c++/16307 * typeck.c (build_array_ref): Warn for char subscriptions on pointers. * g++.dg/warn/Wchar-subscripts-2.C: New testcase. From-SVN: r118154
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/typeck.c2
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/warn/Wchar-subscripts-2.C13
4 files changed, 26 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index a2f8b8a..1d46779 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,9 @@
+2006-10-29 Dirk Mueller <dmueller@suse.de>
+
+ PR c++/16307
+ * typeck.c (build_array_ref): Warn for char subscriptions
+ on pointers.
+
2006-10-29 Kazu Hirata <kazu@codesourcery.com>
* decl.c: Fix a comment typo.
diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c
index 0094323..46eee41 100644
--- a/gcc/cp/typeck.c
+++ b/gcc/cp/typeck.c
@@ -2489,6 +2489,8 @@ build_array_ref (tree array, tree idx)
return error_mark_node;
}
+ warn_array_subscript_with_type_char (idx);
+
return build_indirect_ref (cp_build_binary_op (PLUS_EXPR, ar, ind),
"array indexing");
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index de569bb..f81e583 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2006-10-29 Dirk Mueller <dmueller@suse.de>
+
+ PR c++/16307
+ * g++.dg/warn/Wchar-subscripts-2.C: New testcase.
+
2006-10-29 Roger Sayle <roger@eyesopen.com>
PR tree-optimization/15458
diff --git a/gcc/testsuite/g++.dg/warn/Wchar-subscripts-2.C b/gcc/testsuite/g++.dg/warn/Wchar-subscripts-2.C
new file mode 100644
index 0000000..5d19cd3
--- /dev/null
+++ b/gcc/testsuite/g++.dg/warn/Wchar-subscripts-2.C
@@ -0,0 +1,13 @@
+/* PR c++/16307 */
+// { dg-do compile }
+// { dg-options "-Wchar-subscripts" }
+
+char foo (const char *s)
+{
+ return s [s ['\x80']]; // { dg-warning "array subscript" }
+}
+
+int main ()
+{
+ foo ("\x80");
+}