From ea0567b978b89e58aada9b3a3660c3ab38f2d2fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20L=C3=B3pez-Ib=C3=A1=C3=B1ez?= Date: Fri, 19 Feb 2010 21:21:34 +0000 Subject: [PATCH] re PR target/36513 (-Wlogical-op warns about strchr) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2010-02-19 Manuel López-Ibáñez PR 36513 testsuite/ * c-c++-common/pr36513.c: New testcase. * c-c++-common/pr36513-2.c: New testcase. From-SVN: r156912 --- gcc/testsuite/ChangeLog | 6 ++++++ gcc/testsuite/c-c++-common/pr36513-2.c | 13 +++++++++++++ gcc/testsuite/c-c++-common/pr36513.c | 15 +++++++++++++++ 3 files changed, 34 insertions(+) create mode 100644 gcc/testsuite/c-c++-common/pr36513-2.c create mode 100644 gcc/testsuite/c-c++-common/pr36513.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f5863dc085d..fdb20fb8135 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2010-02-19 Manuel López-Ibáñez + + 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 PR 41779 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 00000000000..3c12e1ae89e --- /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 +#else +#include +#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 00000000000..026325410a1 --- /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))); +} +