[llvm] r344522 - [ADT] Adds equality operators for DenseMap and DenseSet, and an initializer_list

Dean Michael Berris via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 23 22:00:21 PDT 2018


Actually, now that I look at this closer, it seems there’s a couple of things going on here:

- XRay uses a DenseMap<std::pair<llvm::StringRef, llvm::StringRef>, ValueType> (note the key type is a pair). This is an edge-list, ordered by the originating vertex.

- When DenseMapPair attempts to do base constructor forwarding, the SFINAE being used in the pair’s constructor(s) seem to fail from the explicit instantiation.

The first part is a fundamental part of the XRay graph library, which isn’t easy to work around.

The second part looks like a bug in an older version of Xcode (10.9 might have shown this), in the way clang is doing the constructor forwarding of templated constructors.

I don’t know what the policy is for supporting older Xcode SDKs (maybe worth discussing on the mailing list) but if Xcode 10.9 is still supported then we might have to either revert the change or find a suitable work-around.

> On 24 Oct 2018, at 11:56, Dean Michael Berris <dean.berris at gmail.com> wrote:
> 
> I think this could be changed in XRay, I’ll see if it’s easy to work around. I’m currently traveling though, so it might take a while.
> 
> On Wed, 24 Oct 2018 at 8:32 am, Lang Hames <lhames at gmail.com> wrote:
> Hi Guys,
> 
> I tried reproducing locally with no luck and chalked the builder failure up to a very old Xcode version.
> 
> Sounds like you're seeing these locally though? Can you give me any reproduction tips?
> 
> It would be good to keep these, both for convenience and for compatibility with STL map and set types, but currently they're only used for unit tests so we can remove them if we really need to (at the cost of some messier unit tests).
> 
> Cheers,
> Lang.
> 
> On Tue, Oct 23, 2018 at 1:43 PM Dean Michael Berris via llvm-commits <llvm-commits at lists.llvm.org> wrote:
> Thanks — it looks like the comparison operators have become ambiguous on the XRay graph type, which uses DenseMap in a non-default way. I’m not sure if this is an issue with SFINAE in an older release of Xcode.
> 
> Not sure if this is something that could be worked around if XRay is the only one failing to build with this change.
> 
> On Wed, 24 Oct 2018 at 6:46 am, JF Bastien via llvm-commits <llvm-commits at lists.llvm.org> wrote:
> Adding Dean since this affects Xray as well.
> 
> 
>> On Oct 23, 2018, at 9:20 AM, Marshall Clow via llvm-commits <llvm-commits at lists.llvm.org> wrote:
>> 
>> 
>> 
>> On Tue, Oct 16, 2018 at 5:43 PM Lang Hames via llvm-commits <llvm-commits at lists.llvm.org> wrote:
>> Alternatively, could you let me know what Xcode version is running on the bot? 
>> 
>> Cheers,
>> Lang. 
>> 
>> On Tue, Oct 16, 2018 at 4:02 PM Lang Hames <lhames at gmail.com> wrote:
>> I am not able to reproduce this locally. Is is possible to get a shell on the bot in order to test fixes?
>> 
>> Cheers,
>> Lang.
>> 
>> On Tue, Oct 16, 2018 at 3:47 PM Lang Hames <lhames at gmail.com> wrote:
>> Hi Galina,
>> 
>> Thanks for the heads up. I am looking in to it now.
>> 
>> Cheers,
>> Lang.
>> 
>> 
>> On Tue, Oct 16, 2018 at 1:28 PM Galina Kistanova <gkistanova at gmail.com> wrote:
>> Hello Lang,
>> 
>> This commit broke build step on one of our builders:
>> http://lab.llvm.org:8011/builders/lld-x86_64-darwin13/builds/26656
>> 
>> The builder was already red and did not send any notifications.
>> 
>> Please have a look?
>> 
>> 
>> This is one of the failures (XRAY) that I am seeing locally.
>> There are other, similar failures that appear to be related to r344993 and/or 994
>> 
>> -- Marshall
>>  
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
> -- 
> Dean
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
> -- 
> Dean

-- Dean



More information about the llvm-commits mailing list