<div dir="ltr">r342723 "fixes" this.<br></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Sep 21, 2018 at 11:51 AM Mikael Holmén <<a href="mailto:mikael.holmen@ericsson.com">mikael.holmen@ericsson.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
On 09/21/2018 11:12 AM, Mikael Holmén via llvm-commits wrote:<br>
> Hi Benjamin,<br>
> <br>
> With this patch the testcase<br>
> <br>
>   test/ThinLTO/X86/funcimport.ll<br>
> <br>
> fails for me when compiling with gcc 5.4.0.<br>
> <br>
> It seems to be the RUN line:<br>
> <br>
> : 'RUN: at line 43'; /data/repo/llvm-patch/build-all-bbigcc/bin/llvm-lto <br>
> -thinlto-action=run <br>
> /data/repo/llvm-patch/build-all-bbigcc/test/ThinLTO/X86/Output/funcimport.ll.tmp2.bc <br>
> <br>
> /data/repo/llvm-patch/build-all-bbigcc/test/ThinLTO/X86/Output/funcimport.ll.tmp.bc <br>
> <br>
> <br>
> that fails with<br>
> <br>
>   LLVM ERROR: 32-bit absolute addressing is not supported in 64-bit mode<br>
> <br>
> Apart from that gcc 5.4.0 gives tons of warnings about OptionalStorage <br>
> after the change in Optional.h.<br>
<br>
Ah, saw now that you already fixed the warnings in r342643 so ignore that.<br>
<br>
But the test/ThinLTO/X86/funcimport.ll failure is still there.<br>
<br>
Regards,<br>
Mikael<br>
<br>
> <br>
> Regards,<br>
> Mikael<br>
> <br>
> On 09/20/2018 12:02 PM, Benjamin Kramer via llvm-commits wrote:<br>
>> Author: d0k<br>
>> Date: Thu Sep 20 03:02:06 2018<br>
>> New Revision: 342637<br>
>><br>
>> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=342637&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=342637&view=rev</a><br>
>> Log:<br>
>> [ADT] Try again to use the same version of llvm::Optional on all <br>
>> compilers<br>
>><br>
>> The miscompile doesn't reproduce for me anymore with GCC 7.3. I'll watch<br>
>> the buildbots closely.<br>
>><br>
>> Having different versions of Optional is an ABI violation when linking<br>
>> GCC- and clang-built code together.<br>
>><br>
>> Modified:<br>
>>      llvm/trunk/include/llvm/ADT/Optional.h<br>
>><br>
>> Modified: llvm/trunk/include/llvm/ADT/Optional.h<br>
>> URL: <br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/Optional.h?rev=342637&r1=342636&r2=342637&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/Optional.h?rev=342637&r1=342636&r2=342637&view=diff</a> <br>
>><br>
>> ============================================================================== <br>
>><br>
>> --- llvm/trunk/include/llvm/ADT/Optional.h (original)<br>
>> +++ llvm/trunk/include/llvm/ADT/Optional.h Thu Sep 20 03:02:06 2018<br>
>> @@ -108,7 +108,6 @@ template <typename T, bool IsPodLike> st<br>
>>     }<br>
>>   };<br>
>> -#if !defined(__GNUC__) || defined(__clang__) // GCC up to GCC7 <br>
>> miscompiles this.<br>
>>   /// Storage for trivially copyable types only.<br>
>>   template <typename T> struct OptionalStorage<T, true> {<br>
>>     AlignedCharArrayUnion<T> storage;<br>
>> @@ -125,7 +124,6 @@ template <typename T> struct OptionalSto<br>
>>     void reset() { hasVal = false; }<br>
>>   };<br>
>> -#endif<br>
>>   } // namespace optional_detail<br>
>>   template <typename T> class Optional {<br>
>><br>
>><br>
>> _______________________________________________<br>
>> llvm-commits mailing list<br>
>> <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
>> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
>><br>
> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
<br>
</blockquote></div>