This is an archive of the discontinued LLVM Phabricator instance.

[lldb/ArchSpec] Always match simulator environment in IsEqualTo
ClosedPublic

Authored by friss on Jul 27 2020, 5:07 PM.

Details

Summary

Initially, Apple simulator binarie triples didn't use a -simulator
environment and were just differentiated based on the architecture.
For example, x86_64-apple-ios would obviously be a simualtor as iOS
doesn't run on x86_64. With Catalyst, we made the disctinction
explicit and today, all simulator triples (even the legacy ones) are
constructed with an environment. This is especially important on Apple
Silicon were the architecture is not different from the one of the
simulated device.

This change makes the simulator part of the environment always part of
the criteria to detect whether 2 ArchSpecs are equal or compatible.

Diff Detail

Event Timeline

friss created this revision.Jul 27 2020, 5:07 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 27 2020, 5:07 PM
aprantl accepted this revision.Jul 27 2020, 5:11 PM

Yes, this makes perfect sense. Thanks!

lldb/unittests/Utility/ArchSpecTest.cpp
329

What's to fix here?

This revision is now accepted and ready to land.Jul 27 2020, 5:11 PM
friss marked an inline comment as done.Jul 27 2020, 5:19 PM
friss added inline comments.
lldb/unittests/Utility/ArchSpecTest.cpp
329

Aren't you the one who introduced this comment? I can move my new test one slot up so it makes this a little less confusing.

This revision was automatically updated to reflect the committed changes.
aprantl added inline comments.Jul 31 2020, 5:24 PM
lldb/unittests/Utility/ArchSpecTest.cpp
315

We want to be *really* sure of this? :-)