From: Alp Toker Date: Wed, 16 Jul 2014 16:48:33 +0000 (+0000) Subject: Make clang's rewrite engine a core feature X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6c4abb16766b6a903c3698490284b4f9df0bfaf9;p=clang 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213171 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/CMakeLists.txt b/CMakeLists.txt index b93a78ec01..02374e20f4 100644 --- a/CMakeLists.txt +++ b/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/examples/clang-interpreter/Makefile b/examples/clang-interpreter/Makefile index 6494e9affd..d571337735 100644 --- a/examples/clang-interpreter/Makefile +++ b/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/lib/ARCMigrate/CMakeLists.txt b/lib/ARCMigrate/CMakeLists.txt index e5ec607d73..b716a20fe6 100644 --- a/lib/ARCMigrate/CMakeLists.txt +++ b/lib/ARCMigrate/CMakeLists.txt @@ -31,7 +31,7 @@ add_clang_library(clangARCMigrate clangEdit clangFrontend clangLex - clangRewriteCore + clangRewrite clangSema clangSerialization clangStaticAnalyzerCheckers diff --git a/lib/Frontend/CMakeLists.txt b/lib/Frontend/CMakeLists.txt index 3fa7a2cf01..403cc42927 100644 --- a/lib/Frontend/CMakeLists.txt +++ b/lib/Frontend/CMakeLists.txt @@ -1,3 +1,5 @@ +add_subdirectory(Rewrite) + set(LLVM_LINK_COMPONENTS Option Support diff --git a/lib/Frontend/Makefile b/lib/Frontend/Makefile index 3c13ad69cc..8554b7649f 100644 --- a/lib/Frontend/Makefile +++ b/lib/Frontend/Makefile @@ -8,7 +8,7 @@ ##===----------------------------------------------------------------------===## CLANG_LEVEL := ../.. +DIRS := Rewrite LIBRARYNAME := clangFrontend include $(CLANG_LEVEL)/Makefile - diff --git a/lib/Rewrite/Frontend/CMakeLists.txt b/lib/Frontend/Rewrite/CMakeLists.txt similarity index 94% rename from lib/Rewrite/Frontend/CMakeLists.txt rename to lib/Frontend/Rewrite/CMakeLists.txt index 85af97d343..924bf5d5ee 100644 --- a/lib/Rewrite/Frontend/CMakeLists.txt +++ b/lib/Frontend/Rewrite/CMakeLists.txt @@ -18,5 +18,5 @@ add_clang_library(clangRewriteFrontend clangEdit clangFrontend clangLex - clangRewriteCore + clangRewrite ) diff --git a/lib/Rewrite/Frontend/FixItRewriter.cpp b/lib/Frontend/Rewrite/FixItRewriter.cpp similarity index 100% rename from lib/Rewrite/Frontend/FixItRewriter.cpp rename to lib/Frontend/Rewrite/FixItRewriter.cpp diff --git a/lib/Rewrite/Frontend/FrontendActions.cpp b/lib/Frontend/Rewrite/FrontendActions.cpp similarity index 99% rename from lib/Rewrite/Frontend/FrontendActions.cpp rename to lib/Frontend/Rewrite/FrontendActions.cpp index 4394e993a4..59fef736f1 100644 --- a/lib/Rewrite/Frontend/FrontendActions.cpp +++ b/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/lib/Rewrite/Frontend/HTMLPrint.cpp b/lib/Frontend/Rewrite/HTMLPrint.cpp similarity index 100% rename from lib/Rewrite/Frontend/HTMLPrint.cpp rename to lib/Frontend/Rewrite/HTMLPrint.cpp diff --git a/lib/Rewrite/Frontend/InclusionRewriter.cpp b/lib/Frontend/Rewrite/InclusionRewriter.cpp similarity index 100% rename from lib/Rewrite/Frontend/InclusionRewriter.cpp rename to lib/Frontend/Rewrite/InclusionRewriter.cpp diff --git a/lib/Rewrite/Frontend/Makefile b/lib/Frontend/Rewrite/Makefile similarity index 87% rename from lib/Rewrite/Frontend/Makefile rename to lib/Frontend/Rewrite/Makefile index ac97d4074e..1d56547705 100644 --- a/lib/Rewrite/Frontend/Makefile +++ b/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/lib/Rewrite/Frontend/RewriteMacros.cpp b/lib/Frontend/Rewrite/RewriteMacros.cpp similarity index 100% rename from lib/Rewrite/Frontend/RewriteMacros.cpp rename to lib/Frontend/Rewrite/RewriteMacros.cpp diff --git a/lib/Rewrite/Frontend/RewriteModernObjC.cpp b/lib/Frontend/Rewrite/RewriteModernObjC.cpp similarity index 99% rename from lib/Rewrite/Frontend/RewriteModernObjC.cpp rename to lib/Frontend/Rewrite/RewriteModernObjC.cpp index 43de31c516..3e18a8b415 100644 --- a/lib/Rewrite/Frontend/RewriteModernObjC.cpp +++ b/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/lib/Rewrite/Frontend/RewriteObjC.cpp b/lib/Frontend/Rewrite/RewriteObjC.cpp similarity index 99% rename from lib/Rewrite/Frontend/RewriteObjC.cpp rename to lib/Frontend/Rewrite/RewriteObjC.cpp index dfeb11a9aa..7a72177175 100644 --- a/lib/Rewrite/Frontend/RewriteObjC.cpp +++ b/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/lib/Rewrite/Frontend/RewriteTest.cpp b/lib/Frontend/Rewrite/RewriteTest.cpp similarity index 100% rename from lib/Rewrite/Frontend/RewriteTest.cpp rename to lib/Frontend/Rewrite/RewriteTest.cpp diff --git a/lib/FrontendTool/ExecuteCompilerInvocation.cpp b/lib/FrontendTool/ExecuteCompilerInvocation.cpp index 76baec7e69..de864f6535 100644 --- a/lib/FrontendTool/ExecuteCompilerInvocation.cpp +++ b/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/lib/FrontendTool/Makefile b/lib/FrontendTool/Makefile index 9ce4b767fe..dfd2820792 100644 --- a/lib/FrontendTool/Makefile +++ b/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/lib/Index/CMakeLists.txt b/lib/Index/CMakeLists.txt index fd9810d699..1ebb636e8e 100644 --- a/lib/Index/CMakeLists.txt +++ b/lib/Index/CMakeLists.txt @@ -14,6 +14,6 @@ add_clang_library(clangIndex clangBasic clangFormat clangLex - clangRewriteCore + clangRewrite clangTooling ) diff --git a/lib/Makefile b/lib/Makefile index 66632688d9..acf8089629 100755 --- a/lib/Makefile +++ b/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/lib/Rewrite/CMakeLists.txt b/lib/Rewrite/CMakeLists.txt index d3d7543023..0c77536012 100644 --- a/lib/Rewrite/CMakeLists.txt +++ b/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/lib/Rewrite/Core/CMakeLists.txt b/lib/Rewrite/Core/CMakeLists.txt deleted file mode 100644 index 896382c36d..0000000000 --- a/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/lib/Rewrite/Core/Makefile b/lib/Rewrite/Core/Makefile deleted file mode 100644 index 8c8d2e4781..0000000000 --- a/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/lib/Rewrite/Core/DeltaTree.cpp b/lib/Rewrite/DeltaTree.cpp similarity index 100% rename from lib/Rewrite/Core/DeltaTree.cpp rename to lib/Rewrite/DeltaTree.cpp diff --git a/lib/Rewrite/Core/HTMLRewrite.cpp b/lib/Rewrite/HTMLRewrite.cpp similarity index 100% rename from lib/Rewrite/Core/HTMLRewrite.cpp rename to lib/Rewrite/HTMLRewrite.cpp diff --git a/lib/Rewrite/Makefile b/lib/Rewrite/Makefile index 0be84d4064..5fef9b2c0d 100644 --- a/lib/Rewrite/Makefile +++ b/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/lib/Rewrite/Core/RewriteRope.cpp b/lib/Rewrite/RewriteRope.cpp similarity index 100% rename from lib/Rewrite/Core/RewriteRope.cpp rename to lib/Rewrite/RewriteRope.cpp diff --git a/lib/Rewrite/Core/Rewriter.cpp b/lib/Rewrite/Rewriter.cpp similarity index 100% rename from lib/Rewrite/Core/Rewriter.cpp rename to lib/Rewrite/Rewriter.cpp diff --git a/lib/Rewrite/Core/TokenRewriter.cpp b/lib/Rewrite/TokenRewriter.cpp similarity index 100% rename from lib/Rewrite/Core/TokenRewriter.cpp rename to lib/Rewrite/TokenRewriter.cpp diff --git a/lib/StaticAnalyzer/Core/CMakeLists.txt b/lib/StaticAnalyzer/Core/CMakeLists.txt index 3a00131ce1..59a6b6fbc5 100644 --- a/lib/StaticAnalyzer/Core/CMakeLists.txt +++ b/lib/StaticAnalyzer/Core/CMakeLists.txt @@ -45,5 +45,5 @@ add_clang_library(clangStaticAnalyzerCore clangAnalysis clangBasic clangLex - clangRewriteCore + clangRewrite ) diff --git a/lib/Tooling/CMakeLists.txt b/lib/Tooling/CMakeLists.txt index a1bf964faf..2bf9652fa3 100644 --- a/lib/Tooling/CMakeLists.txt +++ b/lib/Tooling/CMakeLists.txt @@ -17,5 +17,5 @@ add_clang_library(clangTooling clangDriver clangFrontend clangLex - clangRewriteCore + clangRewrite ) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index b7d689c778..591a9272ae 100644 --- a/test/CMakeLists.txt +++ b/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/test/FixIt/lit.local.cfg b/test/FixIt/lit.local.cfg deleted file mode 100644 index 5bbc711c65..0000000000 --- a/test/FixIt/lit.local.cfg +++ /dev/null @@ -1,2 +0,0 @@ -if config.root.clang_rewriter == 0: - config.unsupported = True diff --git a/test/Makefile b/test/Makefile index da7b965418..bd0bd2e965 100644 --- a/test/Makefile +++ b/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/test/Rewriter/lit.local.cfg b/test/Rewriter/lit.local.cfg index 5bbc711c65..69b733b2e4 100644 --- a/test/Rewriter/lit.local.cfg +++ b/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/test/lit.site.cfg.in b/test/lit.site.cfg.in index 2a28c006c0..1f0b9600d6 100644 --- a/test/lit.site.cfg.in +++ b/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/tools/CMakeLists.txt b/tools/CMakeLists.txt index d3f67a8960..90b2225a1d 100644 --- a/tools/CMakeLists.txt +++ b/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/tools/Makefile b/tools/Makefile index 94032d20b0..2ee12992f2 100644 --- a/tools/Makefile +++ b/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/tools/arcmt-test/Makefile b/tools/arcmt-test/Makefile index 4b9b8db0a0..d9d44bb05b 100644 --- a/tools/arcmt-test/Makefile +++ b/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/tools/c-arcmt-test/Makefile b/tools/c-arcmt-test/Makefile index 0be3bc136e..e7d5be7658 100644 --- a/tools/c-arcmt-test/Makefile +++ b/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/tools/c-index-test/Makefile b/tools/c-index-test/Makefile index b38d654a3a..42bfbb0583 100644 --- a/tools/c-index-test/Makefile +++ b/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/tools/clang-check/Makefile b/tools/clang-check/Makefile index cf088d2689..e98a131de5 100644 --- a/tools/clang-check/Makefile +++ b/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/tools/clang-format/CMakeLists.txt b/tools/clang-format/CMakeLists.txt index b029f71219..f80a3ec9c9 100644 --- a/tools/clang-format/CMakeLists.txt +++ b/tools/clang-format/CMakeLists.txt @@ -8,7 +8,7 @@ target_link_libraries(clang-format clangBasic clangFormat clangLex - clangRewriteCore + clangRewrite clangTooling ) diff --git a/tools/clang-format/Makefile b/tools/clang-format/Makefile index 4902244f86..a26ef59822 100644 --- a/tools/clang-format/Makefile +++ b/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/tools/driver/Makefile b/tools/driver/Makefile index 7404496875..347702eb96 100644 --- a/tools/driver/Makefile +++ b/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/tools/libclang/Makefile b/tools/libclang/Makefile index c03f38b83a..db3d4f8624 100644 --- a/tools/libclang/Makefile +++ b/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/unittests/AST/Makefile b/unittests/AST/Makefile index 0282d21fcf..e3b3d7dc33 100644 --- a/unittests/AST/Makefile +++ b/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/unittests/ASTMatchers/Dynamic/Makefile b/unittests/ASTMatchers/Dynamic/Makefile index 66b183c0e4..dfd0086c88 100644 --- a/unittests/ASTMatchers/Dynamic/Makefile +++ b/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/unittests/ASTMatchers/Makefile b/unittests/ASTMatchers/Makefile index dad300c04d..92f2fa0e5d 100644 --- a/unittests/ASTMatchers/Makefile +++ b/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/unittests/CMakeLists.txt b/unittests/CMakeLists.txt index cc1322699e..936b8b2065 100644 --- a/unittests/CMakeLists.txt +++ b/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/unittests/Format/Makefile b/unittests/Format/Makefile index 7de127caaf..e6dce4d8e8 100644 --- a/unittests/Format/Makefile +++ b/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/unittests/Frontend/Makefile b/unittests/Frontend/Makefile index 7de9fb4778..a63ae18245 100644 --- a/unittests/Frontend/Makefile +++ b/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/unittests/Makefile b/unittests/Makefile index 9b95a6eda2..95b1639415 100644 --- a/unittests/Makefile +++ b/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/unittests/Sema/Makefile b/unittests/Sema/Makefile index cd1d93df5b..7fd5c27ad6 100644 --- a/unittests/Sema/Makefile +++ b/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/unittests/Tooling/CMakeLists.txt b/unittests/Tooling/CMakeLists.txt index c59ff87b59..a41d87c6ea 100644 --- a/unittests/Tooling/CMakeLists.txt +++ b/unittests/Tooling/CMakeLists.txt @@ -19,6 +19,6 @@ target_link_libraries(ToolingTests clangBasic clangFrontend clangLex - clangRewriteCore + clangRewrite clangTooling ) diff --git a/unittests/Tooling/Makefile b/unittests/Tooling/Makefile index 9d36f1fa3b..46af8a11bb 100644 --- a/unittests/Tooling/Makefile +++ b/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/unittests/libclang/Makefile b/unittests/libclang/Makefile index 7b14c82e09..a6590eb97a 100644 --- a/unittests/libclang/Makefile +++ b/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 \