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

Reply via email to