[PATCH] D141352: [ADT] Fix circular include dependency by using std::array. NFC

Younan Zhang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 20 20:28:48 PST 2023


zyounan added a subscriber: eklepilkina.
zyounan added a comment.

Can anyone else help me to commit this PR? I mean we should land this patch ASAP, as many of PRs are now depending on `llvm::ArrayRef` without including `ADT/ArrayRef.h` but `ADT/STLExtras.h`, which would make it extremely harder to resolve this circular dependency later.

Patch D139553 <https://reviews.llvm.org/D139553> is a good example to demonstrate this.

  /repo/llvm-project/llvm/include/llvm/MC/SubtargetFeature.h:192:32: error: no template named 'ArrayRef'
    void addFeaturesVector(const ArrayRef<std::string> OtherFeatures);
                                 ^
  /repo/llvm-project/llvm/lib/MC/SubtargetFeature.cpp:45:25: error: out-of-line definition of 'addFeaturesVector' does not match any declaration in 'llvm::SubtargetFeatures'
  void SubtargetFeatures::addFeaturesVector(
                          ^~~~~~~~~~~~~~~~~
  2 errors generated.

I have updated this patch to fix this new issue.

@eklepilkina, please note that this patch doesn't have functional changes but add a header.

Also ping @JDevlieghere again.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D141352/new/

https://reviews.llvm.org/D141352



More information about the llvm-commits mailing list