Public bug reported: clang miscompiles some code because it doesn't declare the __linux__ macro:
$ echo "" | /usr/bin/clang -E -dM - | grep linux The fix is here: http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20111010/047625.html ~/src/llvm/tools/clang $ svn diff -r141771:141772 Index: lib/Basic/Targets.cpp =================================================================== --- lib/Basic/Targets.cpp (revision 141771) +++ lib/Basic/Targets.cpp (revision 141772) @@ -3582,6 +3582,8 @@ if (Triple.isOSDarwin()) return new DarwinPPC32TargetInfo(T); switch (os) { + case llvm::Triple::Linux: + return new LinuxTargetInfo<PPC32TargetInfo>(T); case llvm::Triple::FreeBSD: return new FreeBSDTargetInfo<PPC32TargetInfo>(T); case llvm::Triple::NetBSD: @@ -3596,6 +3598,8 @@ if (Triple.isOSDarwin()) return new DarwinPPC64TargetInfo(T); switch (os) { + case llvm::Triple::Linux: + return new LinuxTargetInfo<PPC64TargetInfo>(T); case llvm::Triple::Lv2: return new PS3PPUTargetInfo<PPC64TargetInfo>(T); case llvm::Triple::FreeBSD: @@ -3616,6 +3620,8 @@ case llvm::Triple::sparc: switch (os) { + case llvm::Triple::Linux: + return new LinuxTargetInfo<SparcV8TargetInfo>(T); case llvm::Triple::AuroraUX: return new AuroraUXSparcV8TargetInfo(T); case llvm::Triple::Solaris: ** Affects: clang (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/922452 Title: [PATCH] clang on ppc doesn't define __linux__ To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/clang/+bug/922452/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
