13883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher// RUN: %clang_cc1 -emit-llvm %s -o /dev/null 23883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher 33883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher/* This triggered a problem in reload, fixed by disabling most of the 43883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher * steps of compilation in GCC. Before this change, the code went through 53883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher * the entire backend of GCC, even though it was unnecessary for LLVM output 63883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher * now it is skipped entirely, and since reload doesn't run, it can't cause 73883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher * a problem. 83883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher */ 93883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher 103883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopherextern int tolower(int); 113883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher 123883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopherconst char *rangematch(const char *pattern, int test, int c) { 133883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher 143883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher if ((c <= test) | (tolower(c) <= tolower((unsigned char)test))) 153883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher return 0; 163883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher 173883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher return pattern; 183883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher} 19