Hello Ivan, This commit broke tests to few our builders:
http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/builds/40886 http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast . . . Failing Tests (2): Clang Tools :: clang-tidy/mpi-buffer-deref.cpp Clang Tools :: clang-tidy/mpi-type-mismatch.cpp Please have a look ASAP? Thanks Galina On Thu, Dec 13, 2018 at 6:40 AM Ivan Donchevskii via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: yvvan > Date: Thu Dec 13 06:37:17 2018 > New Revision: 349038 > > URL: http://llvm.org/viewvc/llvm-project?rev=349038&view=rev > Log: > [clang-tidy] Share the forced linking code between clang-tidy tool and > plugin > > Extract code that forces linking to the separate header and include it in > both plugin and standalone tool > > Differential Revision: https://reviews.llvm.org/D55595 > > Added: > clang-tools-extra/trunk/clang-tidy/ClangTidyForceLinker.h > Modified: > clang-tools-extra/trunk/clang-tidy/plugin/ClangTidyPlugin.cpp > clang-tools-extra/trunk/clang-tidy/tool/ClangTidyMain.cpp > > Added: clang-tools-extra/trunk/clang-tidy/ClangTidyForceLinker.h > URL: > http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/ClangTidyForceLinker.h?rev=349038&view=auto > > ============================================================================== > --- clang-tools-extra/trunk/clang-tidy/ClangTidyForceLinker.h (added) > +++ clang-tools-extra/trunk/clang-tidy/ClangTidyForceLinker.h Thu Dec 13 > 06:37:17 2018 > @@ -0,0 +1,108 @@ > +//===- ClangTidyForceLinker.h - clang-tidy > --------------------------------===// > +// > +// The LLVM Compiler Infrastructure > +// > +// This file is distributed under the University of Illinois Open Source > +// License. See LICENSE.TXT for details. > +// > > +//===----------------------------------------------------------------------===// > + > +#include "llvm/Support/Compiler.h" > + > +namespace clang { > +namespace tidy { > + > +// This anchor is used to force the linker to link the CERTModule. > +extern volatile int CERTModuleAnchorSource; > +static int LLVM_ATTRIBUTE_UNUSED CERTModuleAnchorDestination = > + CERTModuleAnchorSource; > + > +// This anchor is used to force the linker to link the AbseilModule. > +extern volatile int AbseilModuleAnchorSource; > +static int LLVM_ATTRIBUTE_UNUSED AbseilModuleAnchorDestination = > + AbseilModuleAnchorSource; > + > +// This anchor is used to force the linker to link the BoostModule. > +extern volatile int BoostModuleAnchorSource; > +static int LLVM_ATTRIBUTE_UNUSED BoostModuleAnchorDestination = > + BoostModuleAnchorSource; > + > +// This anchor is used to force the linker to link the BugproneModule. > +extern volatile int BugproneModuleAnchorSource; > +static int LLVM_ATTRIBUTE_UNUSED BugproneModuleAnchorDestination = > + BugproneModuleAnchorSource; > + > +// This anchor is used to force the linker to link the LLVMModule. > +extern volatile int LLVMModuleAnchorSource; > +static int LLVM_ATTRIBUTE_UNUSED LLVMModuleAnchorDestination = > + LLVMModuleAnchorSource; > + > +// This anchor is used to force the linker to link the > CppCoreGuidelinesModule. > +extern volatile int CppCoreGuidelinesModuleAnchorSource; > +static int LLVM_ATTRIBUTE_UNUSED CppCoreGuidelinesModuleAnchorDestination > = > + CppCoreGuidelinesModuleAnchorSource; > + > +// This anchor is used to force the linker to link the FuchsiaModule. > +extern volatile int FuchsiaModuleAnchorSource; > +static int LLVM_ATTRIBUTE_UNUSED FuchsiaModuleAnchorDestination = > + FuchsiaModuleAnchorSource; > + > +// This anchor is used to force the linker to link the GoogleModule. > +extern volatile int GoogleModuleAnchorSource; > +static int LLVM_ATTRIBUTE_UNUSED GoogleModuleAnchorDestination = > + GoogleModuleAnchorSource; > + > +// This anchor is used to force the linker to link the AndroidModule. > +extern volatile int AndroidModuleAnchorSource; > +static int LLVM_ATTRIBUTE_UNUSED AndroidModuleAnchorDestination = > + AndroidModuleAnchorSource; > + > +// This anchor is used to force the linker to link the MiscModule. > +extern volatile int MiscModuleAnchorSource; > +static int LLVM_ATTRIBUTE_UNUSED MiscModuleAnchorDestination = > + MiscModuleAnchorSource; > + > +// This anchor is used to force the linker to link the ModernizeModule. > +extern volatile int ModernizeModuleAnchorSource; > +static int LLVM_ATTRIBUTE_UNUSED ModernizeModuleAnchorDestination = > + ModernizeModuleAnchorSource; > + > +#if CLANG_ENABLE_STATIC_ANALYZER > +// This anchor is used to force the linker to link the MPIModule. > +extern volatile int MPIModuleAnchorSource; > +static int LLVM_ATTRIBUTE_UNUSED MPIModuleAnchorDestination = > + MPIModuleAnchorSource; > +#endif > + > +// This anchor is used to force the linker to link the PerformanceModule. > +extern volatile int PerformanceModuleAnchorSource; > +static int LLVM_ATTRIBUTE_UNUSED PerformanceModuleAnchorDestination = > + PerformanceModuleAnchorSource; > + > +// This anchor is used to force the linker to link the PortabilityModule. > +extern volatile int PortabilityModuleAnchorSource; > +static int LLVM_ATTRIBUTE_UNUSED PortabilityModuleAnchorDestination = > + PortabilityModuleAnchorSource; > + > +// This anchor is used to force the linker to link the ReadabilityModule. > +extern volatile int ReadabilityModuleAnchorSource; > +static int LLVM_ATTRIBUTE_UNUSED ReadabilityModuleAnchorDestination = > + ReadabilityModuleAnchorSource; > + > +// This anchor is used to force the linker to link the ObjCModule. > +extern volatile int ObjCModuleAnchorSource; > +static int LLVM_ATTRIBUTE_UNUSED ObjCModuleAnchorDestination = > + ObjCModuleAnchorSource; > + > +// This anchor is used to force the linker to link the HICPPModule. > +extern volatile int HICPPModuleAnchorSource; > +static int LLVM_ATTRIBUTE_UNUSED HICPPModuleAnchorDestination = > + HICPPModuleAnchorSource; > + > +// This anchor is used to force the linker to link the ZirconModule. > +extern volatile int ZirconModuleAnchorSource; > +static int LLVM_ATTRIBUTE_UNUSED ZirconModuleAnchorDestination = > + ZirconModuleAnchorSource; > + > +} // namespace tidy > +} // namespace clang > > Modified: clang-tools-extra/trunk/clang-tidy/plugin/ClangTidyPlugin.cpp > URL: > http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/plugin/ClangTidyPlugin.cpp?rev=349038&r1=349037&r2=349038&view=diff > > ============================================================================== > --- clang-tools-extra/trunk/clang-tidy/plugin/ClangTidyPlugin.cpp > (original) > +++ clang-tools-extra/trunk/clang-tidy/plugin/ClangTidyPlugin.cpp Thu Dec > 13 06:37:17 2018 > @@ -8,6 +8,7 @@ > > > //===----------------------------------------------------------------------===// > > #include "../ClangTidy.h" > +#include "../ClangTidyForceLinker.h" > #include "../ClangTidyModule.h" > #include "clang/Config/config.h" > #include "clang/Frontend/CompilerInstance.h" > @@ -75,96 +76,3 @@ volatile int ClangTidyPluginAnchorSource > > static > clang::FrontendPluginRegistry::Add<clang::tidy::ClangTidyPluginAction> > X("clang-tidy", "clang-tidy"); > - > -namespace clang { > -namespace tidy { > - > -// This anchor is used to force the linker to link the AbseilModule. > -extern volatile int AbseilModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED AbseilModuleAnchorDestination = > - AbseilModuleAnchorSource; > - > -// This anchor is used to force the linker to link the AndroidModule. > -extern volatile int AndroidModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED AndroidModuleAnchorDestination = > - AndroidModuleAnchorSource; > - > -// This anchor is used to force the linker to link the BoostModule. > -extern volatile int BoostModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED BoostModuleAnchorDestination = > - BoostModuleAnchorSource; > - > -// This anchor is used to force the linker to link the CERTModule. > -extern volatile int CERTModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED CERTModuleAnchorDestination = > - CERTModuleAnchorSource; > - > -// This anchor is used to force the linker to link the > CppCoreGuidelinesModule. > -extern volatile int CppCoreGuidelinesModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED CppCoreGuidelinesModuleAnchorDestination > = > - CppCoreGuidelinesModuleAnchorSource; > - > -// This anchor is used to force the linker to link the FuchsiaModule. > -extern volatile int FuchsiaModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED FuchsiaModuleAnchorDestination = > - FuchsiaModuleAnchorSource; > - > -// This anchor is used to force the linker to link the GoogleModule. > -extern volatile int GoogleModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED GoogleModuleAnchorDestination = > - GoogleModuleAnchorSource; > - > -// This anchor is used to force the linker to link the HICPPModule. > -extern volatile int HICPPModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED HICPPModuleAnchorDestination = > - HICPPModuleAnchorSource; > - > -// This anchor is used to force the linker to link the LLVMModule. > -extern volatile int LLVMModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED LLVMModuleAnchorDestination = > - LLVMModuleAnchorSource; > - > -// This anchor is used to force the linker to link the MiscModule. > -extern volatile int MiscModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED MiscModuleAnchorDestination = > - MiscModuleAnchorSource; > - > -// This anchor is used to force the linker to link the ModernizeModule. > -extern volatile int ModernizeModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED ModernizeModuleAnchorDestination = > - ModernizeModuleAnchorSource; > - > -#if CLANG_ENABLE_STATIC_ANALYZER > -// This anchor is used to force the linker to link the MPIModule. > -extern volatile int MPIModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED MPIModuleAnchorDestination = > - MPIModuleAnchorSource; > -#endif > - > -// This anchor is used to force the linker to link the ObjCModule. > -extern volatile int ObjCModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED ObjCModuleAnchorDestination = > - ObjCModuleAnchorSource; > - > -// This anchor is used to force the linker to link the PerformanceModule. > -extern volatile int PerformanceModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED PerformanceModuleAnchorDestination = > - PerformanceModuleAnchorSource; > - > -// This anchor is used to force the linker to link the PortabilityModule. > -extern volatile int PortabilityModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED PortabilityModuleAnchorDestination = > - PortabilityModuleAnchorSource; > - > -// This anchor is used to force the linker to link the ReadabilityModule. > -extern volatile int ReadabilityModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED ReadabilityModuleAnchorDestination = > - ReadabilityModuleAnchorSource; > - > -// This anchor is used to force the linker to link the ZirconModule. > -extern volatile int ZirconModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED ZirconModuleAnchorDestination = > - ZirconModuleAnchorSource; > - > -} // namespace tidy > -} // namespace clang > > Modified: clang-tools-extra/trunk/clang-tidy/tool/ClangTidyMain.cpp > URL: > http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/tool/ClangTidyMain.cpp?rev=349038&r1=349037&r2=349038&view=diff > > ============================================================================== > --- clang-tools-extra/trunk/clang-tidy/tool/ClangTidyMain.cpp (original) > +++ clang-tools-extra/trunk/clang-tidy/tool/ClangTidyMain.cpp Thu Dec 13 > 06:37:17 2018 > @@ -16,6 +16,7 @@ > > > //===----------------------------------------------------------------------===// > > #include "../ClangTidy.h" > +#include "../ClangTidyForceLinker.h" > #include "clang/Config/config.h" > #include "clang/Tooling/CommonOptionsParser.h" > #include "llvm/Support/Process.h" > @@ -482,98 +483,6 @@ static int clangTidyMain(int argc, const > return 0; > } > > -// This anchor is used to force the linker to link the CERTModule. > -extern volatile int CERTModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED CERTModuleAnchorDestination = > - CERTModuleAnchorSource; > - > -// This anchor is used to force the linker to link the AbseilModule. > -extern volatile int AbseilModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED AbseilModuleAnchorDestination = > - AbseilModuleAnchorSource; > - > -// This anchor is used to force the linker to link the BoostModule. > -extern volatile int BoostModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED BoostModuleAnchorDestination = > - BoostModuleAnchorSource; > - > -// This anchor is used to force the linker to link the BugproneModule. > -extern volatile int BugproneModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED BugproneModuleAnchorDestination = > - BugproneModuleAnchorSource; > - > -// This anchor is used to force the linker to link the LLVMModule. > -extern volatile int LLVMModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED LLVMModuleAnchorDestination = > - LLVMModuleAnchorSource; > - > -// This anchor is used to force the linker to link the > CppCoreGuidelinesModule. > -extern volatile int CppCoreGuidelinesModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED CppCoreGuidelinesModuleAnchorDestination > = > - CppCoreGuidelinesModuleAnchorSource; > - > -// This anchor is used to force the linker to link the FuchsiaModule. > -extern volatile int FuchsiaModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED FuchsiaModuleAnchorDestination = > - FuchsiaModuleAnchorSource; > - > -// This anchor is used to force the linker to link the GoogleModule. > -extern volatile int GoogleModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED GoogleModuleAnchorDestination = > - GoogleModuleAnchorSource; > - > -// This anchor is used to force the linker to link the AndroidModule. > -extern volatile int AndroidModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED AndroidModuleAnchorDestination = > - AndroidModuleAnchorSource; > - > -// This anchor is used to force the linker to link the MiscModule. > -extern volatile int MiscModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED MiscModuleAnchorDestination = > - MiscModuleAnchorSource; > - > -// This anchor is used to force the linker to link the ModernizeModule. > -extern volatile int ModernizeModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED ModernizeModuleAnchorDestination = > - ModernizeModuleAnchorSource; > - > -#if CLANG_ENABLE_STATIC_ANALYZER > -// This anchor is used to force the linker to link the MPIModule. > -extern volatile int MPIModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED MPIModuleAnchorDestination = > - MPIModuleAnchorSource; > -#endif > - > -// This anchor is used to force the linker to link the PerformanceModule. > -extern volatile int PerformanceModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED PerformanceModuleAnchorDestination = > - PerformanceModuleAnchorSource; > - > -// This anchor is used to force the linker to link the PortabilityModule. > -extern volatile int PortabilityModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED PortabilityModuleAnchorDestination = > - PortabilityModuleAnchorSource; > - > -// This anchor is used to force the linker to link the ReadabilityModule. > -extern volatile int ReadabilityModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED ReadabilityModuleAnchorDestination = > - ReadabilityModuleAnchorSource; > - > -// This anchor is used to force the linker to link the ObjCModule. > -extern volatile int ObjCModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED ObjCModuleAnchorDestination = > - ObjCModuleAnchorSource; > - > -// This anchor is used to force the linker to link the HICPPModule. > -extern volatile int HICPPModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED HICPPModuleAnchorDestination = > - HICPPModuleAnchorSource; > - > -// This anchor is used to force the linker to link the ZirconModule. > -extern volatile int ZirconModuleAnchorSource; > -static int LLVM_ATTRIBUTE_UNUSED ZirconModuleAnchorDestination = > - ZirconModuleAnchorSource; > - > } // namespace tidy > } // namespace clang > > > > _______________________________________________ > cfe-commits mailing list > cfe-commits@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits