blob: ad6fc1c60b6908665e889325923389e1ab4a3fa3 [file] [log] [blame]
/* Copyright (C) 2004 Free Software Foundation.
Verify that built-in ctype function attributes are correctly set by
the compiler.
Written by Kaveh Ghazi, 2004-03-23. */
/* { dg-do link } */
void test(int i)
{
/* All of these ctype functions should be const/pure and thus
eliminated. */
#define TEST_CTYPE(FN) \
extern int FN(int); \
extern void link_failure_##FN(void); \
if (FN(i) != FN(i)) \
link_failure_##FN()
#ifdef __OPTIMIZE__
TEST_CTYPE(isalnum);
TEST_CTYPE(isalpha);
TEST_CTYPE(isascii);
TEST_CTYPE(isblank);
TEST_CTYPE(iscntrl);
TEST_CTYPE(isdigit);
TEST_CTYPE(isgraph);
TEST_CTYPE(islower);
TEST_CTYPE(isprint);
TEST_CTYPE(ispunct);
TEST_CTYPE(isspace);
TEST_CTYPE(isupper);
TEST_CTYPE(isxdigit);
TEST_CTYPE(toascii);
TEST_CTYPE(tolower);
TEST_CTYPE(toupper);
#endif /* __OPTIMIZE__ */
}
int main (void)
{
return 0;
}