100a57558SPaula Toth //===--- ImplementationInNamespaceCheck.h - clang-tidy ----------*- C++ -*-===// 200a57558SPaula Toth // 300a57558SPaula Toth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 400a57558SPaula Toth // See https://llvm.org/LICENSE.txt for license information. 500a57558SPaula Toth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 600a57558SPaula Toth // 700a57558SPaula Toth //===----------------------------------------------------------------------===// 800a57558SPaula Toth 900a57558SPaula Toth #ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_LLVMLIBC_IMPLEMENTATIONINNAMESPACECHECK_H 1000a57558SPaula Toth #define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_LLVMLIBC_IMPLEMENTATIONINNAMESPACECHECK_H 1100a57558SPaula Toth 1200a57558SPaula Toth #include "../ClangTidyCheck.h" 1300a57558SPaula Toth 14*4718da50SCarlos Galvez namespace clang::tidy::llvm_libc { 1500a57558SPaula Toth 1600a57558SPaula Toth /// Checks all llvm-libc implementation is within the correct namespace. 1700a57558SPaula Toth /// 1800a57558SPaula Toth /// For the user-facing documentation see: 196e566bc5SRichard /// http://clang.llvm.org/extra/clang-tidy/checks/llvmlibc/implementation-in-namespace.html 2000a57558SPaula Toth class ImplementationInNamespaceCheck : public ClangTidyCheck { 2100a57558SPaula Toth public: ImplementationInNamespaceCheck(StringRef Name,ClangTidyContext * Context)2200a57558SPaula Toth ImplementationInNamespaceCheck(StringRef Name, ClangTidyContext *Context) 2300a57558SPaula Toth : ClangTidyCheck(Name, Context) {} 2400a57558SPaula Toth isLanguageVersionSupported(const LangOptions & LangOpts)2500a57558SPaula Toth bool isLanguageVersionSupported(const LangOptions &LangOpts) const override { 2600a57558SPaula Toth return LangOpts.CPlusPlus; 2700a57558SPaula Toth } 2800a57558SPaula Toth void registerMatchers(ast_matchers::MatchFinder *Finder) override; 2900a57558SPaula Toth void check(const ast_matchers::MatchFinder::MatchResult &Result) override; 3000a57558SPaula Toth }; 3100a57558SPaula Toth 32*4718da50SCarlos Galvez } // namespace clang::tidy::llvm_libc 3300a57558SPaula Toth 3400a57558SPaula Toth #endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_LLVMLIBC_IMPLEMENTATIONINNAMESPACECHECK_H 35