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

Declarations

gen/tools/clang/include/clang/AST/DeclNodes.inc
   89 LINKAGESPEC(LinkageSpec, Decl)
tools/clang/include/clang/AST/DeclBase.h
   52 class LinkageSpecDecl;

References

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) {
  263 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*,
  265   return cast_convert_val<X, Y*,
  266                           typename simplify_type<Y*>::SimpleType>::doit(Val);
  305 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  309   return cast<X>(Val);
  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) {
  342 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/ASTTypeTraits.h
   65     return ASTNodeKind(KindToKindId<T>::Id);
   65     return ASTNodeKind(KindToKindId<T>::Id);
   65     return ASTNodeKind(KindToKindId<T>::Id);
tools/clang/include/clang/AST/DeclBase.h
 1895   const LinkageSpecDecl *getExternCContext() const;
 2474   static const ToTy *doit(const DeclContext *Val) {
 2478   static ToTy *doit(DeclContext *Val) {
 2491     return To::classofKind(Val.getDeclKind());
 2514   static const ToTy *doit(const ::clang::DeclContext *Val) {
 2515     return ::clang::cast_convert_decl_context<ToTy>::doit(Val);
 2521   static ToTy *doit(::clang::DeclContext *Val) {
 2522     return ::clang::cast_convert_decl_context<ToTy>::doit(Val);
 2536   static ::clang::DeclContext *doit(const FromTy *Val) {
 2537     return FromTy::castToDeclContext(Val);
tools/clang/include/clang/AST/DeclCXX.h
 2782   static LinkageSpecDecl *Create(ASTContext &C, DeclContext *DC,
 2786   static LinkageSpecDecl *CreateDeserialized(ASTContext &C, unsigned ID);
 2826   static DeclContext *castToDeclContext(const LinkageSpecDecl *D) {
 2830   static LinkageSpecDecl *castFromDeclContext(const DeclContext *DC) {
tools/clang/include/clang/AST/JSONNodeDumper.h
  241   void VisitLinkageSpecDecl(const LinkageSpecDecl *LSD);
tools/clang/include/clang/AST/TextNodeDumper.h
  333   void VisitLinkageSpecDecl(const LinkageSpecDecl *D);
tools/clang/include/clang/ASTMatchers/ASTMatchers.h
  320 extern const internal::VariadicDynCastAllOfMatcher<Decl, LinkageSpecDecl>
tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h
  436     return canConvertTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  445   template <typename T> Matcher<T> convertTo() const {
  447     return unconditionalConvertTo<T>();
  499   explicit Matcher(MatcherInterface<T> *Implementation)
  520             std::is_same<T, QualType>::value &&
  529     static_assert(std::is_base_of<To, T>::value, "Invalid dynCast call.");
  534   bool matches(const T &Node,
  581     return Other.dynCastTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
 1243   operator Matcher<T>() const {
 1245                ast_type_traits::ASTNodeKind::getFromNodeKind<T>())
 1246         .template unconditionalConvertTo<T>();
 1255 class BindableMatcher : public Matcher<T> {
 1257   explicit BindableMatcher(const Matcher<T> &M) : Matcher<T>(M) {}
 1258   explicit BindableMatcher(MatcherInterface<T> *Implementation)
 1265   Matcher<T> bind(StringRef ID) const {
 1370 inline Matcher<T> DynTypedMatcher::unconditionalConvertTo() const {
 1376 BindableMatcher<T> makeAllOfComposite(
 1377     ArrayRef<const Matcher<T> *> InnerMatchers) {
 1388   using PI = llvm::pointee_iterator<const Matcher<T> *const *>;
 1395           ast_type_traits::ASTNodeKind::getFromNodeKind<T>(),
 1397           .template unconditionalConvertTo<T>());
 1408     ArrayRef<const Matcher<InnerT> *> InnerMatchers) {
 1557     : public VariadicFunction<BindableMatcher<SourceT>, Matcher<TargetT>,
 1558                               makeDynCastAllOfComposite<SourceT, TargetT>> {
tools/clang/include/clang/ASTMatchers/Dynamic/VariantValue.h
  199   ast_matchers::internal::Matcher<T> getTypedMatcher() const {
  202         ->template convertTo<T>();
  227       : MatcherOps(ast_type_traits::ASTNodeKind::getFromNodeKind<T>()) {}
  228   typedef ast_matchers::internal::Matcher<T> MatcherT;
  232     return DynTypedMatcher(Matcher.convertTo<T>());
tools/clang/lib/AST/ASTImporter.cpp
  217           -> decltype(ToDeclT::Create(std::forward<Args>(args)...)) {
  218         return ToDeclT::Create(std::forward<Args>(args)...);
  229     LLVM_NODISCARD bool GetImportedOrCreateDecl(ToDeclT *&ToD, FromDeclT *FromD,
  229     LLVM_NODISCARD bool GetImportedOrCreateDecl(ToDeclT *&ToD, FromDeclT *FromD,
  234       CallOverloadedCreateFun<ToDeclT> OC;
  256     GetImportedOrCreateSpecialDecl(ToDeclT *&ToD, CreateFunT CreateFun,
  257                                    FromDeclT *FromD, Args &&... args) {
  262       ToD = cast_or_null<ToDeclT>(Importer.GetAlreadyImportedOrNull(FromD));
  480     ExpectedDecl VisitLinkageSpecDecl(LinkageSpecDecl *D);
 4228 ExpectedDecl ASTNodeImporter::VisitLinkageSpecDecl(LinkageSpecDecl *D) {
 4243   LinkageSpecDecl *ToLinkageSpec;
tools/clang/lib/AST/Decl.cpp
  564   if (const auto *SD = dyn_cast<LinkageSpecDecl>(D.getDeclContext()))
  564   if (const auto *SD = dyn_cast<LinkageSpecDecl>(D.getDeclContext()))
 3134     const auto *LinkageDecl =
 3135         dyn_cast<LinkageSpecDecl>(getFirstDecl()->getDeclContext());
 3146     if (LinkageDecl->getLanguage() != LinkageSpecDecl::lang_c)
tools/clang/lib/AST/DeclBase.cpp
 1131                                  LinkageSpecDecl::LanguageIDs ID) {
 1134       return cast<LinkageSpecDecl>(DC)->getLanguage() == ID;
 1141   return isLinkageSpecContext(this, LinkageSpecDecl::lang_c);
 1144 const LinkageSpecDecl *DeclContext::getExternCContext() const {
 1148         cast<LinkageSpecDecl>(DC)->getLanguage() == LinkageSpecDecl::lang_c)
 1148         cast<LinkageSpecDecl>(DC)->getLanguage() == LinkageSpecDecl::lang_c)
 1149       return cast<LinkageSpecDecl>(DC);
 1156   return isLinkageSpecContext(this, LinkageSpecDecl::lang_cxx);
tools/clang/lib/AST/DeclCXX.cpp
 2666 LinkageSpecDecl *LinkageSpecDecl::Create(ASTContext &C,
 2672   return new (C, DC) LinkageSpecDecl(DC, ExternLoc, LangLoc, Lang, HasBraces);
 2675 LinkageSpecDecl *LinkageSpecDecl::CreateDeserialized(ASTContext &C,
 2677   return new (C, ID) LinkageSpecDecl(nullptr, SourceLocation(),
tools/clang/lib/AST/DeclPrinter.cpp
   81     void VisitLinkageSpecDecl(LinkageSpecDecl *D);
  457     } else if (isa<NamespaceDecl>(*D) || isa<LinkageSpecDecl>(*D) ||
 1002 void DeclPrinter::VisitLinkageSpecDecl(LinkageSpecDecl *D) {
 1005   case LinkageSpecDecl::lang_c:
 1008   case LinkageSpecDecl::lang_cxx_14:
 1011   case LinkageSpecDecl::lang_cxx_11:
 1014   case LinkageSpecDecl::lang_cxx:
tools/clang/lib/AST/ExternalASTMerger.cpp
   39   if (isa<LinkageSpecDecl>(DC))
tools/clang/lib/AST/ItaniumMangle.cpp
  763   while (isa<LinkageSpecDecl>(DC)) {
tools/clang/lib/AST/JSONNodeDumper.cpp
  872 void JSONNodeDumper::VisitLinkageSpecDecl(const LinkageSpecDecl *LSD) {
  875   case LinkageSpecDecl::lang_c: Lang = "C"; break;
  876   case LinkageSpecDecl::lang_cxx: Lang = "C++"; break;
  877   case LinkageSpecDecl::lang_cxx_11:
  880   case LinkageSpecDecl::lang_cxx_14:
tools/clang/lib/AST/TextNodeDumper.cpp
 1764 void TextNodeDumper::VisitLinkageSpecDecl(const LinkageSpecDecl *D) {
 1766   case LinkageSpecDecl::lang_c:
 1769   case LinkageSpecDecl::lang_cxx:
 1772   case LinkageSpecDecl::lang_cxx_11:
 1775   case LinkageSpecDecl::lang_cxx_14:
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp
  561 const internal::VariadicDynCastAllOfMatcher<Decl, LinkageSpecDecl>
tools/clang/lib/ASTMatchers/Dynamic/Marshallers.h
   75     return Value.isMatcher() && Value.getMatcher().hasTypedMatcher<T>();
   78   static ast_matchers::internal::Matcher<T> get(const VariantValue &Value) {
   79     return Value.getMatcher().getTypedMatcher<T>();
   83     return ArgKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  466       ast_matchers::internal::VariadicDynCastAllOfMatcher<BaseT, DerivedT> Func,
  469         DerivedKind(ast_type_traits::ASTNodeKind::getFromNodeKind<DerivedT>()) {
  778     ast_matchers::internal::VariadicDynCastAllOfMatcher<BaseT, DerivedT>
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CodeGenModule.cpp
 3319       if (auto LSD = dyn_cast<LinkageSpecDecl>(Result))
 5192 void CodeGenModule::EmitLinkageSpec(const LinkageSpecDecl *LSD) {
 5193   if (LSD->getLanguage() != LinkageSpecDecl::lang_c &&
 5194       LSD->getLanguage() != LinkageSpecDecl::lang_cxx &&
 5195       LSD->getLanguage() != LinkageSpecDecl::lang_cxx_11 &&
 5196       LSD->getLanguage() != LinkageSpecDecl::lang_cxx_14) {
 5381     EmitLinkageSpec(cast<LinkageSpecDecl>(D));
tools/clang/lib/CodeGen/CodeGenModule.h
 1410   void EmitLinkageSpec(const LinkageSpecDecl *D);
tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
  742   } else if (LinkageSpecDecl *LSD = dyn_cast<LinkageSpecDecl>(D)) {
  742   } else if (LinkageSpecDecl *LSD = dyn_cast<LinkageSpecDecl>(D)) {
 3037     if (const LinkageSpecDecl *LSD = dyn_cast<LinkageSpecDecl>(DC))
 3037     if (const LinkageSpecDecl *LSD = dyn_cast<LinkageSpecDecl>(DC))
 3065         if (const LinkageSpecDecl *LSD = dyn_cast<LinkageSpecDecl>(DC))
 3065         if (const LinkageSpecDecl *LSD = dyn_cast<LinkageSpecDecl>(DC))
tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp
  674   } else if (LinkageSpecDecl *LSD = dyn_cast<LinkageSpecDecl>(D)) {
  674   } else if (LinkageSpecDecl *LSD = dyn_cast<LinkageSpecDecl>(D)) {
tools/clang/lib/Index/IndexingContext.cpp
  276     if (isa<LinkageSpecDecl>(Parent) || isa<BlockDecl>(Parent))
tools/clang/lib/Index/USRGeneration.cpp
  105   void VisitLinkageSpecDecl(const LinkageSpecDecl *D) {
  200   else if (isa<LinkageSpecDecl>(DC)) // Linkage specs are transparent in USRs.
tools/clang/lib/Sema/SemaDecl.cpp
 2080     LinkageSpecDecl *CLinkageDecl =
 2081         LinkageSpecDecl::Create(Context, Parent, Loc, Loc,
 2082                                 LinkageSpecDecl::lang_c, false);
 5435   while (isa<LinkageSpecDecl>(Cur) || isa<CapturedDecl>(Cur))
 6463   while (!DC->isFileContext() && !isa<LinkageSpecDecl>(DC))
14320       (isa<LinkageSpecDecl>(FD->getDeclContext()) &&
14321        cast<LinkageSpecDecl>(FD->getDeclContext())->getLanguage() ==
14322        LinkageSpecDecl::lang_c)) {
tools/clang/lib/Sema/SemaDeclCXX.cpp
14030     if (const LinkageSpecDecl *LSD =
14203   LinkageSpecDecl::LanguageIDs Language;
14205     Language = LinkageSpecDecl::lang_c;
14207     Language = LinkageSpecDecl::lang_cxx;
14209     Language = LinkageSpecDecl::lang_cxx_11;
14211     Language = LinkageSpecDecl::lang_cxx_14;
14220   LinkageSpecDecl *D = LinkageSpecDecl::Create(Context, CurContext, ExternLoc,
14220   LinkageSpecDecl *D = LinkageSpecDecl::Create(Context, CurContext, ExternLoc,
14236     LinkageSpecDecl* LSDecl = cast<LinkageSpecDecl>(LinkageSpec);
14236     LinkageSpecDecl* LSDecl = cast<LinkageSpecDecl>(LinkageSpec);
tools/clang/lib/Sema/SemaLookup.cpp
 1694     return DC->isFileContext() || isa<LinkageSpecDecl>(DC) ||
tools/clang/lib/Sema/SemaModule.cpp
   27   if (auto *LSD = dyn_cast<LinkageSpecDecl>(DC)) {
   27   if (auto *LSD = dyn_cast<LinkageSpecDecl>(DC)) {
   29     case LinkageSpecDecl::lang_c:
   33     case LinkageSpecDecl::lang_cxx:
   34     case LinkageSpecDecl::lang_cxx_11:
   35     case LinkageSpecDecl::lang_cxx_14:
   41   while (isa<LinkageSpecDecl>(DC) || isa<ExportDecl>(DC))
tools/clang/lib/Sema/SemaTemplate.cpp
 7388     if (const LinkageSpecDecl *LSD = Ctx->getExternCContext())
tools/clang/lib/Serialization/ASTReaderDecl.cpp
  397     void VisitLinkageSpecDecl(LinkageSpecDecl *D);
 1530 void ASTDeclReader::VisitLinkageSpecDecl(LinkageSpecDecl *D) {
 3667     D = LinkageSpecDecl::CreateDeserialized(Context, ID);
tools/clang/lib/Serialization/ASTWriterDecl.cpp
  116     void VisitLinkageSpecDecl(LinkageSpecDecl *D);
 1174 void ASTDeclWriter::VisitLinkageSpecDecl(LinkageSpecDecl *D) {
tools/clang/tools/extra/clang-include-fixer/find-all-symbols/FindAllSymbols.cpp
   51         llvm::isa<LinkageSpecDecl>(Context))
tools/clang/tools/extra/clang-move/Move.cpp
  357         llvm::isa<LinkageSpecDecl>(Context))
tools/clang/tools/extra/modularize/Modularize.cpp
  577   bool VisitLinkageSpecDecl(LinkageSpecDecl *D) {
  584     case LinkageSpecDecl::lang_c:
  587     case LinkageSpecDecl::lang_cxx:
  588     case LinkageSpecDecl::lang_cxx_11:
  589     case LinkageSpecDecl::lang_cxx_14:
  768   bool VisitLinkageSpecDecl(LinkageSpecDecl *D) {
tools/clang/tools/libclang/CIndex.cpp
 1501 bool CursorVisitor::VisitLinkageSpecDecl(LinkageSpecDecl *D) {
tools/clang/tools/libclang/CursorVisitor.h
  233   bool VisitLinkageSpecDecl(LinkageSpecDecl *D);
tools/lldb/source/Plugins/ExpressionParser/Clang/ASTResultSynthesizer.cpp
   75   if (LinkageSpecDecl *linkage_spec_decl = dyn_cast<LinkageSpecDecl>(D)) {
   75   if (LinkageSpecDecl *linkage_spec_decl = dyn_cast<LinkageSpecDecl>(D)) {
tools/lldb/source/Plugins/ExpressionParser/Clang/ASTStructExtractor.cpp
  112   LinkageSpecDecl *linkage_spec_decl = dyn_cast<LinkageSpecDecl>(D);
  112   LinkageSpecDecl *linkage_spec_decl = dyn_cast<LinkageSpecDecl>(D);
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
 2139     context = LinkageSpecDecl::Create(
 2141         clang::LinkageSpecDecl::LanguageIDs::lang_c, false);
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_Tp>>::type
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  602                           is_void<_Tp>>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
 1554     { typedef _Tp     type; };
 1558     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1580     { typedef _Tp const     type; };
 1629     { typedef _Tp   type; };
 1983     { typedef _Up     type; };
 1999     { typedef typename remove_reference<_Tp>::type*     type; };
 2003     : public __add_pointer_helper<_Tp>