<div dir="ltr">On Wed, Jul 3, 2013 at 1:04 PM, Bill Schmidt <span dir="ltr"><<a href="mailto:wschmidt@linux.vnet.ibm.com" target="_blank">wschmidt@linux.vnet.ibm.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Wed, 2013-07-03 at 19:45 +0000, Roman Divacky wrote:<br>
> Author: rdivacky<br>
> Date: Wed Jul  3 14:45:54 2013<br>
> New Revision: 185572<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=185572&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=185572&view=rev</a><br>
> Log:<br>
> Dont define __LONG_DOUBLE_128__ unless LongDoubleWidth is really 128bits width.<br>
> It's not the case on ie. FreeBSD.<br>
><br>
> Modified:<br>
>     cfe/trunk/lib/Basic/Targets.cpp<br>
>     cfe/trunk/test/Preprocessor/init.c<br>
><br>
> Modified: cfe/trunk/lib/Basic/Targets.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=185572&r1=185571&r2=185572&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=185572&r1=185571&r2=185572&view=diff</a><br>

> ==============================================================================<br>
> --- cfe/trunk/lib/Basic/Targets.cpp (original)<br>
> +++ cfe/trunk/lib/Basic/Targets.cpp Wed Jul  3 14:45:54 2013<br>
> @@ -877,7 +877,8 @@ void PPCTargetInfo::getTargetDefines(con<br>
>    Builder.defineMacro("__REGISTER_PREFIX__", "");<br>
><br>
>    // FIXME: Should be controlled by command line option.<br>
> -  Builder.defineMacro("__LONG_DOUBLE_128__");<br>
> +  if (LongDoubleWidth == 128)<br>
> +    Builder.defineMacro("__LONG_DOUBLE_128__");<br>
<br>
</div>Since long double is 64 bits on FreeBSD, it seems somewhat odd that<br>
there is an f128:64:64 triple in its data layout string.  I assume that<br>
is harmless, but I don't know enough about the uses of the data layout<br>
strings to be sure...<br>
<div class="HOEnZb"><div class="h5"></div></div></blockquote></div><br></div><div class="gmail_extra">It's harmless, but should be removed: if long double is 64 bits, clang will never generate an f128.</div><div class="gmail_extra">
<br></div><div class="gmail_extra">-Eli</div></div>