From: H.J. Lu Date: Tue, 19 May 2009 21:17:00 +0000 (+0000) Subject: re PR c/40172 (Revision 147596 breaks bootstrap) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=dae279f018e31acdf2b50acff91b416b5b97645e;p=gcc.git re PR c/40172 (Revision 147596 breaks bootstrap) 2009-05-19 H.J. Lu PR c/40172 * gcc.dg/pr40172.c: Renamed to ... * gcc.dg/pr40172-1.c: This. * gcc.dg/pr40172-2.c: New. * gcc.dg/pr40172-3.c: Likewise. From-SVN: r147719 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index dab10dff107..d3267554d6a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2009-05-19 H.J. Lu + + PR c/40172 + * gcc.dg/pr40172.c: Renamed to ... + * gcc.dg/pr40172-1.c: This. + + * gcc.dg/pr40172-2.c: New. + * gcc.dg/pr40172-3.c: Likewise. + 2009-05-19 Manuel López-Ibáñez PR c/40172 diff --git a/gcc/testsuite/gcc.dg/pr40172-1.c b/gcc/testsuite/gcc.dg/pr40172-1.c new file mode 100644 index 00000000000..a834a8a998e --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr40172-1.c @@ -0,0 +1,31 @@ +/* PR middle-end/40172 */ +/* { dg-do compile } */ +/* { dg-options "-Wall -W -Werror -Wlogical-op" } */ + +struct rtx_def; +typedef struct rtx_def *rtx; + +extern int foo; +extern int bar; +extern int xxx; + +int +test (void) +{ + if (((rtx) 0 != (rtx) 0) && xxx ? foo : bar) + return 1; + else if ((foo & 0) && xxx) + return 2; + else if (foo & 0) + return 3; + else if (0 && xxx) + return 4; + else if (0) + return 5; + if (((int) 0 != (int) 0) && bar ? foo : xxx) + return 6; + else if (0 != 0 && foo ? xxx : bar) + return 7; + else + return 0; +} diff --git a/gcc/testsuite/gcc.dg/pr40172-2.c b/gcc/testsuite/gcc.dg/pr40172-2.c new file mode 100644 index 00000000000..17aabb8b5f3 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr40172-2.c @@ -0,0 +1,16 @@ +/* PR middle-end/40172 */ +/* { dg-do compile } */ +/* { dg-options "-Wall -W -Werror" } */ + +extern int xxx; + +#define XXX xxx + +int +test (void) +{ + if (!XXX && xxx) + return 4; + else + return 0; +} diff --git a/gcc/testsuite/gcc.dg/pr40172-3.c b/gcc/testsuite/gcc.dg/pr40172-3.c new file mode 100644 index 00000000000..ea74fce37c6 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr40172-3.c @@ -0,0 +1,17 @@ +/* PR middle-end/40172 */ +/* { dg-do compile */ +/* { dg-xfail-if "" { "*-*-*" } { "*" } { "" } } */ +/* { dg-options "-Wall -W -Werror -Wlogical-op" } */ + +extern int xxx; + +#define XXX xxx + +int +test (void) +{ + if (!XXX && xxx) + return 4; + else + return 0; +} diff --git a/gcc/testsuite/gcc.dg/pr40172.c b/gcc/testsuite/gcc.dg/pr40172.c deleted file mode 100644 index a834a8a998e..00000000000 --- a/gcc/testsuite/gcc.dg/pr40172.c +++ /dev/null @@ -1,31 +0,0 @@ -/* PR middle-end/40172 */ -/* { dg-do compile } */ -/* { dg-options "-Wall -W -Werror -Wlogical-op" } */ - -struct rtx_def; -typedef struct rtx_def *rtx; - -extern int foo; -extern int bar; -extern int xxx; - -int -test (void) -{ - if (((rtx) 0 != (rtx) 0) && xxx ? foo : bar) - return 1; - else if ((foo & 0) && xxx) - return 2; - else if (foo & 0) - return 3; - else if (0 && xxx) - return 4; - else if (0) - return 5; - if (((int) 0 != (int) 0) && bar ? foo : xxx) - return 6; - else if (0 != 0 && foo ? xxx : bar) - return 7; - else - return 0; -}