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

References

gen/tools/clang/include/clang/AST/AttrImpl.inc
 9621 SectionAttr *SectionAttr::clone(ASTContext &C) const {
 9622   auto *A = new (C) SectionAttr(C, *this, getName());
 9622   auto *A = new (C) SectionAttr(C, *this, getName());
11976     return cast<SectionAttr>(this)->getSpelling();
12556     return cast<SectionAttr>(this)->clone(C);
13136     return cast<SectionAttr>(this)->printPretty(OS, Policy);
gen/tools/clang/include/clang/AST/AttrTextNodeDump.inc
  683   void VisitSectionAttr(const SectionAttr *A) {
  684     const auto *SA = cast<SectionAttr>(A); (void)SA;
  684     const auto *SA = cast<SectionAttr>(A); (void)SA;
gen/tools/clang/include/clang/AST/AttrVisitor.inc
  971   bool TraverseSectionAttr(SectionAttr *A);
  972   bool VisitSectionAttr(SectionAttr *A) {
 3501 bool VISITORCLASS<Derived>::TraverseSectionAttr(SectionAttr *A) {
 4436       return getDerived().TraverseSectionAttr(cast<SectionAttr>(A));
gen/tools/clang/include/clang/AST/Attrs.inc
12935   static SectionAttr *CreateImplicit(ASTContext &Ctx, llvm::StringRef Name, const AttributeCommonInfo &CommonInfo = {SourceRange{}}) {
12936     auto *A = new (Ctx) SectionAttr(Ctx, CommonInfo, Name);
12936     auto *A = new (Ctx) SectionAttr(Ctx, CommonInfo, Name);
12943   static SectionAttr *Create(ASTContext &Ctx, llvm::StringRef Name, const AttributeCommonInfo &CommonInfo = {SourceRange{}}) {
12944     auto *A = new (Ctx) SectionAttr(Ctx, CommonInfo, Name);
12944     auto *A = new (Ctx) SectionAttr(Ctx, CommonInfo, Name);
12948   static SectionAttr *CreateImplicit(ASTContext &Ctx, llvm::StringRef Name, SourceRange Range, AttributeCommonInfo::Syntax Syntax, SectionAttr::Spelling S = static_cast<Spelling>(SpellingNotCalculated)) {
12948   static SectionAttr *CreateImplicit(ASTContext &Ctx, llvm::StringRef Name, SourceRange Range, AttributeCommonInfo::Syntax Syntax, SectionAttr::Spelling S = static_cast<Spelling>(SpellingNotCalculated)) {
12952   static SectionAttr *Create(ASTContext &Ctx, llvm::StringRef Name, SourceRange Range, AttributeCommonInfo::Syntax Syntax, SectionAttr::Spelling S = static_cast<Spelling>(SpellingNotCalculated)) {
12952   static SectionAttr *Create(ASTContext &Ctx, llvm::StringRef Name, SourceRange Range, AttributeCommonInfo::Syntax Syntax, SectionAttr::Spelling S = static_cast<Spelling>(SpellingNotCalculated)) {
12966   SectionAttr *clone(ASTContext &C) const;
gen/tools/clang/include/clang/Sema/AttrTemplateInstantiate.inc
 1122       const auto *A = cast<SectionAttr>(At);
 1122       const auto *A = cast<SectionAttr>(At);
gen/tools/clang/include/clang/Serialization/AttrPCHRead.inc
 2126     New = new (Context) SectionAttr(Context, Info, name);
gen/tools/clang/include/clang/Serialization/AttrPCHWrite.inc
 1593     const auto *SA = cast<SectionAttr>(A);
 1593     const auto *SA = cast<SectionAttr>(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
  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/include/clang/Sema/Sema.h
 2806   SectionAttr *mergeSectionAttr(Decl *D, const AttributeCommonInfo &CI,
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGDecl.cpp
  425   if (const SectionAttr *SA = D.getAttr<SectionAttr>())
  425   if (const SectionAttr *SA = D.getAttr<SectionAttr>())
tools/clang/lib/CodeGen/CodeGenModule.cpp
  335     if (const SectionAttr *SA = D->getAttr<SectionAttr>()) {
  335     if (const SectionAttr *SA = D->getAttr<SectionAttr>()) {
 1724         if (!D->getAttr<SectionAttr>())
 1740     else if (const auto *SA = D->getAttr<SectionAttr>())
 1740     else if (const auto *SA = D->getAttr<SectionAttr>())
 1831   else if (const auto *SA = FD->getAttr<SectionAttr>())
 1831   else if (const auto *SA = FD->getAttr<SectionAttr>())
 3521       if (const SectionAttr *SA = D->getAttr<SectionAttr>())
 3521       if (const SectionAttr *SA = D->getAttr<SectionAttr>())
 4037   if (const SectionAttr *SA = D->getAttr<SectionAttr>()) {
 4037   if (const SectionAttr *SA = D->getAttr<SectionAttr>()) {
 4115   if (D->hasAttr<SectionAttr>())
tools/clang/lib/Sema/SemaAttr.cpp
  482   if (auto A = Decl->getAttr<SectionAttr>())
  485   if (auto A = OtherDecl->getAttr<SectionAttr>())
tools/clang/lib/Sema/SemaDecl.cpp
 2546   else if (const auto *SA = dyn_cast<SectionAttr>(Attr))
 2546   else if (const auto *SA = dyn_cast<SectionAttr>(Attr))
 2853   if (New->hasAttr<SectionAttr>() && !Old->hasAttr<SectionAttr>()) {
 2853   if (New->hasAttr<SectionAttr>() && !Old->hasAttr<SectionAttr>()) {
 9038       !NewFD->hasAttr<SectionAttr>())
 9045       !NewFD->hasAttr<SectionAttr>()) {
 9046     NewFD->addAttr(SectionAttr::CreateImplicit(
 9049         SectionAttr::Declspec_allocate));
 9054       NewFD->dropAttr<SectionAttr>();
 9584   if (!FD->hasAttr<SectionAttr>() && IsDefinition &&
 9586     return SectionAttr::CreateImplicit(
 9589         SectionAttr::Declspec_allocate);
12446     if (Stack->CurrentValue && !var->hasAttr<SectionAttr>())
12447       var->addAttr(SectionAttr::CreateImplicit(
12450           SectionAttr::Declspec_allocate));
12451     if (const SectionAttr *SA = var->getAttr<SectionAttr>())
12451     if (const SectionAttr *SA = var->getAttr<SectionAttr>())
12453         var->dropAttr<SectionAttr>();
12622       !inTemplateInstantiation() && !VD->hasAttr<SectionAttr>()) {
tools/clang/lib/Sema/SemaDeclAttr.cpp
 2857 SectionAttr *Sema::mergeSectionAttr(Decl *D, const AttributeCommonInfo &CI,
 2862     if (CI.getAttributeSpellingListIndex() == SectionAttr::Declspec_allocate &&
 2866   if (SectionAttr *ExistingAttr = D->getAttr<SectionAttr>()) {
 2866   if (SectionAttr *ExistingAttr = D->getAttr<SectionAttr>()) {
 2874   return ::new (Context) SectionAttr(Context, CI, Name);
 2906   SectionAttr *NewAttr = S.mergeSectionAttr(D, AL, Str);
tools/clang/lib/Sema/SemaObjCProperty.cpp
 2421     if (const SectionAttr *SA = property->getAttr<SectionAttr>())
 2421     if (const SectionAttr *SA = property->getAttr<SectionAttr>())
 2422       GetterMethod->addAttr(SectionAttr::CreateImplicit(
 2424           SectionAttr::GNU_section));
 2487       if (const SectionAttr *SA = property->getAttr<SectionAttr>())
 2487       if (const SectionAttr *SA = property->getAttr<SectionAttr>())
 2488         SetterMethod->addAttr(SectionAttr::CreateImplicit(
 2490             SectionAttr::GNU_section));
usr/include/c++/7.4.0/type_traits
 1558     { typedef _Tp     type; };
 1580     { typedef _Tp const     type; };