From 004e09a35a30dca732f646d34fc9f54560f6d6a7 Mon Sep 17 00:00:00 2001 From: Danny Smith Date: Thu, 4 Aug 2005 21:01:50 +0000 Subject: 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 --- gcc/testsuite/ChangeLog | 5 +++ gcc/testsuite/gcc.dg/torture/builtin-wctype-1.c | 49 ++++++++++++++++--------- 2 files changed, 37 insertions(+), 17 deletions(-) (limited to 'gcc') 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 + + * gcc.dg/torture/builtin-wctype-1.c: Use __WCHAR_TYPE__ and + __WINT_TYPE__ in generated prototypes if possible. + 2005-08-04 Diego Novillo 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__ */ } -- cgit v1.1