From bf460b19f02df9a6409ebc8e16ba8a3b17eb1813 Mon Sep 17 00:00:00 2001 From: Josh Conner Date: Mon, 8 Aug 2005 18:28:46 +0000 Subject: [PATCH] re PR rtl-optimization/23241 (Invalid code generated for comparison of uchar to 255) PR rtl-optimization/23241 * gcc.dg/char-compare.c: New test. From-SVN: r102868 --- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.dg/char-compare.c | 23 +++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/char-compare.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 4a79bf8261e..c45105e2134 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-08-08 Josh Conner + + PR rtl-optimization/23241 + * gcc.dg/char-compare.c: New test. + 2005-08-08 Volker Reichelt PR c++/22508 diff --git a/gcc/testsuite/gcc.dg/char-compare.c b/gcc/testsuite/gcc.dg/char-compare.c new file mode 100644 index 00000000000..f8b2fb968b0 --- /dev/null +++ b/gcc/testsuite/gcc.dg/char-compare.c @@ -0,0 +1,23 @@ +/* PR rtl-optimization/23241 */ +/* Origin: Josh Conner */ + +/* { dg-do run } */ +/* { dg-options "-O2" } */ + +extern void abort(void); + +struct fbs { + unsigned char uc; +} fbs1 = {255}; + +void fn(struct fbs *fbs_ptr) +{ + if ((fbs_ptr->uc != 255) && (fbs_ptr->uc != 0)) + abort(); +} + +int main(void) +{ + fn(&fbs1); + return 0; +} -- 2.30.2