|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
include/llvm/ADT/ArrayRef.h 108 const ArrayRef<U *> &A,
110 std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
118 const SmallVectorTemplateCommon<U *, DummyT> &Vec,
120 std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
include/llvm/ADT/DenseMapInfo.h 39 static inline T* getEmptyKey() {
41 Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
45 static inline T* getTombstoneKey() {
47 Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
51 static unsigned getHashValue(const T *PtrVal) {
56 static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
56 static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
include/llvm/ADT/FoldingSet.h 221 static void Profile(const T &X, FoldingSetNodeID &ID) {
224 static void Profile(T &X, FoldingSetNodeID &ID) {
232 static inline bool Equals(T &X, const FoldingSetNodeID &ID, unsigned IDHash,
240 static inline unsigned ComputeHash(T &X, FoldingSetNodeID &TempID);
250 : public DefaultFoldingSetTrait<T> {};
369 FoldingSetTrait<T>::Profile(X, TempID);
375 FoldingSetTrait<T>::Profile(X, TempID);
410 using iterator = FoldingSetIterator<T>;
415 using const_iterator = FoldingSetIterator<const T>;
420 using bucket_iterator = FoldingSetBucketIterator<T>;
432 bool RemoveNode(T *N) { return FoldingSetBase::RemoveNode(N); }
437 T *GetOrInsertNode(T *N) {
437 T *GetOrInsertNode(T *N) {
444 T *FindNodeOrInsertPos(const FoldingSetNodeID &ID, void *&InsertPos) {
451 void InsertNode(T *N, void *InsertPos) {
457 void InsertNode(T *N) {
473 template <class T> class FoldingSet final : public FoldingSetImpl<T> {
474 using Super = FoldingSetImpl<T>;
480 T *TN = static_cast<T *>(N);
481 FoldingSetTrait<T>::Profile(*TN, ID);
488 T *TN = static_cast<T *>(N);
489 return FoldingSetTrait<T>::Equals(*TN, ID, IDHash, TempID);
495 T *TN = static_cast<T *>(N);
496 return FoldingSetTrait<T>::ComputeHash(*TN, TempID);
include/llvm/Support/PointerLikeTypeTraits.h 56 static inline void *getAsVoidPointer(T *P) { return P; }
57 static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
59 enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
tools/clang/include/clang/Lex/MacroInfo.h 507 ArrayRef<ModuleMacro *> Overrides)
515 static ModuleMacro *create(Preprocessor &PP, Module *OwningModule,
517 ArrayRef<ModuleMacro *> Overrides);
541 using overrides_iterator = ModuleMacro *const *;
551 ArrayRef<ModuleMacro *> overrides() const {
566 ArrayRef<ModuleMacro *> ModuleMacros;
570 MacroDefinition(DefMacroDirective *MD, ArrayRef<ModuleMacro *> MMs,
598 ArrayRef<ModuleMacro *> getModuleMacros() const { return ModuleMacros; }
603 for (auto *MM : getModuleMacros())
tools/clang/include/clang/Lex/Preprocessor.h 562 llvm::TinyPtrVector<ModuleMacro *> ActiveModuleMacros;
572 llvm::TinyPtrVector<ModuleMacro *> OverriddenMacros;
644 ArrayRef<ModuleMacro *>
669 ArrayRef<ModuleMacro*> getOverriddenMacros() const {
676 ArrayRef<ModuleMacro *> Overrides) {
748 llvm::FoldingSet<ModuleMacro> ModuleMacros;
755 llvm::DenseMap<const IdentifierInfo *, llvm::TinyPtrVector<ModuleMacro *>>
1113 ModuleMacro *addModuleMacro(Module *Mod, IdentifierInfo *II, MacroInfo *Macro,
1114 ArrayRef<ModuleMacro *> Overrides, bool &IsNew);
1115 ModuleMacro *getModuleMacro(Module *Mod, IdentifierInfo *II);
1118 ArrayRef<ModuleMacro*> getLeafModuleMacros(const IdentifierInfo *II) const {
tools/clang/lib/Lex/MacroInfo.cpp 241 ModuleMacro *ModuleMacro::create(Preprocessor &PP, Module *OwningModule,
243 ArrayRef<ModuleMacro *> Overrides) {
245 sizeof(ModuleMacro) + sizeof(ModuleMacro *) * Overrides.size(),
245 sizeof(ModuleMacro) + sizeof(ModuleMacro *) * Overrides.size(),
246 alignof(ModuleMacro));
247 return new (Mem) ModuleMacro(OwningModule, II, Macro, Overrides);
tools/clang/lib/Lex/PPMacroExpansion.cpp 129 ModuleMacro *Preprocessor::addModuleMacro(Module *Mod, IdentifierInfo *II,
131 ArrayRef<ModuleMacro *> Overrides,
134 ModuleMacro::Profile(ID, Mod, II);
137 if (auto *MM = ModuleMacros.FindNodeOrInsertPos(ID, InsertPos)) {
142 auto *MM = ModuleMacro::create(*this, Mod, II, Macro, Overrides);
142 auto *MM = ModuleMacro::create(*this, Mod, II, Macro, Overrides);
147 for (auto *O : Overrides) {
171 ModuleMacro *Preprocessor::getModuleMacro(Module *Mod, IdentifierInfo *II) {
173 ModuleMacro::Profile(ID, Mod, II);
196 llvm::DenseMap<ModuleMacro *, int> NumHiddenOverrides;
197 for (auto *O : Info.OverriddenMacros)
201 llvm::SmallVector<ModuleMacro *, 16> Worklist;
202 for (auto *LeafMM : Leaf->second) {
208 auto *MM = Worklist.pop_back_val();
215 for (auto *O : MM->overrides())
235 for (auto *Active : Info.ActiveModuleMacros) {
258 ArrayRef<ModuleMacro*> Leaf;
272 for (auto *O : State->getOverriddenMacros())
285 llvm::DenseSet<ModuleMacro*> Active;
286 for (auto *MM : State ? State->getActiveModuleMacros(*this, II) : None)
288 llvm::DenseSet<ModuleMacro*> Visited;
289 llvm::SmallVector<ModuleMacro *, 16> Worklist(Leaf.begin(), Leaf.end());
291 auto *MM = Worklist.pop_back_val();
307 for (auto *O : MM->overrides()) {
tools/clang/lib/Lex/Preprocessor.cpp 314 for (const ModuleMacro &Macro : ModuleMacros)
tools/clang/lib/Serialization/ASTReader.cpp 2160 llvm::SmallVector<ModuleMacro*, 8> Overrides;
2165 auto *Macro = PP.getModuleMacro(Mod, II);
tools/clang/lib/Serialization/ASTWriter.cpp 2577 SmallVector<ModuleMacro*, 8> Worklist(Leafs.begin(), Leafs.end());
2578 llvm::DenseMap<ModuleMacro*, unsigned> Visits;
2580 auto *Macro = Worklist.pop_back_val();
2586 for (auto *M : Macro->overrides())
2593 for (auto *M : Macro->overrides())
tools/clang/tools/extra/pp-trace/PPCallbacksTracker.cpp 583 for (auto *MM : Value.getModuleMacros()) {
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp 438 for (clang::ModuleMacro *module_macro :
usr/include/c++/7.4.0/type_traits 1554 { typedef _Tp type; };
1983 { typedef _Up type; };