1 // RUN: %clang_cc1 -emit-llvm %s  -o /dev/null
2 
3 /* This triggered a problem in reload, fixed by disabling most of the
4  * steps of compilation in GCC.  Before this change, the code went through
5  * the entire backend of GCC, even though it was unnecessary for LLVM output
6  * now it is skipped entirely, and since reload doesn't run, it can't cause
7  * a problem.
8  */
9 
10 extern int tolower(int);
11 
rangematch(const char * pattern,int test,int c)12 const char *rangematch(const char *pattern, int test, int c) {
13 
14   if ((c <= test) | (tolower(c) <= tolower((unsigned char)test)))
15     return 0;
16 
17   return pattern;
18 }
19