diff options
author | Danny Smith <dannysmith@users.sourceforge.net> | 2005-08-04 21:01:50 +0000 |
---|---|---|
committer | Danny Smith <dannysmith@gcc.gnu.org> | 2005-08-04 21:01:50 +0000 |
commit | 004e09a35a30dca732f646d34fc9f54560f6d6a7 (patch) | |
tree | 0ddd2e91959bcf134d25fcb613d84599d25a2001 /gcc | |
parent | 9427924ef875340a2563e542e973935b7927e672 (diff) | |
download | gcc-004e09a35a30dca732f646d34fc9f54560f6d6a7.zip gcc-004e09a35a30dca732f646d34fc9f54560f6d6a7.tar.gz gcc-004e09a35a30dca732f646d34fc9f54560f6d6a7.tar.bz2 |
builtin-wctype-1.c: Use __WCHAR_TYPE__ and __WINT_TYPE__ in generated prototypes if possible.
* gcc.dg/torture/builtin-wctype-1.c: Use __WCHAR_TYPE__ and
__WINT_TYPE__ in generated prototypes if possible.
From-SVN: r102747
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/torture/builtin-wctype-1.c | 49 |
2 files changed, 37 insertions, 17 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index cd35f62..4786280 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-08-04 Danny Smith <dannysmith@users.sourceforge.net> + + * gcc.dg/torture/builtin-wctype-1.c: Use __WCHAR_TYPE__ and + __WINT_TYPE__ in generated prototypes if possible. + 2005-08-04 Diego Novillo <dnovillo@redhat.com> PR 22037 diff --git a/gcc/testsuite/gcc.dg/torture/builtin-wctype-1.c b/gcc/testsuite/gcc.dg/torture/builtin-wctype-1.c index b8338de..476bcca 100644 --- a/gcc/testsuite/gcc.dg/torture/builtin-wctype-1.c +++ b/gcc/testsuite/gcc.dg/torture/builtin-wctype-1.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2004 Free Software Foundation. +/* Copyright (C) 2004, 2005 Free Software Foundation. Verify that built-in wctype function attributes are correctly set by the compiler. @@ -7,32 +7,47 @@ /* { dg-do link } */ +/* Use the target type definitions if we can. */ +#ifndef __WINT_TYPE__ +#define __WINT_TYPE__ int +#endif + +#ifndef __WCHAR_TYPE__ +#define __WCHAR_TYPE__ int +#endif void test(int i) { /* All of these ctype functions should be const/pure and thus eliminated. */ -#define TEST_CTYPE(FN) \ - extern int FN(int); \ +#define TEST_IS_WCTYPE(FN) \ + extern int FN(__WINT_TYPE__); \ + extern void link_failure_##FN(void); \ + if (FN(i) != FN(i)) \ + link_failure_##FN() + +#define TEST_TO_WCTYPE(FN) \ + extern __WCHAR_TYPE__ FN(__WCHAR_TYPE__); \ extern void link_failure_##FN(void); \ if (FN(i) != FN(i)) \ link_failure_##FN() + #ifdef __OPTIMIZE__ - TEST_CTYPE(iswalnum); - TEST_CTYPE(iswalpha); - TEST_CTYPE(iswblank); - TEST_CTYPE(iswcntrl); - TEST_CTYPE(iswdigit); - TEST_CTYPE(iswgraph); - TEST_CTYPE(iswlower); - TEST_CTYPE(iswprint); - TEST_CTYPE(iswpunct); - TEST_CTYPE(iswspace); - TEST_CTYPE(iswupper); - TEST_CTYPE(iswxdigit); - TEST_CTYPE(towlower); - TEST_CTYPE(towupper); + TEST_IS_WCTYPE(iswalnum); + TEST_IS_WCTYPE(iswalpha); + TEST_IS_WCTYPE(iswblank); + TEST_IS_WCTYPE(iswcntrl); + TEST_IS_WCTYPE(iswdigit); + TEST_IS_WCTYPE(iswgraph); + TEST_IS_WCTYPE(iswlower); + TEST_IS_WCTYPE(iswprint); + TEST_IS_WCTYPE(iswpunct); + TEST_IS_WCTYPE(iswspace); + TEST_IS_WCTYPE(iswupper); + TEST_IS_WCTYPE(iswxdigit); + TEST_TO_WCTYPE(towlower); + TEST_TO_WCTYPE(towupper); #endif /* __OPTIMIZE__ */ } |