extern "C" void PPC32CompilationCallback();
extern "C" void PPC64CompilationCallback();
-#if defined(__powerpc64__) || defined(__ppc64__)
+// The first clause of the preprocessor directive looks wrong, but it is
+// necessary when compiling this code on non-PowerPC hosts.
+#if (!defined(__ppc__) && !defined(__powerpc__)) || defined(__powerpc64__) || defined(__ppc64__)
void PPC32CompilationCallback() {
llvm_unreachable("This is not a 32bit PowerPC, you can't execute this!");
}
return Result;
}
-#if (defined(__POWERPC__) || defined (__ppc__) || defined(__powerpc__) || \
-defined(_POWER)) && defined(__APPLE__)
+#if (defined(__POWERPC__) || defined (__ppc__) || defined(_POWER)) && \
+defined(__APPLE__)
extern "C" void sys_icache_invalidate(const void *Addr, size_t len);
#endif