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

References

gen/tools/clang/include/clang/AST/AttrImpl.inc
 8610 PointerAttr *PointerAttr::clone(ASTContext &C) const {
 8611   auto *A = new (C) PointerAttr(C, *this, derefType);
 8611   auto *A = new (C) PointerAttr(C, *this, derefType);
11924     return cast<PointerAttr>(this)->getSpelling();
12504     return cast<PointerAttr>(this)->clone(C);
13084     return cast<PointerAttr>(this)->printPretty(OS, Policy);
gen/tools/clang/include/clang/AST/AttrTextNodeDump.inc
  614   void VisitPointerAttr(const PointerAttr *A) {
  615     const auto *SA = cast<PointerAttr>(A); (void)SA;
  615     const auto *SA = cast<PointerAttr>(A); (void)SA;
gen/tools/clang/include/clang/AST/AttrVisitor.inc
  867   bool TraversePointerAttr(PointerAttr *A);
  868   bool VisitPointerAttr(PointerAttr *A) {
 3246 bool VISITORCLASS<Derived>::TraversePointerAttr(PointerAttr *A) {
 4384       return getDerived().TraversePointerAttr(cast<PointerAttr>(A));
gen/tools/clang/include/clang/AST/Attrs.inc
11546   static PointerAttr *CreateImplicit(ASTContext &Ctx, TypeSourceInfo * DerefType, const AttributeCommonInfo &CommonInfo = {SourceRange{}}) {
11547     auto *A = new (Ctx) PointerAttr(Ctx, CommonInfo, DerefType);
11547     auto *A = new (Ctx) PointerAttr(Ctx, CommonInfo, DerefType);
11554   static PointerAttr *Create(ASTContext &Ctx, TypeSourceInfo * DerefType, const AttributeCommonInfo &CommonInfo = {SourceRange{}}) {
11555     auto *A = new (Ctx) PointerAttr(Ctx, CommonInfo, DerefType);
11555     auto *A = new (Ctx) PointerAttr(Ctx, CommonInfo, DerefType);
11561   static PointerAttr *CreateImplicit(ASTContext &Ctx, TypeSourceInfo * DerefType, SourceRange Range, AttributeCommonInfo::Syntax Syntax) {
11565   static PointerAttr *Create(ASTContext &Ctx, TypeSourceInfo * DerefType, SourceRange Range, AttributeCommonInfo::Syntax Syntax) {
11584   PointerAttr *clone(ASTContext &C) const;
gen/tools/clang/include/clang/Sema/AttrTemplateInstantiate.inc
  990       const auto *A = cast<PointerAttr>(At);
  990       const auto *A = cast<PointerAttr>(At);
gen/tools/clang/include/clang/Serialization/AttrPCHRead.inc
 1904     New = new (Context) PointerAttr(Context, Info, derefType);
gen/tools/clang/include/clang/Serialization/AttrPCHWrite.inc
 1427     const auto *SA = cast<PointerAttr>(A);
 1427     const auto *SA = cast<PointerAttr>(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);
   66   static inline bool doit(const From &) { return true; }
  104   static inline bool doit(const From *Val) {
  106     return isa_impl<To, From>::doit(*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*,
  337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
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/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/Sema/SemaAttr.cpp
   91   if (Record->hasAttr<OwnerAttr>() || Record->hasAttr<PointerAttr>())
   95     Redecl->addAttr(Attribute::CreateImplicit(Context, /*DerefType=*/nullptr));
  133     addGslOwnerPointerAttributeIfNotExisting<PointerAttr>(Context,
  190     if (Record->hasAttr<OwnerAttr>() || Record->hasAttr<PointerAttr>())
  196       addGslOwnerPointerAttributeIfNotExisting<PointerAttr>(Context, Record);
tools/clang/lib/Sema/SemaDeclAttr.cpp
  299   if (const auto *A = D->getAttr<AttrTy>()) {
  299   if (const auto *A = D->getAttr<AttrTy>()) {
 4389     if (checkAttrMutualExclusion<PointerAttr>(S, D, AL))
 4408     if (const auto *PAttr = D->getAttr<PointerAttr>()) {
 4408     if (const auto *PAttr = D->getAttr<PointerAttr>()) {
 4421                           PointerAttr(S.Context, AL, DerefTypeLoc));
tools/clang/lib/Sema/SemaInit.cpp
 6705     return RD->hasAttr<T>();
 6729     if (isRecordWithAttr<PointerAttr>(Conv->getConversionType()))
 6733   if (!isRecordWithAttr<PointerAttr>(Callee->getThisObjectType()) &&
 6737       isRecordWithAttr<PointerAttr>(Callee->getReturnType())) {
 6766   if (!isRecordWithAttr<PointerAttr>(QualType(RD->getTypeForDecl(), 0)) &&
 6770       isRecordWithAttr<PointerAttr>(FD->getReturnType())) {
 6823     if (CCE->getNumArgs() > 0 && RD->hasAttr<PointerAttr>())
tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
  606     if (auto *A = dyn_cast<PointerAttr>(TmplAttr)) {
  607       if (!New->hasAttr<PointerAttr>())
usr/include/c++/7.4.0/type_traits
 1558     { typedef _Tp     type; };
 1580     { typedef _Tp const     type; };