[llvm] fda901a - [Clang] Fix building with Clang < 3.9.

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 21 10:59:15 PDT 2020


awesome, thanks for the context!

On Tue, Jul 21, 2020 at 3:06 AM Michael Spencer <bigcheesegs at gmail.com>
wrote:

> On Mon, Jul 20, 2020 at 4:05 PM David Blaikie <dblaikie at gmail.com> wrote:
>
>> Could you update the comment to specify the exact version that was
>> problematic? So it's easier to tell if this version is no longer
>> supported & the code can be updated.
>>
>
> Already done in 7fcc1bb4b654461c3109b01e1fe7eae191a86f7f. The actual issue
> wasn't libstdc++.
>
> - Michael Spencer
>
>
>>
>> On Fri, Jul 17, 2020 at 12:34 PM Michael Spencer via llvm-commits
>> <llvm-commits at lists.llvm.org> wrote:
>> >
>> >
>> > Author: Michael Spencer
>> > Date: 2020-07-17T13:33:15-06:00
>> > New Revision: fda901a987ddd7a59599c3dcaa6c9a18d959a9b3
>> >
>> > URL:
>> https://github.com/llvm/llvm-project/commit/fda901a987ddd7a59599c3dcaa6c9a18d959a9b3
>> > DIFF:
>> https://github.com/llvm/llvm-project/commit/fda901a987ddd7a59599c3dcaa6c9a18d959a9b3.diff
>> >
>> > LOG: [Clang] Fix building with Clang < 3.9.
>> >
>> > This is a workaround for a bug in older versions of Clang when. The
>> > constructor that is supposed to allow for Derived to Base conversion
>> > does not work. Remove this if we drop support for such configurations.
>> >
>> > Added:
>> >
>> >
>> > Modified:
>> >     llvm/utils/TableGen/OptParserEmitter.cpp
>> >
>> > Removed:
>> >
>> >
>> >
>> >
>> ################################################################################
>> > diff  --git a/llvm/utils/TableGen/OptParserEmitter.cpp
>> b/llvm/utils/TableGen/OptParserEmitter.cpp
>> > index 251533a8d154..34699b55e274 100644
>> > --- a/llvm/utils/TableGen/OptParserEmitter.cpp
>> > +++ b/llvm/utils/TableGen/OptParserEmitter.cpp
>> > @@ -110,7 +110,11 @@ class MarshallingFlagInfo final : public
>> MarshallingKindInfo {
>> >    static std::unique_ptr<MarshallingKindInfo> create(const Record &R) {
>> >      std::unique_ptr<MarshallingFlagInfo> Ret(new
>> MarshallingFlagInfo(R));
>> >      Ret->IsPositive = R.getValueAsBit("IsPositive");
>> > -    return Ret;
>> > +    // FIXME: This is a workaround for a bug in older versions of
>> libstdc++ when
>> > +    //   compiled with Clang. The constructor that is supposed to
>> allow for
>> > +    //   Derived to Base conversion does not work. Remove this if we
>> drop
>> > +    //   support for such configurations.
>> > +    return std::unique_ptr<MarshallingKindInfo>(Ret.release());
>> >    }
>> >
>> >  private:
>> > @@ -204,7 +208,11 @@ struct SimpleEnumValueTable {
>> >               "values");
>> >      }
>> >
>> > -    return Ret;
>> > +    // FIXME: This is a workaround for a bug in older versions of
>> libstdc++ when
>> > +    //   compiled with Clang. The constructor that is supposed to
>> allow for
>> > +    //   Derived to Base conversion does not work. Remove this if we
>> drop
>> > +    //   support for such configurations.
>> > +    return std::unique_ptr<MarshallingKindInfo>(Ret.release());
>> >    }
>> >
>> >  private:
>> >
>> >
>> >
>> > _______________________________________________
>> > 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/20200721/6d0bf74c/attachment.html>


More information about the llvm-commits mailing list