[PATCH] MachO-embedded: refactor Clang to use "*-*-unknown-macho" triple

Tim Northover t.p.northover at gmail.com
Mon Jan 6 06:32:36 PST 2014

  Hi Rafael,

  I've uploaded a rebased version, which implements the __MACH__ change. Replies to the other comments below. Do you think that's good enough justification?

Comment at: lib/Basic/Targets.cpp:87
@@ -86,3 +86,3 @@
 static void getDarwinDefines(MacroBuilder &Builder, const LangOptions &Opts,
                              const llvm::Triple &Triple,
Rafael Ávila de Espíndola wrote:
> Should this be MachODefines now?
Almost certainly longer-term. I've taken a lighter hand to the code in lib/Basic/Targets.cpp for now. It could probably do with a much more thorough overhaul along the lines of lib/Driver, but for now it looks mostly generic.

Comment at: lib/Driver/Driver.cpp:382
@@ -383,1 +381,3 @@
+  // MachO targets this uses the driver-driver and universal actions.
+  if (TC.getTriple().isOSBinFormatMachO())
     BuildUniversalActions(C->getDefaultToolChain(), C->getArgs(),
Rafael Ávila de Espíndola wrote:
> Really? Why do you need a driver driver for? Are you building a fat binary for an embedded system? 
I'm not, but you never know what closeted developers will get up to.

My thinking was that the driver-driver (& generally fat binaries) are more of an Apple platform feature than a Darwin target one: the linker and other tools will let you do it, no matter how unwise it might be.


More information about the cfe-commits mailing list