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.
llvm-svn: 33064
diff --git a/llvm/lib/System/DynamicLibrary.cpp b/llvm/lib/System/DynamicLibrary.cpp
index f0ab51b..097e8b6 100644
--- a/llvm/lib/System/DynamicLibrary.cpp
+++ b/llvm/lib/System/DynamicLibrary.cpp
@@ -167,10 +167,14 @@
#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