[llvm] r308140 - [Dominators] Workaround explicit instantiation bug.

don hinton via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 17 07:35:45 PDT 2017


Btw, just checked gcc 6.2, and it has the same problem.

gcc version 6.2.0 20160901 (Ubuntu 6.2.0-3ubuntu11~14.04)


On Sun, Jul 16, 2017 at 10:26 PM, Jakub (Kuba) Kuderski via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> I have a problem with adding a comment like that, because don't exactly
> know which gcc versions are affected. What's more, it also seems to expose
> a module-related clang bug (https://bugs.llvm.org/show_bug.cgi?id=33810).
> Will generic comment mentioning that this a work around do? What's the
> best thing to mention in this case?
>
> Best,
> Kuba
>
>
>
> On Sun, Jul 16, 2017 at 10:01 PM, Davide Italiano <davide at freebsd.org>
> wrote:
>
>> On Sun, Jul 16, 2017 at 10:01 AM, Jakub Kuderski via llvm-commits
>> <llvm-commits at lists.llvm.org> wrote:
>> > Author: kuhar
>> > Date: Sun Jul 16 10:01:40 2017
>> > New Revision: 308140
>> >
>> > URL: http://llvm.org/viewvc/llvm-project?rev=308140&view=rev
>> > Log:
>> > [Dominators] Workaround explicit instantiation bug.
>> >
>> > Some platforms have problems with emmiting constructors when class
>> > templates get explicitly instantiated.
>> > This patch fixes the bug reported in D35315 by replacing `= default`
>> > with an empty constructor body.
>> >
>> > Modified:
>> >     llvm/trunk/include/llvm/Support/GenericDomTree.h
>> >
>> > Modified: llvm/trunk/include/llvm/Support/GenericDomTree.h
>> > URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/
>> Support/GenericDomTree.h?rev=308140&r1=308139&r2=308140&view=diff
>> > ============================================================
>> ==================
>> > --- llvm/trunk/include/llvm/Support/GenericDomTree.h (original)
>> > +++ llvm/trunk/include/llvm/Support/GenericDomTree.h Sun Jul 16
>> 10:01:40 2017
>> > @@ -230,7 +230,7 @@ class DominatorTreeBase {
>> >    using NodePtr = NodeT *;
>> >    static constexpr bool IsPostDominator = IsPostDom;
>> >
>> > -  DominatorTreeBase() = default;
>> > +  DominatorTreeBase() {}
>> >
>>
>> This is fine, but can you please add a comment explaining we're
>> working around a GCC issue (so that when we drop GCC x.y.z we can
>> remove this code or switch back to `= default`)?
>>
>> Thanks!
>>
>> --
>> Davide
>>
>
>
>
> --
> Jakub Kuderski
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170717/bce946f0/attachment.html>


More information about the llvm-commits mailing list