diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg')
-rw-r--r-- | gcc/testsuite/gcc.dg/cpp/uchar-1.c | 8 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/cpp/uchar-2.c | 8 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/cpp/uchar-3.c | 17 |
3 files changed, 33 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/cpp/uchar-1.c b/gcc/testsuite/gcc.dg/cpp/uchar-1.c new file mode 100644 index 00000000000..3483e328101 --- /dev/null +++ b/gcc/testsuite/gcc.dg/cpp/uchar-1.c @@ -0,0 +1,8 @@ +/* Copyright (C) 2002 Free Software Foundation, Inc. */ + +/* { dg-do preprocess } */ +/* { dg-options "-funsigned-char -fsigned-char" } */ + +#if defined (__CHAR_UNSIGNED__) +# error __CHAR_UNSIGNED__ defined +#endif diff --git a/gcc/testsuite/gcc.dg/cpp/uchar-2.c b/gcc/testsuite/gcc.dg/cpp/uchar-2.c new file mode 100644 index 00000000000..739573c1098 --- /dev/null +++ b/gcc/testsuite/gcc.dg/cpp/uchar-2.c @@ -0,0 +1,8 @@ +/* Copyright (C) 2002 Free Software Foundation, Inc. */ + +/* { dg-do preprocess } */ +/* { dg-options "-funsigned-char -fsigned-char -traditional" } */ + +#if defined (__CHAR_UNSIGNED__) +# error __CHAR_UNSIGNED__ defined +#endif diff --git a/gcc/testsuite/gcc.dg/cpp/uchar-3.c b/gcc/testsuite/gcc.dg/cpp/uchar-3.c new file mode 100644 index 00000000000..41b987f5cab --- /dev/null +++ b/gcc/testsuite/gcc.dg/cpp/uchar-3.c @@ -0,0 +1,17 @@ +/* Copyright (C) 2002 Free Software Foundation, Inc. */ + +/* { dg-do compile } */ +/* { dg-options "-funsigned-char -fpreprocessed" } */ + +/* Source: Ziemowit Laski. -fpreprocessed doesn't define macros, but + CPP would interpret charconsts based upon whether __CHAR_UNSIGNED__ + was defined. */ + +int foo() +{ + char f = 0x83; + if (f == '\x83') /* { dg-bogus "always false" } */ + f = 0; + + return 0; +} |