tra accepted this revision.
tra added a comment.
This revision is now accepted and ready to land.
LGTM with a possible nit.
================
Comment at: clang/lib/Basic/BuiltinTargetFeatures.h:32
+/// pairs.
+class TargetFeatures {
+ struct FeatureListStatus {
----------------
yaxunl wrote:
> tra wrote:
> > I don't think it needs to be part of the public API. Feature check function
> > operates on `llvm::StringMap<bool>` and does not need to know about this
> > class, and the implementation of this class can be moved into
> > `Builtins.cpp` where it's actually used.
> It is not a public API since it is under lib/Basic.
>
> The reason it is made a header file because we have a unit test
> clang/unittests/CodeGen/CheckTargetFeaturesTest.cpp for class TargetFeatures.
> This is because TargetFeatures is relatively complicated.
Got it. I've missed the test.
================
Comment at: clang/lib/CodeGen/CodeGenFunction.cpp:2555-2557
if (FeatureList.empty())
return;
assert(!FeatureList.contains(' ') && "Space in feature list");
----------------
Should we move that into the `evaluateRequiredTargetFeatures` ?
`Empty feature list -> true` sounds like something that belongs to the
evaluation logic. So does the assertion on the no-spaces assumption we make
about the input.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D125829/new/
https://reviews.llvm.org/D125829
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits