diff options
author | Dirk Mueller <dmueller@suse.de> | 2006-10-29 18:38:26 +0000 |
---|---|---|
committer | Dirk Mueller <mueller@gcc.gnu.org> | 2006-10-29 18:38:26 +0000 |
commit | 0958b0d31d473198b005797dad0fbb44f3d303ea (patch) | |
tree | 5400ffc1ce57c071b6d61f28fb4ea75789350b08 /gcc | |
parent | 3f07249e98a147a94675a5427f73ca0b0ce3ef9b (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/typeck.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/warn/Wchar-subscripts-2.C | 13 |
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"); +} |