From 0621cb2e7dfd89f558a045f145f900b62379dcc2 Mon Sep 17 00:00:00 2001 From: Alp Toker Date: Wed, 16 Jul 2014 16:48:33 +0000 Subject: [PATCH] Make clang's rewrite engine a core feature The rewrite facility's footprint is small so it's not worth going to these lengths to support disabling at configure time, particularly since key compiler features now depend on it. Meanwhile the Objective-C rewriters have been moved under the ENABLE_CLANG_ARCMT umbrella for now as they're comparatively heavy and still potentially worth excluding from lightweight builds. Tests are now passing with any combination of feature flags. The flags historically haven't been tested by LLVM's build servers so caveat emptor. llvm-svn: 213171 --- clang/CMakeLists.txt | 19 +------------- clang/examples/clang-interpreter/Makefile | 2 +- clang/lib/ARCMigrate/CMakeLists.txt | 2 +- clang/lib/Frontend/CMakeLists.txt | 2 ++ clang/lib/Frontend/Makefile | 2 +- .../Rewrite}/CMakeLists.txt | 2 +- .../Rewrite}/FixItRewriter.cpp | 0 .../Rewrite}/FrontendActions.cpp | 10 ++++--- .../Rewrite}/HTMLPrint.cpp | 0 .../Rewrite}/InclusionRewriter.cpp | 0 .../Frontend => Frontend/Rewrite}/Makefile | 4 +++ .../Rewrite}/RewriteMacros.cpp | 0 .../Rewrite}/RewriteModernObjC.cpp | 4 +++ .../Rewrite}/RewriteObjC.cpp | 4 +++ .../Rewrite}/RewriteTest.cpp | 0 .../ExecuteCompilerInvocation.cpp | 26 +++---------------- clang/lib/FrontendTool/Makefile | 5 +--- clang/lib/Index/CMakeLists.txt | 2 +- clang/lib/Makefile | 6 +---- clang/lib/Rewrite/CMakeLists.txt | 18 +++++++++++-- clang/lib/Rewrite/Core/CMakeLists.txt | 16 ------------ clang/lib/Rewrite/Core/Makefile | 18 ------------- clang/lib/Rewrite/{Core => }/DeltaTree.cpp | 0 clang/lib/Rewrite/{Core => }/HTMLRewrite.cpp | 0 clang/lib/Rewrite/Makefile | 10 ++++--- clang/lib/Rewrite/{Core => }/RewriteRope.cpp | 0 clang/lib/Rewrite/{Core => }/Rewriter.cpp | 0 .../lib/Rewrite/{Core => }/TokenRewriter.cpp | 0 clang/lib/StaticAnalyzer/Core/CMakeLists.txt | 2 +- clang/lib/Tooling/CMakeLists.txt | 2 +- clang/test/CMakeLists.txt | 8 +----- clang/test/FixIt/lit.local.cfg | 2 -- clang/test/Makefile | 1 - clang/test/Rewriter/lit.local.cfg | 3 ++- clang/test/lit.site.cfg.in | 1 - clang/tools/CMakeLists.txt | 7 +++-- clang/tools/Makefile | 6 +---- clang/tools/arcmt-test/Makefile | 2 +- clang/tools/c-arcmt-test/Makefile | 2 +- clang/tools/c-index-test/Makefile | 2 +- clang/tools/clang-check/Makefile | 2 +- clang/tools/clang-format/CMakeLists.txt | 2 +- clang/tools/clang-format/Makefile | 2 +- clang/tools/driver/Makefile | 7 ++--- clang/tools/libclang/Makefile | 2 +- clang/unittests/AST/Makefile | 2 +- clang/unittests/ASTMatchers/Dynamic/Makefile | 2 +- clang/unittests/ASTMatchers/Makefile | 2 +- clang/unittests/CMakeLists.txt | 15 +++++------ clang/unittests/Format/Makefile | 2 +- clang/unittests/Frontend/Makefile | 2 +- clang/unittests/Makefile | 6 +---- clang/unittests/Sema/Makefile | 2 +- clang/unittests/Tooling/CMakeLists.txt | 2 +- clang/unittests/Tooling/Makefile | 2 +- clang/unittests/libclang/Makefile | 2 +- 56 files changed, 91 insertions(+), 153 deletions(-) rename clang/lib/{Rewrite/Frontend => Frontend/Rewrite}/CMakeLists.txt (94%) rename clang/lib/{Rewrite/Frontend => Frontend/Rewrite}/FixItRewriter.cpp (100%) rename clang/lib/{Rewrite/Frontend => Frontend/Rewrite}/FrontendActions.cpp (99%) rename clang/lib/{Rewrite/Frontend => Frontend/Rewrite}/HTMLPrint.cpp (100%) rename clang/lib/{Rewrite/Frontend => Frontend/Rewrite}/InclusionRewriter.cpp (100%) rename clang/lib/{Rewrite/Frontend => Frontend/Rewrite}/Makefile (87%) rename clang/lib/{Rewrite/Frontend => Frontend/Rewrite}/RewriteMacros.cpp (100%) rename clang/lib/{Rewrite/Frontend => Frontend/Rewrite}/RewriteModernObjC.cpp (99%) rename clang/lib/{Rewrite/Frontend => Frontend/Rewrite}/RewriteObjC.cpp (99%) rename clang/lib/{Rewrite/Frontend => Frontend/Rewrite}/RewriteTest.cpp (100%) delete mode 100644 clang/lib/Rewrite/Core/CMakeLists.txt delete mode 100644 clang/lib/Rewrite/Core/Makefile rename clang/lib/Rewrite/{Core => }/DeltaTree.cpp (100%) rename clang/lib/Rewrite/{Core => }/HTMLRewrite.cpp (100%) rename clang/lib/Rewrite/{Core => }/RewriteRope.cpp (100%) rename clang/lib/Rewrite/{Core => }/Rewriter.cpp (100%) rename clang/lib/Rewrite/{Core => }/TokenRewriter.cpp (100%) delete mode 100644 clang/test/FixIt/lit.local.cfg diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt index b93a78ec01d0..02374e20f439 100644 --- a/clang/CMakeLists.txt +++ b/clang/CMakeLists.txt @@ -391,13 +391,6 @@ else() set(ENABLE_CLANG_ARCMT "0") endif() -option(CLANG_ENABLE_REWRITER "Build rewriter." ON) -if (CLANG_ENABLE_REWRITER) - set(ENABLE_CLANG_REWRITER "1") -else() - set(ENABLE_CLANG_REWRITER "0") -endif() - option(CLANG_ENABLE_STATIC_ANALYZER "Build static analyzer." ON) if (CLANG_ENABLE_STATIC_ANALYZER) set(ENABLE_CLANG_STATIC_ANALYZER "1") @@ -405,23 +398,13 @@ else() set(ENABLE_CLANG_STATIC_ANALYZER "0") endif() -if (NOT CLANG_ENABLE_REWRITER AND CLANG_ENABLE_ARCMT) - message(FATAL_ERROR "Cannot disable rewriter while enabling ARCMT") -endif() - -if (NOT CLANG_ENABLE_REWRITER AND CLANG_ENABLE_STATIC_ANALYZER) - message(FATAL_ERROR "Cannot disable rewriter while enabling static analyzer") -endif() - if (NOT CLANG_ENABLE_STATIC_ANALYZER AND CLANG_ENABLE_ARCMT) message(FATAL_ERROR "Cannot disable static analyzer while enabling ARCMT") endif() if(CLANG_ENABLE_ARCMT) add_definitions(-DCLANG_ENABLE_ARCMT) -endif() -if(CLANG_ENABLE_REWRITER) - add_definitions(-DCLANG_ENABLE_REWRITER) + add_definitions(-DCLANG_ENABLE_OBJC_REWRITER) endif() if(CLANG_ENABLE_STATIC_ANALYZER) add_definitions(-DCLANG_ENABLE_STATIC_ANALYZER) diff --git a/clang/examples/clang-interpreter/Makefile b/clang/examples/clang-interpreter/Makefile index 6494e9affdc2..d571337735ea 100644 --- a/clang/examples/clang-interpreter/Makefile +++ b/clang/examples/clang-interpreter/Makefile @@ -20,7 +20,7 @@ LINK_COMPONENTS := jit interpreter nativecodegen bitreader bitwriter irreader \ USEDLIBS = clangFrontend.a clangSerialization.a clangDriver.a clangCodeGen.a \ clangParse.a clangSema.a clangStaticAnalyzerFrontend.a \ clangStaticAnalyzerCheckers.a clangStaticAnalyzerCore.a \ - clangAnalysis.a clangRewriteCore.a clangRewriteFrontend.a \ + clangAnalysis.a clangRewrite.a clangRewriteFrontend.a \ clangEdit.a clangAST.a clangLex.a clangBasic.a include $(CLANG_LEVEL)/Makefile diff --git a/clang/lib/ARCMigrate/CMakeLists.txt b/clang/lib/ARCMigrate/CMakeLists.txt index e5ec607d73f7..b716a20fe63f 100644 --- a/clang/lib/ARCMigrate/CMakeLists.txt +++ b/clang/lib/ARCMigrate/CMakeLists.txt @@ -31,7 +31,7 @@ add_clang_library(clangARCMigrate clangEdit clangFrontend clangLex - clangRewriteCore + clangRewrite clangSema clangSerialization clangStaticAnalyzerCheckers diff --git a/clang/lib/Frontend/CMakeLists.txt b/clang/lib/Frontend/CMakeLists.txt index 3fa7a2cf01b2..403cc42927a6 100644 --- a/clang/lib/Frontend/CMakeLists.txt +++ b/clang/lib/Frontend/CMakeLists.txt @@ -1,3 +1,5 @@ +add_subdirectory(Rewrite) + set(LLVM_LINK_COMPONENTS Option Support diff --git a/clang/lib/Frontend/Makefile b/clang/lib/Frontend/Makefile index 3c13ad69cc67..8554b7649fa2 100644 --- a/clang/lib/Frontend/Makefile +++ b/clang/lib/Frontend/Makefile @@ -8,7 +8,7 @@ ##===----------------------------------------------------------------------===## CLANG_LEVEL := ../.. +DIRS := Rewrite LIBRARYNAME := clangFrontend include $(CLANG_LEVEL)/Makefile - diff --git a/clang/lib/Rewrite/Frontend/CMakeLists.txt b/clang/lib/Frontend/Rewrite/CMakeLists.txt similarity index 94% rename from clang/lib/Rewrite/Frontend/CMakeLists.txt rename to clang/lib/Frontend/Rewrite/CMakeLists.txt index 85af97d343d2..924bf5d5ee28 100644 --- a/clang/lib/Rewrite/Frontend/CMakeLists.txt +++ b/clang/lib/Frontend/Rewrite/CMakeLists.txt @@ -18,5 +18,5 @@ add_clang_library(clangRewriteFrontend clangEdit clangFrontend clangLex - clangRewriteCore + clangRewrite ) diff --git a/clang/lib/Rewrite/Frontend/FixItRewriter.cpp b/clang/lib/Frontend/Rewrite/FixItRewriter.cpp similarity index 100% rename from clang/lib/Rewrite/Frontend/FixItRewriter.cpp rename to clang/lib/Frontend/Rewrite/FixItRewriter.cpp diff --git a/clang/lib/Rewrite/Frontend/FrontendActions.cpp b/clang/lib/Frontend/Rewrite/FrontendActions.cpp similarity index 99% rename from clang/lib/Rewrite/Frontend/FrontendActions.cpp rename to clang/lib/Frontend/Rewrite/FrontendActions.cpp index 4394e993a415..59fef736f16a 100644 --- a/clang/lib/Rewrite/Frontend/FrontendActions.cpp +++ b/clang/lib/Frontend/Rewrite/FrontendActions.cpp @@ -146,9 +146,7 @@ bool FixItRecompile::BeginInvocation(CompilerInstance &CI) { return true; } -//===----------------------------------------------------------------------===// -// Preprocessor Actions -//===----------------------------------------------------------------------===// +#ifdef CLANG_ENABLE_OBJC_REWRITER ASTConsumer *RewriteObjCAction::CreateASTConsumer(CompilerInstance &CI, StringRef InFile) { @@ -166,6 +164,12 @@ ASTConsumer *RewriteObjCAction::CreateASTConsumer(CompilerInstance &CI, return nullptr; } +#endif + +//===----------------------------------------------------------------------===// +// Preprocessor Actions +//===----------------------------------------------------------------------===// + void RewriteMacrosAction::ExecuteAction() { CompilerInstance &CI = getCompilerInstance(); raw_ostream *OS = CI.createDefaultOutputFile(true, getCurrentFile()); diff --git a/clang/lib/Rewrite/Frontend/HTMLPrint.cpp b/clang/lib/Frontend/Rewrite/HTMLPrint.cpp similarity index 100% rename from clang/lib/Rewrite/Frontend/HTMLPrint.cpp rename to clang/lib/Frontend/Rewrite/HTMLPrint.cpp diff --git a/clang/lib/Rewrite/Frontend/InclusionRewriter.cpp b/clang/lib/Frontend/Rewrite/InclusionRewriter.cpp similarity index 100% rename from clang/lib/Rewrite/Frontend/InclusionRewriter.cpp rename to clang/lib/Frontend/Rewrite/InclusionRewriter.cpp diff --git a/clang/lib/Rewrite/Frontend/Makefile b/clang/lib/Frontend/Rewrite/Makefile similarity index 87% rename from clang/lib/Rewrite/Frontend/Makefile rename to clang/lib/Frontend/Rewrite/Makefile index ac97d4074ecb..1d565477053c 100644 --- a/clang/lib/Rewrite/Frontend/Makefile +++ b/clang/lib/Frontend/Rewrite/Makefile @@ -16,3 +16,7 @@ LIBRARYNAME := clangRewriteFrontend include $(CLANG_LEVEL)/Makefile +ifeq ($(ENABLE_CLANG_ARCMT),1) + CXX.Flags += -DCLANG_ENABLE_OBJC_REWRITER +endif + diff --git a/clang/lib/Rewrite/Frontend/RewriteMacros.cpp b/clang/lib/Frontend/Rewrite/RewriteMacros.cpp similarity index 100% rename from clang/lib/Rewrite/Frontend/RewriteMacros.cpp rename to clang/lib/Frontend/Rewrite/RewriteMacros.cpp diff --git a/clang/lib/Rewrite/Frontend/RewriteModernObjC.cpp b/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp similarity index 99% rename from clang/lib/Rewrite/Frontend/RewriteModernObjC.cpp rename to clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp index 43de31c516e0..3e18a8b415a3 100644 --- a/clang/lib/Rewrite/Frontend/RewriteModernObjC.cpp +++ b/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp @@ -30,6 +30,8 @@ #include "llvm/Support/raw_ostream.h" #include +#ifdef CLANG_ENABLE_OBJC_REWRITER + using namespace clang; using llvm::utostr; @@ -7754,3 +7756,5 @@ Stmt *RewriteModernObjC::RewriteObjCIvarRefExpr(ObjCIvarRefExpr *IV) { ReplaceStmtWithRange(IV, Replacement, OldRange); return Replacement; } + +#endif diff --git a/clang/lib/Rewrite/Frontend/RewriteObjC.cpp b/clang/lib/Frontend/Rewrite/RewriteObjC.cpp similarity index 99% rename from clang/lib/Rewrite/Frontend/RewriteObjC.cpp rename to clang/lib/Frontend/Rewrite/RewriteObjC.cpp index dfeb11a9aa71..7a721771759a 100644 --- a/clang/lib/Rewrite/Frontend/RewriteObjC.cpp +++ b/clang/lib/Frontend/Rewrite/RewriteObjC.cpp @@ -29,6 +29,8 @@ #include "llvm/Support/raw_ostream.h" #include +#ifdef CLANG_ENABLE_OBJC_REWRITER + using namespace clang; using llvm::utostr; @@ -5946,3 +5948,5 @@ Stmt *RewriteObjCFragileABI::RewriteObjCIvarRefExpr(ObjCIvarRefExpr *IV) { ReplaceStmtWithRange(IV, Replacement, OldRange); return Replacement; } + +#endif diff --git a/clang/lib/Rewrite/Frontend/RewriteTest.cpp b/clang/lib/Frontend/Rewrite/RewriteTest.cpp similarity index 100% rename from clang/lib/Rewrite/Frontend/RewriteTest.cpp rename to clang/lib/Frontend/Rewrite/RewriteTest.cpp diff --git a/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp b/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp index 76baec7e6948..de864f653562 100644 --- a/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp +++ b/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp @@ -45,20 +45,12 @@ static FrontendAction *CreateFrontendBaseAction(CompilerInstance &CI) { case DumpTokens: return new DumpTokensAction(); case EmitAssembly: return new EmitAssemblyAction(); case EmitBC: return new EmitBCAction(); -#ifdef CLANG_ENABLE_REWRITER case EmitHTML: return new HTMLPrintAction(); -#else - case EmitHTML: Action = "EmitHTML"; break; -#endif case EmitLLVM: return new EmitLLVMAction(); case EmitLLVMOnly: return new EmitLLVMOnlyAction(); case EmitCodeGenOnly: return new EmitCodeGenOnlyAction(); case EmitObj: return new EmitObjAction(); -#ifdef CLANG_ENABLE_REWRITER case FixIt: return new FixItAction(); -#else - case FixIt: Action = "FixIt"; break; -#endif case GenerateModule: return new GenerateModuleAction; case GeneratePCH: return new GeneratePCHAction; case GeneratePTH: return new GeneratePTHAction(); @@ -87,25 +79,17 @@ static FrontendAction *CreateFrontendBaseAction(CompilerInstance &CI) { case PrintDeclContext: return new DeclContextPrintAction(); case PrintPreamble: return new PrintPreambleAction(); case PrintPreprocessedInput: { - if (CI.getPreprocessorOutputOpts().RewriteIncludes) { -#ifdef CLANG_ENABLE_REWRITER + if (CI.getPreprocessorOutputOpts().RewriteIncludes) return new RewriteIncludesAction(); -#else - Action = "RewriteIncludesAction"; - break; -#endif - } return new PrintPreprocessedAction(); } -#ifdef CLANG_ENABLE_REWRITER case RewriteMacros: return new RewriteMacrosAction(); - case RewriteObjC: return new RewriteObjCAction(); case RewriteTest: return new RewriteTestAction(); +#ifdef CLANG_ENABLE_OBJC_REWRITER + case RewriteObjC: return new RewriteObjCAction(); #else - case RewriteMacros: Action = "RewriteMacros"; break; case RewriteObjC: Action = "RewriteObjC"; break; - case RewriteTest: Action = "RewriteTest"; break; #endif #ifdef CLANG_ENABLE_ARCMT case MigrateSource: return new arcmt::MigrateSourceAction(); @@ -121,7 +105,7 @@ static FrontendAction *CreateFrontendBaseAction(CompilerInstance &CI) { } #if !defined(CLANG_ENABLE_ARCMT) || !defined(CLANG_ENABLE_STATIC_ANALYZER) \ - || !defined(CLANG_ENABLE_REWRITER) + || !defined(CLANG_ENABLE_OBJC_REWRITER) CI.getDiagnostics().Report(diag::err_fe_action_not_available) << Action; return 0; #else @@ -137,11 +121,9 @@ static FrontendAction *CreateFrontendAction(CompilerInstance &CI) { const FrontendOptions &FEOpts = CI.getFrontendOpts(); -#ifdef CLANG_ENABLE_REWRITER if (FEOpts.FixAndRecompile) { Act = new FixItRecompile(Act); } -#endif #ifdef CLANG_ENABLE_ARCMT if (CI.getFrontendOpts().ProgramAction != frontend::MigrateSource && diff --git a/clang/lib/FrontendTool/Makefile b/clang/lib/FrontendTool/Makefile index 9ce4b767fe58..dfd282079219 100644 --- a/clang/lib/FrontendTool/Makefile +++ b/clang/lib/FrontendTool/Makefile @@ -15,10 +15,7 @@ include $(CLANG_LEVEL)/../../Makefile.config ifeq ($(ENABLE_CLANG_ARCMT),1) CXX.Flags += -DCLANG_ENABLE_ARCMT -endif - -ifeq ($(ENABLE_CLANG_REWRITER),1) - CXX.Flags += -DCLANG_ENABLE_REWRITER + CXX.Flags += -DCLANG_ENABLE_OBJC_REWRITER endif ifeq ($(ENABLE_CLANG_STATIC_ANALYZER),1) diff --git a/clang/lib/Index/CMakeLists.txt b/clang/lib/Index/CMakeLists.txt index fd9810d699ca..1ebb636e8eca 100644 --- a/clang/lib/Index/CMakeLists.txt +++ b/clang/lib/Index/CMakeLists.txt @@ -14,6 +14,6 @@ add_clang_library(clangIndex clangBasic clangFormat clangLex - clangRewriteCore + clangRewrite clangTooling ) diff --git a/clang/lib/Makefile b/clang/lib/Makefile index 66632688d933..acf8089629e4 100755 --- a/clang/lib/Makefile +++ b/clang/lib/Makefile @@ -11,14 +11,10 @@ CLANG_LEVEL := .. # ARCMigrate and Rewrite are always needed because of libclang. PARALLEL_DIRS = Headers Basic Lex Parse AST Sema CodeGen Analysis Frontend \ FrontendTool Tooling Driver Format Edit Rewrite Serialization \ - Index + Index ASTMatchers include $(CLANG_LEVEL)/../../Makefile.config -ifeq ($(ENABLE_CLANG_REWRITER),1) -PARALLEL_DIRS += ASTMatchers -endif - ifeq ($(ENABLE_CLANG_STATIC_ANALYZER),1) PARALLEL_DIRS += StaticAnalyzer endif diff --git a/clang/lib/Rewrite/CMakeLists.txt b/clang/lib/Rewrite/CMakeLists.txt index d3d75430233f..0c77536012aa 100644 --- a/clang/lib/Rewrite/CMakeLists.txt +++ b/clang/lib/Rewrite/CMakeLists.txt @@ -1,2 +1,16 @@ -add_subdirectory(Core) -add_subdirectory(Frontend) +set(LLVM_LINK_COMPONENTS + Support + ) + +add_clang_library(clangRewrite + DeltaTree.cpp + HTMLRewrite.cpp + RewriteRope.cpp + Rewriter.cpp + TokenRewriter.cpp + + LINK_LIBS + clangAST + clangBasic + clangLex + ) diff --git a/clang/lib/Rewrite/Core/CMakeLists.txt b/clang/lib/Rewrite/Core/CMakeLists.txt deleted file mode 100644 index 896382c36dbd..000000000000 --- a/clang/lib/Rewrite/Core/CMakeLists.txt +++ /dev/null @@ -1,16 +0,0 @@ -set(LLVM_LINK_COMPONENTS - Support - ) - -add_clang_library(clangRewriteCore - DeltaTree.cpp - HTMLRewrite.cpp - RewriteRope.cpp - Rewriter.cpp - TokenRewriter.cpp - - LINK_LIBS - clangAST - clangBasic - clangLex - ) diff --git a/clang/lib/Rewrite/Core/Makefile b/clang/lib/Rewrite/Core/Makefile deleted file mode 100644 index 8c8d2e478135..000000000000 --- a/clang/lib/Rewrite/Core/Makefile +++ /dev/null @@ -1,18 +0,0 @@ -##===- clang/lib/Rewrite/Makefile --------------------------*- Makefile -*-===## -# -# The LLVM Compiler Infrastructure -# -# This file is distributed under the University of Illinois Open Source -# License. See LICENSE.TXT for details. -# -##===----------------------------------------------------------------------===## -# -# This implements code transformation / rewriting facilities. -# -##===----------------------------------------------------------------------===## - -CLANG_LEVEL := ../../.. -LIBRARYNAME := clangRewriteCore - -include $(CLANG_LEVEL)/Makefile - diff --git a/clang/lib/Rewrite/Core/DeltaTree.cpp b/clang/lib/Rewrite/DeltaTree.cpp similarity index 100% rename from clang/lib/Rewrite/Core/DeltaTree.cpp rename to clang/lib/Rewrite/DeltaTree.cpp diff --git a/clang/lib/Rewrite/Core/HTMLRewrite.cpp b/clang/lib/Rewrite/HTMLRewrite.cpp similarity index 100% rename from clang/lib/Rewrite/Core/HTMLRewrite.cpp rename to clang/lib/Rewrite/HTMLRewrite.cpp diff --git a/clang/lib/Rewrite/Makefile b/clang/lib/Rewrite/Makefile index 0be84d406405..5fef9b2c0d38 100644 --- a/clang/lib/Rewrite/Makefile +++ b/clang/lib/Rewrite/Makefile @@ -1,4 +1,4 @@ -##===- clang/lib/StaticAnalyzer/Makefile -------------------*- Makefile -*-===## +##===- clang/lib/Rewrite/Makefile --------------------------*- Makefile -*-===## # # The LLVM Compiler Infrastructure # @@ -6,9 +6,13 @@ # License. See LICENSE.TXT for details. # ##===----------------------------------------------------------------------===## +# +# This implements code transformation / rewriting facilities. +# +##===----------------------------------------------------------------------===## CLANG_LEVEL := ../.. -DIRS := Frontend -PARALLEL_DIRS := Core +LIBRARYNAME := clangRewrite include $(CLANG_LEVEL)/Makefile + diff --git a/clang/lib/Rewrite/Core/RewriteRope.cpp b/clang/lib/Rewrite/RewriteRope.cpp similarity index 100% rename from clang/lib/Rewrite/Core/RewriteRope.cpp rename to clang/lib/Rewrite/RewriteRope.cpp diff --git a/clang/lib/Rewrite/Core/Rewriter.cpp b/clang/lib/Rewrite/Rewriter.cpp similarity index 100% rename from clang/lib/Rewrite/Core/Rewriter.cpp rename to clang/lib/Rewrite/Rewriter.cpp diff --git a/clang/lib/Rewrite/Core/TokenRewriter.cpp b/clang/lib/Rewrite/TokenRewriter.cpp similarity index 100% rename from clang/lib/Rewrite/Core/TokenRewriter.cpp rename to clang/lib/Rewrite/TokenRewriter.cpp diff --git a/clang/lib/StaticAnalyzer/Core/CMakeLists.txt b/clang/lib/StaticAnalyzer/Core/CMakeLists.txt index 3a00131ce127..59a6b6fbc595 100644 --- a/clang/lib/StaticAnalyzer/Core/CMakeLists.txt +++ b/clang/lib/StaticAnalyzer/Core/CMakeLists.txt @@ -45,5 +45,5 @@ add_clang_library(clangStaticAnalyzerCore clangAnalysis clangBasic clangLex - clangRewriteCore + clangRewrite ) diff --git a/clang/lib/Tooling/CMakeLists.txt b/clang/lib/Tooling/CMakeLists.txt index a1bf964faf34..2bf9652fa376 100644 --- a/clang/lib/Tooling/CMakeLists.txt +++ b/clang/lib/Tooling/CMakeLists.txt @@ -17,5 +17,5 @@ add_clang_library(clangTooling clangDriver clangFrontend clangLex - clangRewriteCore + clangRewrite ) diff --git a/clang/test/CMakeLists.txt b/clang/test/CMakeLists.txt index b7d689c778f3..591a9272ae6d 100644 --- a/clang/test/CMakeLists.txt +++ b/clang/test/CMakeLists.txt @@ -26,17 +26,11 @@ endif () list(APPEND CLANG_TEST_DEPS clang clang-headers + clang-check clang-format c-index-test diagtool clang-tblgen ) -if (CLANG_ENABLE_REWRITER) - list(APPEND CLANG_TEST_DEPS - clang-check - clang-format - ) -endif () - if (CLANG_ENABLE_ARCMT) list(APPEND CLANG_TEST_DEPS arcmt-test diff --git a/clang/test/FixIt/lit.local.cfg b/clang/test/FixIt/lit.local.cfg deleted file mode 100644 index 5bbc711c656d..000000000000 --- a/clang/test/FixIt/lit.local.cfg +++ /dev/null @@ -1,2 +0,0 @@ -if config.root.clang_rewriter == 0: - config.unsupported = True diff --git a/clang/test/Makefile b/clang/test/Makefile index da7b96541807..bd0bd2e96569 100644 --- a/clang/test/Makefile +++ b/clang/test/Makefile @@ -47,7 +47,6 @@ lit.site.cfg: FORCE @$(ECHOPATH) s=@CLANG_TOOLS_DIR@=$(ToolDir)=g >> lit.tmp @$(ECHOPATH) s=@TARGET_TRIPLE@=$(TARGET_TRIPLE)=g >> lit.tmp @$(ECHOPATH) s=@ENABLE_CLANG_ARCMT@=$(ENABLE_CLANG_ARCMT)=g >> lit.tmp - @$(ECHOPATH) s=@ENABLE_CLANG_REWRITER@=$(ENABLE_CLANG_REWRITER)=g >> lit.tmp @$(ECHOPATH) s=@ENABLE_CLANG_STATIC_ANALYZER@=$(ENABLE_CLANG_STATIC_ANALYZER)=g >> lit.tmp @$(ECHOPATH) s=@ENABLE_CLANG_EXAMPLES@=$(ENABLE_CLANG_EXAMPLES)=g >> lit.tmp @$(ECHOPATH) s=@ENABLE_SHARED@=$(ENABLE_SHARED)=g >> lit.tmp diff --git a/clang/test/Rewriter/lit.local.cfg b/clang/test/Rewriter/lit.local.cfg index 5bbc711c656d..69b733b2e4a3 100644 --- a/clang/test/Rewriter/lit.local.cfg +++ b/clang/test/Rewriter/lit.local.cfg @@ -1,2 +1,3 @@ -if config.root.clang_rewriter == 0: +# The Objective-C rewriters are currently grouped with ARCMT. +if config.root.clang_arcmt == 0: config.unsupported = True diff --git a/clang/test/lit.site.cfg.in b/clang/test/lit.site.cfg.in index 2a28c006c042..1f0b9600d67d 100644 --- a/clang/test/lit.site.cfg.in +++ b/clang/test/lit.site.cfg.in @@ -16,7 +16,6 @@ config.target_triple = "@TARGET_TRIPLE@" config.llvm_use_sanitizer = "@LLVM_USE_SANITIZER@" config.clang_arcmt = @ENABLE_CLANG_ARCMT@ config.clang_staticanalyzer = @ENABLE_CLANG_STATIC_ANALYZER@ -config.clang_rewriter = @ENABLE_CLANG_REWRITER@ config.clang_examples = @ENABLE_CLANG_EXAMPLES@ config.enable_shared = @ENABLE_SHARED@ config.host_arch = "@HOST_ARCH@" diff --git a/clang/tools/CMakeLists.txt b/clang/tools/CMakeLists.txt index d3f67a896020..90b2225a1d2d 100644 --- a/clang/tools/CMakeLists.txt +++ b/clang/tools/CMakeLists.txt @@ -1,9 +1,7 @@ add_subdirectory(diagtool) add_subdirectory(driver) -if(CLANG_ENABLE_REWRITER) - add_subdirectory(clang-format) - add_subdirectory(clang-format-vs) -endif() +add_subdirectory(clang-format) +add_subdirectory(clang-format-vs) add_subdirectory(c-index-test) add_subdirectory(libclang) @@ -12,6 +10,7 @@ if(CLANG_ENABLE_ARCMT) add_subdirectory(arcmt-test) add_subdirectory(c-arcmt-test) endif() + if(CLANG_ENABLE_STATIC_ANALYZER) add_subdirectory(clang-check) endif() diff --git a/clang/tools/Makefile b/clang/tools/Makefile index 94032d20b032..2ee12992f23f 100644 --- a/clang/tools/Makefile +++ b/clang/tools/Makefile @@ -12,11 +12,7 @@ CLANG_LEVEL := .. include $(CLANG_LEVEL)/../../Makefile.config DIRS := -PARALLEL_DIRS := driver diagtool - -ifeq ($(ENABLE_CLANG_REWRITER),1) - PARALLEL_DIRS += clang-format -endif +PARALLEL_DIRS := clang-format driver diagtool ifeq ($(ENABLE_CLANG_STATIC_ANALYZER), 1) PARALLEL_DIRS += clang-check diff --git a/clang/tools/arcmt-test/Makefile b/clang/tools/arcmt-test/Makefile index 4b9b8db0a0b0..d9d44bb05bd2 100644 --- a/clang/tools/arcmt-test/Makefile +++ b/clang/tools/arcmt-test/Makefile @@ -18,7 +18,7 @@ NO_INSTALL = 1 include $(CLANG_LEVEL)/../../Makefile.config LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader support mc option -USEDLIBS = clangARCMigrate.a clangRewriteCore.a \ +USEDLIBS = clangARCMigrate.a clangRewrite.a \ clangFrontend.a clangDriver.a clangSerialization.a clangParse.a \ clangSema.a clangEdit.a clangAnalysis.a clangAST.a clangLex.a \ clangBasic.a diff --git a/clang/tools/c-arcmt-test/Makefile b/clang/tools/c-arcmt-test/Makefile index 0be3bc136eb9..e7d5be7658b8 100644 --- a/clang/tools/c-arcmt-test/Makefile +++ b/clang/tools/c-arcmt-test/Makefile @@ -31,7 +31,7 @@ USEDLIBS = clang.a \ clangFormat.a \ clangTooling.a \ clangRewriteFrontend.a \ - clangRewriteCore.a \ + clangRewrite.a \ clangFrontend.a clangDriver.a \ clangStaticAnalyzerCheckers.a clangStaticAnalyzerCore.a \ clangSerialization.a clangParse.a clangSema.a \ diff --git a/clang/tools/c-index-test/Makefile b/clang/tools/c-index-test/Makefile index b38d654a3ac5..42bfbb05839c 100644 --- a/clang/tools/c-index-test/Makefile +++ b/clang/tools/c-index-test/Makefile @@ -27,7 +27,7 @@ LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader support mc option # Note that 'USEDLIBS' must include all of the core clang libraries # when -static is given to linker on cygming. USEDLIBS = clang.a \ - clangIndex.a clangFormat.a clangRewriteCore.a \ + clangIndex.a clangFormat.a clangRewrite.a \ clangFrontend.a clangDriver.a \ clangTooling.a \ clangSerialization.a clangParse.a clangSema.a \ diff --git a/clang/tools/clang-check/Makefile b/clang/tools/clang-check/Makefile index cf088d268930..e98a131de5a9 100644 --- a/clang/tools/clang-check/Makefile +++ b/clang/tools/clang-check/Makefile @@ -20,6 +20,6 @@ USEDLIBS = clangFrontend.a clangSerialization.a clangDriver.a \ clangTooling.a clangParse.a clangSema.a \ clangStaticAnalyzerFrontend.a clangStaticAnalyzerCheckers.a \ clangStaticAnalyzerCore.a clangAnalysis.a clangRewriteFrontend.a \ - clangRewriteCore.a clangEdit.a clangAST.a clangLex.a clangBasic.a + clangRewrite.a clangEdit.a clangAST.a clangLex.a clangBasic.a include $(CLANG_LEVEL)/Makefile diff --git a/clang/tools/clang-format/CMakeLists.txt b/clang/tools/clang-format/CMakeLists.txt index b029f7121907..f80a3ec9c91f 100644 --- a/clang/tools/clang-format/CMakeLists.txt +++ b/clang/tools/clang-format/CMakeLists.txt @@ -8,7 +8,7 @@ target_link_libraries(clang-format clangBasic clangFormat clangLex - clangRewriteCore + clangRewrite clangTooling ) diff --git a/clang/tools/clang-format/Makefile b/clang/tools/clang-format/Makefile index 4902244f8657..a26ef59822be 100644 --- a/clang/tools/clang-format/Makefile +++ b/clang/tools/clang-format/Makefile @@ -18,7 +18,7 @@ include $(CLANG_LEVEL)/../../Makefile.config LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader support mc option USEDLIBS = clangFormat.a clangTooling.a clangFrontend.a clangSerialization.a \ clangDriver.a clangParse.a clangSema.a clangAnalysis.a \ - clangRewriteFrontend.a clangRewriteCore.a clangEdit.a clangAST.a \ + clangRewriteFrontend.a clangRewrite.a clangEdit.a clangAST.a \ clangLex.a clangBasic.a include $(CLANG_LEVEL)/Makefile diff --git a/clang/tools/driver/Makefile b/clang/tools/driver/Makefile index 7404496875fd..347702eb9611 100644 --- a/clang/tools/driver/Makefile +++ b/clang/tools/driver/Makefile @@ -35,7 +35,8 @@ LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader bitwriter codegen \ instrumentation ipo irreader linker objcarcopts option \ profiledata selectiondag USEDLIBS = clangFrontendTool.a clangFrontend.a clangDriver.a \ - clangSerialization.a clangCodeGen.a clangParse.a clangSema.a + clangSerialization.a clangCodeGen.a clangParse.a clangSema.a \ + clangRewriteFrontend.a clangRewrite.a ifeq ($(ENABLE_CLANG_STATIC_ANALYZER),1) USEDLIBS += clangStaticAnalyzerFrontend.a clangStaticAnalyzerCheckers.a \ @@ -46,10 +47,6 @@ ifeq ($(ENABLE_CLANG_ARCMT),1) USEDLIBS += clangARCMigrate.a endif -ifeq ($(ENABLE_CLANG_REWRITER),1) -USEDLIBS += clangRewriteFrontend.a clangRewriteCore.a -endif - USEDLIBS += clangAnalysis.a clangEdit.a clangAST.a clangLex.a clangBasic.a include $(CLANG_LEVEL)/Makefile diff --git a/clang/tools/libclang/Makefile b/clang/tools/libclang/Makefile index c03f38b83ac9..db3d4f86244a 100644 --- a/clang/tools/libclang/Makefile +++ b/clang/tools/libclang/Makefile @@ -25,7 +25,7 @@ USEDLIBS = clangIndex.a clangARCMigrate.a \ clangSerialization.a \ clangParse.a clangSema.a \ clangStaticAnalyzerCheckers.a clangStaticAnalyzerCore.a \ - clangRewriteCore.a \ + clangRewrite.a \ clangAnalysis.a clangEdit.a \ clangASTMatchers.a \ clangAST.a clangLex.a clangBasic.a \ diff --git a/clang/unittests/AST/Makefile b/clang/unittests/AST/Makefile index 0282d21fcf15..e3b3d7dc33e8 100644 --- a/clang/unittests/AST/Makefile +++ b/clang/unittests/AST/Makefile @@ -12,7 +12,7 @@ TESTNAME = AST include $(CLANG_LEVEL)/../../Makefile.config LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader support mc option USEDLIBS = clangTooling.a clangFrontend.a clangSerialization.a clangDriver.a \ - clangRewriteCore.a clangRewriteFrontend.a \ + clangRewrite.a clangRewriteFrontend.a \ clangParse.a clangSema.a clangAnalysis.a \ clangEdit.a clangAST.a clangASTMatchers.a clangLex.a clangBasic.a diff --git a/clang/unittests/ASTMatchers/Dynamic/Makefile b/clang/unittests/ASTMatchers/Dynamic/Makefile index 66b183c0e484..dfd0086c883e 100644 --- a/clang/unittests/ASTMatchers/Dynamic/Makefile +++ b/clang/unittests/ASTMatchers/Dynamic/Makefile @@ -13,7 +13,7 @@ TESTNAME = DynamicASTMatchers include $(CLANG_LEVEL)/../../Makefile.config LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader support mc option USEDLIBS = clangTooling.a clangFrontend.a clangSerialization.a clangDriver.a \ - clangRewriteCore.a clangRewriteFrontend.a clangParse.a clangSema.a \ + clangRewrite.a clangRewriteFrontend.a clangParse.a clangSema.a \ clangAnalysis.a clangEdit.a clangAST.a clangASTMatchers.a \ clangLex.a clangBasic.a clangDynamicASTMatchers.a diff --git a/clang/unittests/ASTMatchers/Makefile b/clang/unittests/ASTMatchers/Makefile index dad300c04d32..92f2fa0e5d17 100644 --- a/clang/unittests/ASTMatchers/Makefile +++ b/clang/unittests/ASTMatchers/Makefile @@ -15,7 +15,7 @@ TESTNAME = ASTMatchers include $(CLANG_LEVEL)/../../Makefile.config LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader support mc option USEDLIBS = clangTooling.a clangFrontend.a clangSerialization.a clangDriver.a \ - clangRewriteCore.a clangRewriteFrontend.a \ + clangRewrite.a clangRewriteFrontend.a \ clangParse.a clangSema.a clangAnalysis.a \ clangEdit.a clangAST.a clangASTMatchers.a clangLex.a clangBasic.a diff --git a/clang/unittests/CMakeLists.txt b/clang/unittests/CMakeLists.txt index cc1322699e50..936b8b206599 100644 --- a/clang/unittests/CMakeLists.txt +++ b/clang/unittests/CMakeLists.txt @@ -15,13 +15,12 @@ add_subdirectory(Driver) if(CLANG_ENABLE_STATIC_ANALYZER) add_subdirectory(Frontend) endif() -if(CLANG_ENABLE_REWRITER) - add_subdirectory(ASTMatchers) - add_subdirectory(AST) - add_subdirectory(Tooling) - add_subdirectory(Format) - add_subdirectory(Sema) -endif() -if(NOT WIN32) # FIXME:Investigating. +add_subdirectory(ASTMatchers) +add_subdirectory(AST) +add_subdirectory(Tooling) +add_subdirectory(Format) +add_subdirectory(Sema) +# FIXME: Why are the libclang unit tests disabled on Windows? +if(NOT WIN32) add_subdirectory(libclang) endif() diff --git a/clang/unittests/Format/Makefile b/clang/unittests/Format/Makefile index 7de127caafa2..e6dce4d8e814 100644 --- a/clang/unittests/Format/Makefile +++ b/clang/unittests/Format/Makefile @@ -12,7 +12,7 @@ TESTNAME = Format include $(CLANG_LEVEL)/../../Makefile.config LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader support mc option USEDLIBS = clangFormat.a clangTooling.a clangFrontend.a clangSerialization.a \ - clangDriver.a clangParse.a clangRewriteCore.a \ + clangDriver.a clangParse.a clangRewrite.a \ clangRewriteFrontend.a clangSema.a clangAnalysis.a clangEdit.a \ clangAST.a clangASTMatchers.a clangLex.a clangBasic.a diff --git a/clang/unittests/Frontend/Makefile b/clang/unittests/Frontend/Makefile index 7de9fb4778b4..a63ae1824534 100644 --- a/clang/unittests/Frontend/Makefile +++ b/clang/unittests/Frontend/Makefile @@ -14,7 +14,7 @@ LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader support mc option USEDLIBS = clangFrontendTool.a clangFrontend.a clangDriver.a \ clangSerialization.a clangCodeGen.a clangParse.a clangSema.a \ clangStaticAnalyzerCheckers.a clangStaticAnalyzerCore.a \ - clangARCMigrate.a clangRewriteCore.a \ + clangARCMigrate.a clangRewrite.a \ clangRewriteFrontend.a clangEdit.a \ clangAnalysis.a clangAST.a clangLex.a clangBasic.a diff --git a/clang/unittests/Makefile b/clang/unittests/Makefile index 9b95a6eda20e..95b1639415b2 100644 --- a/clang/unittests/Makefile +++ b/clang/unittests/Makefile @@ -14,14 +14,10 @@ ifndef CLANG_LEVEL IS_UNITTEST_LEVEL := 1 CLANG_LEVEL := .. -PARALLEL_DIRS = Basic Lex Driver libclang +PARALLEL_DIRS = Basic Lex Driver libclang Format ASTMatchers AST Tooling Sema include $(CLANG_LEVEL)/../..//Makefile.config -ifeq ($(ENABLE_CLANG_REWRITER),1) -PARALLEL_DIRS += Format ASTMatchers AST Tooling Sema -endif - ifeq ($(ENABLE_CLANG_ARCMT),1) PARALLEL_DIRS += Frontend endif diff --git a/clang/unittests/Sema/Makefile b/clang/unittests/Sema/Makefile index cd1d93df5b33..7fd5c27ad607 100644 --- a/clang/unittests/Sema/Makefile +++ b/clang/unittests/Sema/Makefile @@ -12,7 +12,7 @@ TESTNAME = Sema include $(CLANG_LEVEL)/../../Makefile.config LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader support mc option USEDLIBS = clangTooling.a clangFrontend.a clangSerialization.a clangDriver.a \ - clangRewriteCore.a clangRewriteFrontend.a \ + clangRewrite.a clangRewriteFrontend.a \ clangParse.a clangSema.a clangAnalysis.a \ clangEdit.a clangAST.a clangASTMatchers.a clangLex.a clangBasic.a diff --git a/clang/unittests/Tooling/CMakeLists.txt b/clang/unittests/Tooling/CMakeLists.txt index c59ff87b59db..a41d87c6ea82 100644 --- a/clang/unittests/Tooling/CMakeLists.txt +++ b/clang/unittests/Tooling/CMakeLists.txt @@ -19,6 +19,6 @@ target_link_libraries(ToolingTests clangBasic clangFrontend clangLex - clangRewriteCore + clangRewrite clangTooling ) diff --git a/clang/unittests/Tooling/Makefile b/clang/unittests/Tooling/Makefile index 9d36f1fa3b4f..46af8a11bba1 100644 --- a/clang/unittests/Tooling/Makefile +++ b/clang/unittests/Tooling/Makefile @@ -12,7 +12,7 @@ TESTNAME = Tooling include $(CLANG_LEVEL)/../../Makefile.config LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader support mc option USEDLIBS = clangTooling.a clangFrontend.a clangSerialization.a clangDriver.a \ - clangParse.a clangRewriteCore.a clangRewriteFrontend.a \ + clangParse.a clangRewrite.a clangRewriteFrontend.a \ clangSema.a clangAnalysis.a clangEdit.a \ clangAST.a clangASTMatchers.a clangLex.a clangBasic.a diff --git a/clang/unittests/libclang/Makefile b/clang/unittests/libclang/Makefile index 7b14c82e0988..a6590eb97aeb 100644 --- a/clang/unittests/libclang/Makefile +++ b/clang/unittests/libclang/Makefile @@ -17,7 +17,7 @@ LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader support mc option # Note that 'USEDLIBS' must include all of the core clang libraries # when -static is given to linker on cygming. USEDLIBS = clang.a \ - clangIndex.a clangFormat.a clangRewriteCore.a \ + clangIndex.a clangFormat.a clangRewrite.a \ clangFrontend.a clangDriver.a \ clangTooling.a \ clangSerialization.a clangParse.a clangSema.a \