r190048 - Fix bug #17104 - Target info for GNU/kFreeBSD were missing.
Sylvestre Ledru
sylvestre at debian.org
Fri Sep 6 08:10:22 PDT 2013
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 <sylvestre at debian.org> 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
>> cfe-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
More information about the cfe-commits
mailing list