[PATCH] clang on ppc doesn't define __linux__
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
clang (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
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://
~/src/llvm/
Index: lib/Basic/
=======
--- lib/Basic/
+++ lib/Basic/
@@ -3582,6 +3582,8 @@
if (Triple.
return new DarwinPPC32Targ
switch (os) {
+ case llvm::Triple:
+ return new LinuxTargetInfo
case llvm::Triple:
return new FreeBSDTargetIn
case llvm::Triple:
@@ -3596,6 +3598,8 @@
if (Triple.
return new DarwinPPC64Targ
switch (os) {
+ case llvm::Triple:
+ return new LinuxTargetInfo
case llvm::Triple::Lv2:
return new PS3PPUTargetInf
case llvm::Triple:
@@ -3616,6 +3620,8 @@
case llvm::Triple:
switch (os) {
+ case llvm::Triple:
+ return new LinuxTargetInfo
case llvm::Triple:
return new AuroraUXSparcV8
case llvm::Triple:
You should also bring in the changes from here: llvm.org/ bugs/show_ bug.cgi? id=11867
http://