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")
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)
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
clangEdit
clangFrontend
clangLex
- clangRewriteCore
+ clangRewrite
clangSema
clangSerialization
clangStaticAnalyzerCheckers
+add_subdirectory(Rewrite)
+
set(LLVM_LINK_COMPONENTS
Option
Support
##===----------------------------------------------------------------------===##
CLANG_LEVEL := ../..
+DIRS := Rewrite
LIBRARYNAME := clangFrontend
include $(CLANG_LEVEL)/Makefile
-
clangEdit
clangFrontend
clangLex
- clangRewriteCore
+ clangRewrite
)
return true;
}
-//===----------------------------------------------------------------------===//
-// Preprocessor Actions
-//===----------------------------------------------------------------------===//
+#ifdef CLANG_ENABLE_OBJC_REWRITER
ASTConsumer *RewriteObjCAction::CreateASTConsumer(CompilerInstance &CI,
StringRef InFile) {
return nullptr;
}
+#endif
+
+//===----------------------------------------------------------------------===//
+// Preprocessor Actions
+//===----------------------------------------------------------------------===//
+
void RewriteMacrosAction::ExecuteAction() {
CompilerInstance &CI = getCompilerInstance();
raw_ostream *OS = CI.createDefaultOutputFile(true, getCurrentFile());
include $(CLANG_LEVEL)/Makefile
+ifeq ($(ENABLE_CLANG_ARCMT),1)
+ CXX.Flags += -DCLANG_ENABLE_OBJC_REWRITER
+endif
+
#include "llvm/Support/raw_ostream.h"
#include <memory>
+#ifdef CLANG_ENABLE_OBJC_REWRITER
+
using namespace clang;
using llvm::utostr;
ReplaceStmtWithRange(IV, Replacement, OldRange);
return Replacement;
}
+
+#endif
#include "llvm/Support/raw_ostream.h"
#include <memory>
+#ifdef CLANG_ENABLE_OBJC_REWRITER
+
using namespace clang;
using llvm::utostr;
ReplaceStmtWithRange(IV, Replacement, OldRange);
return Replacement;
}
+
+#endif
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();
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();
}
#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
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 &&
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)
clangBasic
clangFormat
clangLex
- clangRewriteCore
+ clangRewrite
clangTooling
)
# 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
-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
+ )
+++ /dev/null
-set(LLVM_LINK_COMPONENTS
- Support
- )
-
-add_clang_library(clangRewriteCore
- DeltaTree.cpp
- HTMLRewrite.cpp
- RewriteRope.cpp
- Rewriter.cpp
- TokenRewriter.cpp
-
- LINK_LIBS
- clangAST
- clangBasic
- clangLex
- )
+++ /dev/null
-##===- 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
-
-##===- clang/lib/StaticAnalyzer/Makefile -------------------*- Makefile -*-===##
+##===- clang/lib/Rewrite/Makefile --------------------------*- Makefile -*-===##
#
# The LLVM Compiler Infrastructure
#
# 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
+
clangAnalysis
clangBasic
clangLex
- clangRewriteCore
+ clangRewrite
)
clangDriver
clangFrontend
clangLex
- clangRewriteCore
+ clangRewrite
)
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
+++ /dev/null
-if config.root.clang_rewriter == 0:
- config.unsupported = True
@$(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
-if config.root.clang_rewriter == 0:
+# The Objective-C rewriters are currently grouped with ARCMT.
+if config.root.clang_arcmt == 0:
config.unsupported = True
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@"
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)
add_subdirectory(arcmt-test)
add_subdirectory(c-arcmt-test)
endif()
+
if(CLANG_ENABLE_STATIC_ANALYZER)
add_subdirectory(clang-check)
endif()
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
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
clangFormat.a \
clangTooling.a \
clangRewriteFrontend.a \
- clangRewriteCore.a \
+ clangRewrite.a \
clangFrontend.a clangDriver.a \
clangStaticAnalyzerCheckers.a clangStaticAnalyzerCore.a \
clangSerialization.a clangParse.a clangSema.a \
# 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 \
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
clangBasic
clangFormat
clangLex
- clangRewriteCore
+ clangRewrite
clangTooling
)
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
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 \
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
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 \
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
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
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
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()
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
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
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
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
clangBasic
clangFrontend
clangLex
- clangRewriteCore
+ clangRewrite
clangTooling
)
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
# 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 \