reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

gen/tools/clang/include/clang/AST/AttrImpl.inc
10809 UsedAttr *UsedAttr::clone(ASTContext &C) const {
10810   auto *A = new (C) UsedAttr(C, *this);
10810   auto *A = new (C) UsedAttr(C, *this);
12036     return cast<UsedAttr>(this)->getSpelling();
12616     return cast<UsedAttr>(this)->clone(C);
13196     return cast<UsedAttr>(this)->printPretty(OS, Policy);
gen/tools/clang/include/clang/AST/AttrVisitor.inc
 1091   bool TraverseUsedAttr(UsedAttr *A);
 1092   bool VisitUsedAttr(UsedAttr *A) {
 3794 bool VISITORCLASS<Derived>::TraverseUsedAttr(UsedAttr *A) {
 4496       return getDerived().TraverseUsedAttr(cast<UsedAttr>(A));
gen/tools/clang/include/clang/AST/Attrs.inc
14657   static UsedAttr *CreateImplicit(ASTContext &Ctx, const AttributeCommonInfo &CommonInfo = {SourceRange{}}) {
14658     auto *A = new (Ctx) UsedAttr(Ctx, CommonInfo);
14658     auto *A = new (Ctx) UsedAttr(Ctx, CommonInfo);
14665   static UsedAttr *Create(ASTContext &Ctx, const AttributeCommonInfo &CommonInfo = {SourceRange{}}) {
14666     auto *A = new (Ctx) UsedAttr(Ctx, CommonInfo);
14666     auto *A = new (Ctx) UsedAttr(Ctx, CommonInfo);
14672   static UsedAttr *CreateImplicit(ASTContext &Ctx, SourceRange Range, AttributeCommonInfo::Syntax Syntax) {
14676   static UsedAttr *Create(ASTContext &Ctx, SourceRange Range, AttributeCommonInfo::Syntax Syntax) {
14686   UsedAttr *clone(ASTContext &C) const;
gen/tools/clang/include/clang/Sema/AttrTemplateInstantiate.inc
 1275       const auto *A = cast<UsedAttr>(At);
 1275       const auto *A = cast<UsedAttr>(At);
gen/tools/clang/include/clang/Serialization/AttrPCHRead.inc
 2388     New = new (Context) UsedAttr(Context, Info);
gen/tools/clang/include/clang/Serialization/AttrPCHWrite.inc
 1787     const auto *SA = cast<UsedAttr>(A);
 1787     const auto *SA = cast<UsedAttr>(A);
include/llvm/ADT/STLExtras.h
   75       typename std::add_pointer<typename std::add_const<T>::type>::type;
include/llvm/Support/Casting.h
   58     return To::classof(&Val);
  106     return isa_impl<To, From>::doit(*Val);
  122     return isa_impl_wrap<To, SimpleFrom,
  132     return isa_impl_cl<To,FromTy>::doit(Val);
  142   return isa_impl_wrap<X, const Y,
  172   using ret_type = To *;       // Pointer arg case, return Ty*
  176   using ret_type = const To *; // Constant pointer arg case, return const Ty*
  198   using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
  204   using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
  210       To, From, typename simplify_type<From>::SimpleType>::ret_type;
  227   static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
  228     typename cast_retty<To, FromTy>::ret_type Res2
  256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  265   return cast_convert_val<X, Y*,
tools/clang/include/clang/AST/AttrIterator.h
   47     while (!isa<SpecificAttr>(*Current))
   52     while (Current != I && !isa<SpecificAttr>(*Current))
   57   using value_type = SpecificAttr *;
   58   using reference = SpecificAttr *;
   59   using pointer = SpecificAttr *;
   68     return cast<SpecificAttr>(*Current);
  101 inline specific_attr_iterator<SpecificAttr, Container>
  106 inline specific_attr_iterator<SpecificAttr, Container>
  113   return specific_attr_begin<SpecificAttr>(container) !=
  114           specific_attr_end<SpecificAttr>(container);
  117 inline SpecificAttr *getSpecificAttr(const Container& container) {
  118   specific_attr_iterator<SpecificAttr, Container> i =
  119       specific_attr_begin<SpecificAttr>(container);
  120   if (i != specific_attr_end<SpecificAttr>(container))
tools/clang/include/clang/AST/DeclBase.h
  517     Vec.erase(std::remove_if(Vec.begin(), Vec.end(), isa<T, Attr*>), Vec.end());
  538   template<typename T> T *getAttr() const {
  539     return hasAttrs() ? getSpecificAttr<T>(getAttrs()) : nullptr;
  543     return hasAttrs() && hasSpecificAttr<T>(getAttrs());
tools/clang/lib/AST/ASTContext.cpp
10023   if (D->hasAttr<AliasAttr>() || D->hasAttr<UsedAttr>())
tools/clang/lib/AST/DeclBase.cpp
  405   if (CheckUsedAttr && getMostRecentDecl()->hasAttr<UsedAttr>())
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGDecl.cpp
  428   if (D.hasAttr<UsedAttr>())
tools/clang/lib/CodeGen/CodeGenModule.cpp
 1645   if (D && D->hasAttr<UsedAttr>())
 3794   if (!D->template hasAttr<UsedAttr>())
tools/clang/lib/Sema/SemaDecl.cpp
 2772   if (UsedAttr *OldAttr = Old->getMostRecentDecl()->getAttr<UsedAttr>()) {
 2772   if (UsedAttr *OldAttr = Old->getMostRecentDecl()->getAttr<UsedAttr>()) {
 2773     UsedAttr *NewAttr = OldAttr->clone(Context);
 2899     if (isa<UsedAttr>(I))
 9129         !NewFD->hasAttr<UsedAttr>())
12745   if (UsedAttr *Attr = VD->getAttr<UsedAttr>()) {
12745   if (UsedAttr *Attr = VD->getAttr<UsedAttr>()) {
12748       VD->dropAttr<UsedAttr>();
tools/clang/lib/Sema/SemaDeclAttr.cpp
  404   D->addAttr(::new (S.Context) AttrType(S.Context, CI));
 5505   D->addAttr(UsedAttr::CreateImplicit(S.Context));
 5624   D->addAttr(UsedAttr::CreateImplicit(S.Context));
 6889     handleSimpleAttribute<UsedAttr>(S, D, AL);
tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
 2369   if (Method->hasAttr<UsedAttr>()) {
tools/lldb/source/Symbol/ClangASTContext.cpp
 8244     cxx_method_decl->addAttr(clang::UsedAttr::CreateImplicit(*getASTContext()));
usr/include/c++/7.4.0/type_traits
 1554     { typedef _Tp     type; };
 1558     { typedef _Tp     type; };
 1580     { typedef _Tp const     type; };