From e817771c57d0eacbe069a314ba619c43d0ac70ab Mon Sep 17 00:00:00 2001
From: Argyrios Kyrtzidis <akyrtzi@gmail.com>
Date: Mon, 14 Feb 2011 18:13:01 +0000
Subject: [PATCH] [analyzer] Introduce libclangStaticAnalyzerFrontend and move
 Checkers/AnalysisConsumer.cpp into Frontend lib.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125499 91177308-0d34-0410-b5e6-96231b3b80d8
---
 examples/PrintFunctionNames/CMakeLists.txt      |  1 +
 examples/clang-interpreter/CMakeLists.txt       |  1 +
 examples/clang-interpreter/Makefile             |  2 +-
 examples/wpa/CMakeLists.txt                     |  1 +
 examples/wpa/Makefile                           |  2 +-
 lib/FrontendTool/CMakeLists.txt                 |  2 +-
 lib/StaticAnalyzer/CMakeLists.txt               |  1 +
 lib/StaticAnalyzer/Checkers/CMakeLists.txt      |  1 -
 .../{Checkers => Frontend}/AnalysisConsumer.cpp |  4 ++--
 lib/StaticAnalyzer/Frontend/CMakeLists.txt      | 10 ++++++++++
 lib/StaticAnalyzer/Frontend/Makefile            | 17 +++++++++++++++++
 lib/StaticAnalyzer/Makefile                     |  2 +-
 tools/driver/CMakeLists.txt                     |  1 +
 tools/driver/Makefile                           |  3 ++-
 14 files changed, 40 insertions(+), 8 deletions(-)
 rename lib/StaticAnalyzer/{Checkers => Frontend}/AnalysisConsumer.cpp (99%)
 create mode 100644 lib/StaticAnalyzer/Frontend/CMakeLists.txt
 create mode 100644 lib/StaticAnalyzer/Frontend/Makefile

diff --git a/examples/PrintFunctionNames/CMakeLists.txt b/examples/PrintFunctionNames/CMakeLists.txt
index d442ff9c6b3..58b4603e9b6 100644
--- a/examples/PrintFunctionNames/CMakeLists.txt
+++ b/examples/PrintFunctionNames/CMakeLists.txt
@@ -8,6 +8,7 @@ set( LLVM_USED_LIBS
   clangCodeGen
   clangParse
   clangSema
+  clangStaticAnalyzerFrontend
   clangStaticAnalyzerCheckers
   clangStaticAnalyzerCore
   clangAnalysis
diff --git a/examples/clang-interpreter/CMakeLists.txt b/examples/clang-interpreter/CMakeLists.txt
index c8e907eeaa4..a747b92a76c 100644
--- a/examples/clang-interpreter/CMakeLists.txt
+++ b/examples/clang-interpreter/CMakeLists.txt
@@ -4,6 +4,7 @@ set(LLVM_USED_LIBS
     clangDriver
     clangCodeGen
     clangSema
+    clangStaticAnalyzerFrontend
     clangStaticAnalyzerCheckers
     clangStaticAnalyzerCore
     clangIndex
diff --git a/examples/clang-interpreter/Makefile b/examples/clang-interpreter/Makefile
index 24a2be864d0..6e762da708d 100644
--- a/examples/clang-interpreter/Makefile
+++ b/examples/clang-interpreter/Makefile
@@ -18,7 +18,7 @@ TOOL_NO_EXPORTS = 1
 LINK_COMPONENTS := jit interpreter nativecodegen bitreader bitwriter ipo \
 	selectiondag asmparser
 USEDLIBS = clangFrontend.a clangSerialization.a clangDriver.a clangCodeGen.a \
-           clangSema.a clangStaticAnalyzerCheckers.a clangStaticAnalyzerCore.a clangAnalysis.a clangRewrite.a \
+           clangSema.a clangStaticAnalyzerFrontend.a clangStaticAnalyzerCheckers.a clangStaticAnalyzerCore.a clangAnalysis.a clangRewrite.a \
            clangAST.a clangParse.a clangLex.a clangBasic.a
 
 include $(CLANG_LEVEL)/Makefile
diff --git a/examples/wpa/CMakeLists.txt b/examples/wpa/CMakeLists.txt
index c997c69453f..ad1bb8e36b0 100644
--- a/examples/wpa/CMakeLists.txt
+++ b/examples/wpa/CMakeLists.txt
@@ -5,6 +5,7 @@ set(LLVM_USED_LIBS
   clangSema
   clangAnalysis
   clangSerialization
+  clangStaticAnalyzerFrontend
   clangStaticAnalyzerCheckers
   clangStaticAnalyzerCore
   clangRewrite
diff --git a/examples/wpa/Makefile b/examples/wpa/Makefile
index af0f843149c..2ce2040c87c 100644
--- a/examples/wpa/Makefile
+++ b/examples/wpa/Makefile
@@ -16,7 +16,7 @@ NO_INSTALL = 1
 TOOL_NO_EXPORTS = 1
 
 LINK_COMPONENTS := asmparser bitreader mc core
-USEDLIBS = clangStaticAnalyzerCheckers.a clangStaticAnalyzerCore.a clangIndex.a clangFrontend.a clangDriver.a \
+USEDLIBS = clangStaticAnalyzerFrontend.a clangStaticAnalyzerCheckers.a clangStaticAnalyzerCore.a clangIndex.a clangFrontend.a clangDriver.a \
 	   clangSema.a clangAnalysis.a clangSerialization.a \
            clangAST.a clangParse.a clangLex.a clangBasic.a
 
diff --git a/lib/FrontendTool/CMakeLists.txt b/lib/FrontendTool/CMakeLists.txt
index c367695d572..720ce2adf12 100644
--- a/lib/FrontendTool/CMakeLists.txt
+++ b/lib/FrontendTool/CMakeLists.txt
@@ -1,5 +1,5 @@
 set(LLVM_USED_LIBS clangDriver clangFrontend clangRewrite clangCodeGen 
-    clangStaticAnalyzerCheckers clangStaticAnalyzerCore)
+    clangStaticAnalyzerFrontend clangStaticAnalyzerCheckers clangStaticAnalyzerCore)
 
 add_clang_library(clangFrontendTool
   ExecuteCompilerInvocation.cpp
diff --git a/lib/StaticAnalyzer/CMakeLists.txt b/lib/StaticAnalyzer/CMakeLists.txt
index b2b778a4376..3d1509254f5 100644
--- a/lib/StaticAnalyzer/CMakeLists.txt
+++ b/lib/StaticAnalyzer/CMakeLists.txt
@@ -1,2 +1,3 @@
 add_subdirectory(Core)
 add_subdirectory(Checkers)
+add_subdirectory(Frontend)
diff --git a/lib/StaticAnalyzer/Checkers/CMakeLists.txt b/lib/StaticAnalyzer/Checkers/CMakeLists.txt
index 48e5b633417..f363cdef8ee 100644
--- a/lib/StaticAnalyzer/Checkers/CMakeLists.txt
+++ b/lib/StaticAnalyzer/Checkers/CMakeLists.txt
@@ -2,7 +2,6 @@ set(LLVM_USED_LIBS clangBasic clangAST)
 
 add_clang_library(clangStaticAnalyzerCheckers
   AdjustedReturnValueChecker.cpp
-  AnalysisConsumer.cpp
   AnalyzerStatsChecker.cpp
   ArrayBoundChecker.cpp
   ArrayBoundCheckerV2.cpp
diff --git a/lib/StaticAnalyzer/Checkers/AnalysisConsumer.cpp b/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
similarity index 99%
rename from lib/StaticAnalyzer/Checkers/AnalysisConsumer.cpp
rename to lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
index 497ae33af01..394280f80cb 100644
--- a/lib/StaticAnalyzer/Checkers/AnalysisConsumer.cpp
+++ b/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
@@ -30,8 +30,8 @@
 #include "clang/StaticAnalyzer/Core/PathDiagnosticClients.h"
 
 // FIXME: Restructure checker registration.
-#include "ExperimentalChecks.h"
-#include "InternalChecks.h"
+#include "../Checkers/ExperimentalChecks.h"
+#include "../Checkers/InternalChecks.h"
 
 #include "clang/Basic/FileManager.h"
 #include "clang/Basic/SourceManager.h"
diff --git a/lib/StaticAnalyzer/Frontend/CMakeLists.txt b/lib/StaticAnalyzer/Frontend/CMakeLists.txt
new file mode 100644
index 00000000000..03b58b1df7f
--- /dev/null
+++ b/lib/StaticAnalyzer/Frontend/CMakeLists.txt
@@ -0,0 +1,10 @@
+set(LLVM_NO_RTTI 1)
+
+set(LLVM_USED_LIBS clangBasic clangLex clangAST clangFrontend clangRewrite)
+
+add_clang_library(clangStaticAnalyzerFrontend
+  AnalysisConsumer.cpp
+  )
+
+add_dependencies(clangStaticAnalyzerCheckers clangStaticAnalyzerCore ClangAttrClasses ClangAttrList ClangDeclNodes
+                 ClangStmtNodes)
diff --git a/lib/StaticAnalyzer/Frontend/Makefile b/lib/StaticAnalyzer/Frontend/Makefile
new file mode 100644
index 00000000000..1e6561e555b
--- /dev/null
+++ b/lib/StaticAnalyzer/Frontend/Makefile
@@ -0,0 +1,17 @@
+##===- clang/lib/StaticAnalyzer/Frontend/Makefile ----------*- Makefile -*-===##
+# 
+#                     The LLVM Compiler Infrastructure
+#
+# This file is distributed under the University of Illinois Open Source
+# License. See LICENSE.TXT for details.
+# 
+##===----------------------------------------------------------------------===##
+#
+# Starting point into the static analyzer land for the driver.
+#
+##===----------------------------------------------------------------------===##
+
+CLANG_LEVEL := ../../..
+LIBRARYNAME := clangStaticAnalyzerFrontend
+
+include $(CLANG_LEVEL)/Makefile
diff --git a/lib/StaticAnalyzer/Makefile b/lib/StaticAnalyzer/Makefile
index f762531b823..a23554de21d 100644
--- a/lib/StaticAnalyzer/Makefile
+++ b/lib/StaticAnalyzer/Makefile
@@ -12,6 +12,6 @@
 ##===----------------------------------------------------------------------===##
 
 CLANG_LEVEL := ../..
-PARALLEL_DIRS := Core Checkers
+PARALLEL_DIRS := Core Checkers Frontend
 
 include $(CLANG_LEVEL)/Makefile
diff --git a/tools/driver/CMakeLists.txt b/tools/driver/CMakeLists.txt
index d948eb93f56..6dc47d656cf 100644
--- a/tools/driver/CMakeLists.txt
+++ b/tools/driver/CMakeLists.txt
@@ -12,6 +12,7 @@ set( LLVM_USED_LIBS
   clangRewrite
   clangSema
   clangSerialization
+  clangStaticAnalyzerFrontend
   clangStaticAnalyzerCheckers
   clangStaticAnalyzerCore
   )
diff --git a/tools/driver/Makefile b/tools/driver/Makefile
index c01db5488e6..d96f9505ffe 100644
--- a/tools/driver/Makefile
+++ b/tools/driver/Makefile
@@ -39,7 +39,8 @@ LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader bitwriter codegen \
                    ipo selectiondag
 USEDLIBS = clangFrontendTool.a clangFrontend.a clangDriver.a \
            clangSerialization.a clangCodeGen.a clangParse.a clangSema.a \
-           clangStaticAnalyzerCheckers.a clangStaticAnalyzerCore.a \
+           clangStaticAnalyzerFrontend.a clangStaticAnalyzerCheckers.a \
+           clangStaticAnalyzerCore.a \
            clangAnalysis.a clangIndex.a clangRewrite.a \
            clangAST.a clangLex.a clangBasic.a
 
-- 
GitLab