Done in commit r190159 Is that enough ? Do you think I should test also 32 ?
On 05/09/2013 17:38, Rafael EspĂndola wrote: > testcase? > > On 5 September 2013 09:47, Sylvestre Ledru <[email protected]> wrote: >> Author: sylvestre >> Date: Thu Sep 5 08:47:07 2013 >> New Revision: 190048 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=190048&view=rev >> Log: >> Fix bug #17104 - Target info for GNU/kFreeBSD were missing. >> As a result, Clang doesn't define the pre-processor macros that are expected >> on this platform. >> >> Thanks to Robert Millan for the patch >> >> >> Modified: >> cfe/trunk/lib/Basic/Targets.cpp >> >> Modified: cfe/trunk/lib/Basic/Targets.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=190048&r1=190047&r2=190048&view=diff >> ============================================================================== >> --- cfe/trunk/lib/Basic/Targets.cpp (original) >> +++ cfe/trunk/lib/Basic/Targets.cpp Thu Sep 5 08:47:07 2013 >> @@ -278,6 +278,30 @@ public: >> } >> }; >> >> +// GNU/kFreeBSD Target >> +template<typename Target> >> +class KFreeBSDTargetInfo : public OSTargetInfo<Target> { >> +protected: >> + virtual void getOSDefines(const LangOptions &Opts, const llvm::Triple >> &Triple, >> + MacroBuilder &Builder) const { >> + // GNU/kFreeBSD defines; list based off of gcc output >> + >> + DefineStd(Builder, "unix", Opts); >> + Builder.defineMacro("__FreeBSD_kernel__"); >> + Builder.defineMacro("__GLIBC__"); >> + Builder.defineMacro("__ELF__"); >> + if (Opts.POSIXThreads) >> + Builder.defineMacro("_REENTRANT"); >> + if (Opts.CPlusPlus) >> + Builder.defineMacro("_GNU_SOURCE"); >> + } >> +public: >> + KFreeBSDTargetInfo(const std::string &triple) >> + : OSTargetInfo<Target>(triple) { >> + this->UserLabelPrefix = ""; >> + } >> +}; >> + >> // Minix Target >> template<typename Target> >> class MinixTargetInfo : public OSTargetInfo<Target> { >> @@ -5470,6 +5494,8 @@ static TargetInfo *AllocateTarget(const >> return new BitrigI386TargetInfo(Triple); >> case llvm::Triple::FreeBSD: >> return new FreeBSDTargetInfo<X86_32TargetInfo>(Triple); >> + case llvm::Triple::KFreeBSD: >> + return new KFreeBSDTargetInfo<X86_32TargetInfo>(Triple); >> case llvm::Triple::Minix: >> return new MinixTargetInfo<X86_32TargetInfo>(Triple); >> case llvm::Triple::Solaris: >> @@ -5509,6 +5535,8 @@ static TargetInfo *AllocateTarget(const >> return new BitrigX86_64TargetInfo(Triple); >> case llvm::Triple::FreeBSD: >> return new FreeBSDTargetInfo<X86_64TargetInfo>(Triple); >> + case llvm::Triple::KFreeBSD: >> + return new KFreeBSDTargetInfo<X86_64TargetInfo>(Triple); >> case llvm::Triple::Solaris: >> return new SolarisTargetInfo<X86_64TargetInfo>(Triple); >> case llvm::Triple::MinGW32: >> >> >> _______________________________________________ >> cfe-commits mailing list >> [email protected] >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
