Eric Christopher | 3883e66 | 2011-07-26 22:17:02 +0000 | [diff] [blame] | 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 | |
| 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 | } |