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

References

gen/tools/clang/include/clang/AST/AttrImpl.inc
 5606 NoDestroyAttr *NoDestroyAttr::clone(ASTContext &C) const {
 5607   auto *A = new (C) NoDestroyAttr(C, *this);
 5607   auto *A = new (C) NoDestroyAttr(C, *this);
11774     return cast<NoDestroyAttr>(this)->getSpelling();
12354     return cast<NoDestroyAttr>(this)->clone(C);
12934     return cast<NoDestroyAttr>(this)->printPretty(OS, Policy);
gen/tools/clang/include/clang/AST/AttrVisitor.inc
  567   bool TraverseNoDestroyAttr(NoDestroyAttr *A);
  568   bool VisitNoDestroyAttr(NoDestroyAttr *A) {
 2518 bool VISITORCLASS<Derived>::TraverseNoDestroyAttr(NoDestroyAttr *A) {
 4234       return getDerived().TraverseNoDestroyAttr(cast<NoDestroyAttr>(A));
gen/tools/clang/include/clang/AST/Attrs.inc
 7574   static NoDestroyAttr *CreateImplicit(ASTContext &Ctx, const AttributeCommonInfo &CommonInfo = {SourceRange{}}) {
 7575     auto *A = new (Ctx) NoDestroyAttr(Ctx, CommonInfo);
 7575     auto *A = new (Ctx) NoDestroyAttr(Ctx, CommonInfo);
 7582   static NoDestroyAttr *Create(ASTContext &Ctx, const AttributeCommonInfo &CommonInfo = {SourceRange{}}) {
 7583     auto *A = new (Ctx) NoDestroyAttr(Ctx, CommonInfo);
 7583     auto *A = new (Ctx) NoDestroyAttr(Ctx, CommonInfo);
 7589   static NoDestroyAttr *CreateImplicit(ASTContext &Ctx, SourceRange Range, AttributeCommonInfo::Syntax Syntax) {
 7593   static NoDestroyAttr *Create(ASTContext &Ctx, SourceRange Range, AttributeCommonInfo::Syntax Syntax) {
 7603   NoDestroyAttr *clone(ASTContext &C) const;
gen/tools/clang/include/clang/Sema/AttrTemplateInstantiate.inc
  690       const auto *A = cast<NoDestroyAttr>(At);
  690       const auto *A = cast<NoDestroyAttr>(At);
gen/tools/clang/include/clang/Serialization/AttrPCHRead.inc
 1256     New = new (Context) NoDestroyAttr(Context, Info);
gen/tools/clang/include/clang/Serialization/AttrPCHWrite.inc
  953     const auto *SA = cast<NoDestroyAttr>(A);
  953     const auto *SA = cast<NoDestroyAttr>(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
  538   template<typename T> T *getAttr() const {
  539     return hasAttrs() ? getSpecificAttr<T>(getAttrs()) : nullptr;
  543     return hasAttrs() && hasSpecificAttr<T>(getAttrs());
tools/clang/lib/AST/Decl.cpp
 2592   return hasGlobalStorage() && (hasAttr<NoDestroyAttr>() ||
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/Sema/SemaDeclAttr.cpp
  299   if (const auto *A = D->getAttr<AttrTy>()) {
  299   if (const auto *A = D->getAttr<AttrTy>()) {
  404   D->addAttr(::new (S.Context) AttrType(S.Context, CI));
  441   handleSimpleAttribute<AttrType>(S, D, AL);
  450   if (checkAttrMutualExclusion<IncompatibleAttrType>(S, D, AL))
  452   handleSimpleAttributeWithExclusions<AttrType, IncompatibleAttrTypes...>(S, D,
 6319     handleSimpleAttributeWithExclusions<AlwaysDestroyAttr, NoDestroyAttr>(S, D, A);
 6321     handleSimpleAttributeWithExclusions<NoDestroyAttr, AlwaysDestroyAttr>(S, D, A);
usr/include/c++/7.4.0/type_traits
 1558     { typedef _Tp     type; };
 1580     { typedef _Tp const     type; };