Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Oct 2011 10:43:44 +0000
From:      Nali Toja <nalitoja@gmail.com>
To:        Dimitry Andric <dim@FreeBSD.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r226475 - head/lib/clang
Message-ID:  <8662jmo9zz.fsf@gmail.com>
In-Reply-To: <86y5wjktea.fsf@gmail.com> (Nali Toja's message of "Tue, 18 Oct 2011 00:58:21 %2B0000")
References:  <201110171830.p9HIUIiR035423__37008.086537435$1318876298$gmane$org@svn.freebsd.org> <86y5wjktea.fsf@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Nali Toja <nalitoja@gmail.com> writes:

>> Log:
>>   Update llvm/clang's target triple (confusingly named LLVM_HOSTTRIPLE) to
>>   $arch-unknown-freebsd10.0.
>>
>> Modified:
>>   head/lib/clang/clang.build.mk
>>
>> Modified: head/lib/clang/clang.build.mk
>> ==============================================================================
>> --- head/lib/clang/clang.build.mk	Mon Oct 17 15:54:20 2011	(r226474)
>> +++ head/lib/clang/clang.build.mk	Mon Oct 17 18:30:18 2011	(r226475)
>> @@ -14,8 +14,7 @@ CFLAGS+= -O1
>>  .endif
>>  
>>  TARGET_ARCH?=	${MACHINE_ARCH}
>> -# XXX: 8.0, to keep __FreeBSD_cc_version happy
>> -CFLAGS+=-DLLVM_HOSTTRIPLE=\"${TARGET_ARCH:C/amd64/x86_64/}-unknown-freebsd9.0\"
>> +CFLAGS+=-DLLVM_HOSTTRIPLE=\"${TARGET_ARCH:C/amd64/x86_64/}-unknown-freebsd10.0\"
>
> I think this results in __FreeBSD__ macro being defined as `1' and
> subsequently breaking clangworld where its value is used, e.g.

And it builds successfully with the following bandaid.

Index: contrib/llvm/tools/clang/lib/Basic/Targets.cpp
===================================================================
--- contrib/llvm/tools/clang/lib/Basic/Targets.cpp	(revision 226484)
+++ contrib/llvm/tools/clang/lib/Basic/Targets.cpp	(working copy)
@@ -239,7 +239,7 @@ class FreeBSDTargetInfo : public OSTargetInfo<Targ
     // FreeBSD defines; list based off of gcc output
 
     // FIXME: Move version number handling to llvm::Triple.
-    llvm::StringRef Release = Triple.getOSName().substr(strlen("freebsd"), 1);
+    llvm::StringRef Release = Triple.getOSName().substr(strlen("freebsd"), 2);
 
     Builder.defineMacro("__FreeBSD__", Release);
     Builder.defineMacro("__FreeBSD_cc_version", Release + "00001");



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8662jmo9zz.fsf>