After digging through llvm source code all day and finding

    if (getTriple().getOS() == llvm::Triple::FreeBSD ||
        getTriple().getVendor() == llvm::Triple::ELLCC) {
      LongDoubleWidth = LongDoubleAlign = 64;
      LongDoubleFormat = &llvm::APFloat::IEEEdouble;
    }


I believe the answer to my question is to build my own llvm 3.4 rather than using Apple’s clang which is based on llvm 3.3 and probably doesn’t have this code in it.




On Nov 15, 2013, at 1:47 PM, James Gregurich <bayoubengal@mac.com> wrote:

thanks for the info.

I’m researching the clang docs right now to see how to do it. I don’t understand why the ellcc guys wouldn’t have addressed this already, but I haven’t asked them yet.

Fortunately, I doubt our codebase actually uses double-double, but the toolchain still needs to build correctly so I don’t want to hack it.

On Nov 15, 2013, at 1:42 PM, Rich Felker <dalias@aerifal.cx> wrote:

GCC has options to easily switch the compiler to using 64-bit long
double on powerpc. I'm not sure about clang, though.