etienneb created this revision. etienneb added a reviewer: alexfh. etienneb added a subscriber: cfe-commits.
There virtual destructor can't be found and cause a compilation error on a shared build. To repro: [Release + Shared] ``` -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON ``` Which produce this error: ``` tools/clang/unittests/Tooling/CMakeFiles/ToolingTests.dir/ToolingTest.cpp.o: In function `clang::tooling::newFrontendActionFactory_CreatesFrontendActionFactoryFromType_Test::TestBody()': ToolingTest.cpp:(.text._ZN5clang7tooling66newFrontendActionFactory_CreatesFrontendActionFactoryFromType_Test8TestBodyEv+0x49): undefined reference to `clang::SyntaxOnlyAction::~SyntaxOnlyAction()' ``` http://reviews.llvm.org/D20218 Files: include/clang/Frontend/FrontendActions.h lib/Frontend/FrontendActions.cpp Index: lib/Frontend/FrontendActions.cpp =================================================================== --- lib/Frontend/FrontendActions.cpp +++ lib/Frontend/FrontendActions.cpp @@ -401,6 +401,9 @@ return OS; } +SyntaxOnlyAction::~SyntaxOnlyAction() { +} + std::unique_ptr<ASTConsumer> SyntaxOnlyAction::CreateASTConsumer(CompilerInstance &CI, StringRef InFile) { return llvm::make_unique<ASTConsumer>(); Index: include/clang/Frontend/FrontendActions.h =================================================================== --- include/clang/Frontend/FrontendActions.h +++ include/clang/Frontend/FrontendActions.h @@ -129,6 +129,7 @@ StringRef InFile) override; public: + ~SyntaxOnlyAction() override; bool hasCodeCompletionSupport() const override { return true; } };
Index: lib/Frontend/FrontendActions.cpp =================================================================== --- lib/Frontend/FrontendActions.cpp +++ lib/Frontend/FrontendActions.cpp @@ -401,6 +401,9 @@ return OS; } +SyntaxOnlyAction::~SyntaxOnlyAction() { +} + std::unique_ptr<ASTConsumer> SyntaxOnlyAction::CreateASTConsumer(CompilerInstance &CI, StringRef InFile) { return llvm::make_unique<ASTConsumer>(); Index: include/clang/Frontend/FrontendActions.h =================================================================== --- include/clang/Frontend/FrontendActions.h +++ include/clang/Frontend/FrontendActions.h @@ -129,6 +129,7 @@ StringRef InFile) override; public: + ~SyntaxOnlyAction() override; bool hasCodeCompletionSupport() const override { return true; } };
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits