From 65de742b8a1f561268ed62d5b101016ea40756f8 Mon Sep 17 00:00:00 2001 From: Reid Spencer Date: Thu, 11 Jan 2007 00:35:10 +0000 Subject: [PATCH] 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 --- lib/System/DynamicLibrary.cpp | 4 ++++ 1 file changed, 4 insertions(+) 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 -- 2.34.1