| // RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null | 
 |  | 
 | /* This triggered a problem in reload, fixed by disabling most of the  | 
 |  * steps of compilation in GCC.  Before this change, the code went through | 
 |  * the entire backend of GCC, even though it was unnecessary for LLVM output | 
 |  * now it is skipped entirely, and since reload doesn't run, it can't cause | 
 |  * a problem. | 
 |  */ | 
 |  | 
 | extern int tolower(int); | 
 |  | 
 | const char *rangematch(const char *pattern, int test, int c) { | 
 |  | 
 |   if ((c <= test) | (tolower(c) <= tolower((unsigned char)test))) | 
 |     return 0; | 
 |  | 
 |   return pattern; | 
 | } |