From: Reid Spencer Date: Thu, 11 Jan 2007 00:35:10 +0000 (+0000) Subject: Avoid taking the address of a macro by checking to see if stdin is defined X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=65de742b8a1f561268ed62d5b101016ea40756f8;p=oota-llvm.git Avoid taking the address of a macro by checking to see if stdin is defined or not. This allows DynamicLibrary.cpp to compile on Darwin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33064 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/System/DynamicLibrary.cpp b/lib/System/DynamicLibrary.cpp index f0ab51b0f61..097e8b6ec4f 100644 --- a/lib/System/DynamicLibrary.cpp +++ b/lib/System/DynamicLibrary.cpp @@ -167,10 +167,14 @@ void* DynamicLibrary::SearchForAddressOfSymbol(const char* symbolName) { #define EXPLICIT_SYMBOL(SYM) \ if (!strcmp(symbolName, #SYM)) return &SYM // Try a few well known symbols just to give lli a shot at working. + // Note that on some systems stdin, etc. are macros so we have to + // avoid attempting to take the address of a macro :) { +#ifndef stdin EXPLICIT_SYMBOL(stdin); EXPLICIT_SYMBOL(stdout); EXPLICIT_SYMBOL(stderr); +#endif } #undef EXPLICIT_SYMBOL