aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManuel López-Ibáñez <manu@gcc.gnu.org>2010-02-19 21:21:34 +0000
committerManuel López-Ibáñez <manu@gcc.gnu.org>2010-02-19 21:21:34 +0000
commitea0567b978b89e58aada9b3a3660c3ab38f2d2fd (patch)
tree34c18183b352dd559702e45ca0e7a6f4a84746d1
parent58076e217c5cbc9f578ea687a67ca49053d06674 (diff)
downloadgcc-ea0567b978b89e58aada9b3a3660c3ab38f2d2fd.zip
gcc-ea0567b978b89e58aada9b3a3660c3ab38f2d2fd.tar.gz
gcc-ea0567b978b89e58aada9b3a3660c3ab38f2d2fd.tar.bz2
re PR target/36513 (-Wlogical-op warns about strchr)
2010-02-19 Manuel López-Ibáñez <manu@gcc.gnu.org> PR 36513 testsuite/ * c-c++-common/pr36513.c: New testcase. * c-c++-common/pr36513-2.c: New testcase. From-SVN: r156912
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/c-c++-common/pr36513-2.c13
-rw-r--r--gcc/testsuite/c-c++-common/pr36513.c15
3 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index f5863dc..fdb20fb 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,11 @@
2010-02-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
+ PR 36513
+ * c-c++-common/pr36513.c: New testcase.
+ * c-c++-common/pr36513-2.c: New testcase.
+
+2010-02-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
PR 41779
* c-c++-common/pr41779.c: New.
diff --git a/gcc/testsuite/c-c++-common/pr36513-2.c b/gcc/testsuite/c-c++-common/pr36513-2.c
new file mode 100644
index 0000000..3c12e1a
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/pr36513-2.c
@@ -0,0 +1,13 @@
+/* PR 36513: -Wlogical-op warns about strchr */
+/* { dg-do compile } */
+/* { dg-options "-Wlogical-op" } */
+#ifdef __cplusplus
+#include <cstring>
+#else
+#include <string.h>
+#endif
+int main2 ()
+{
+ char *s, t;
+ strchr (s, t);
+}
diff --git a/gcc/testsuite/c-c++-common/pr36513.c b/gcc/testsuite/c-c++-common/pr36513.c
new file mode 100644
index 0000000..0263254
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/pr36513.c
@@ -0,0 +1,15 @@
+/* PR 36513: -Wlogical-op warns about strchr */
+/* { dg-do compile } */
+/* { dg-options "-Wlogical-op" } */
+
+extern void *__rawmemchr (const void *__s, int __c);
+int main1 ()
+{
+ char *s, t;
+ (__extension__ (__builtin_constant_p (t)
+ && !__builtin_constant_p (s)
+ && (t) == '\0'
+ ? (char *) __rawmemchr (s, t)
+ : __builtin_strchr (s, t)));
+}
+