[PATCH] D67968: [TableGen] Introduce a generic automaton (DFA) backend

Hubert Tong via llvm-commits llvm-commits at lists.llvm.org
Sat Oct 5 08:03:54 PDT 2019


On Sat, Oct 5, 2019 at 4:55 AM James Molloy via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> Hi Steven,
>
> I've committed r373820 to hopefully fix this. I spent some time trying to
> reproduce it first, but I can't install anything prior to gcc-6 on my
> system (through the package manager) and that doesn't show the bug.
> Hopefully this fixes your bots.
>
Thanks James for looking into this. It seems that the same pattern shows up
in a TableGen generated file.

For example, `unittests/TableGen/AutomataAutomata.inc` line 9766:
```
  {1, {SK_a, SK_b, "yeet"}, 2, 0},
```

-- HT


>
> Cheers,
>
> James
>
> On Fri, 4 Oct 2019 at 20:46, James Molloy <jmolloy at google.com> wrote:
>
>> Hi Steven,
>>
>> Thanks for reporting this. The fix looks trivial, I shall commit it
>> tomorrow morning GMT time.
>>
>> It's interesting that GCC thinks the selected constructor is explicit.
>> I'll double check the expected behaviour here (but I can simply fix by
>> making the type explicit).
>>
>> James
>>
>> On Fri, 4 Oct 2019, 20:23 Steven Wan via Phabricator, <
>> reviews at reviews.llvm.org> wrote:
>>
>>> stevewan added a comment.
>>>
>>> Hi,
>>>
>>> This is breaking our internal build bots with gcc version 5.4.0. Sample
>>> error is as follows,
>>>
>>>   /home/docker/llvm-project/llvm/unittests/TableGen/AutomataTest.cpp: In
>>> member function ‘virtual void
>>> Automata_TupleAutomatonAccepts_Test::TestBody()’:
>>>
>>> /home/docker/llvm-project/llvm/unittests/TableGen/AutomataTest.cpp:65:33:
>>> error: converting to ‘const std::tuple<SymKind, SymKind,
>>> std::__cxx11::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> > >’ from initializer list would use explicit
>>> constructor ‘constexpr std::tuple< <template-parameter-1-1>
>>> >::tuple(_UElements&& ...) [with _UElements = {SymKind, SymKind, const char
>>> (&)[5]}; <template-parameter-2-2> = void; _Elements = {SymKind, SymKind,
>>> std::__cxx11::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> >}]’
>>>          A.add({SK_a, SK_b, "yeet"}));
>>>                                    ^
>>>
>>> Please let us know regarding timeline for a fix. Thanks!
>>>
>>>
>>> Repository:
>>>   rL LLVM
>>>
>>> CHANGES SINCE LAST ACTION
>>>   https://reviews.llvm.org/D67968/new/
>>>
>>> https://reviews.llvm.org/D67968
>>>
>>>
>>>
>>> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> https://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/20191005/a714bc4a/attachment.html>


More information about the llvm-commits mailing list