summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2015-03-23 12:49:15 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2015-03-23 12:49:15 +0000
commite71037123b266a4d81a3f568d773b58e7fd91285 (patch)
tree7a5342114bdb93282e059eb61cbd367f65daa7ff /clang-tools-extra
parent9e925c1d66f01026883250553fe2894fa05e918b (diff)
downloadbcm5719-llvm-e71037123b266a4d81a3f568d773b58e7fd91285.tar.gz
bcm5719-llvm-e71037123b266a4d81a3f568d773b58e7fd91285.zip
Make helpers static. clang-tools edition.
Also purge dead code found by it. NFC. llvm-svn: 232948
Diffstat (limited to 'clang-tools-extra')
-rw-r--r--clang-tools-extra/clang-apply-replacements/tool/ClangApplyReplacementsMain.cpp20
-rw-r--r--clang-tools-extra/clang-modernize/AddOverride/AddOverride.cpp2
-rw-r--r--clang-tools-extra/clang-modernize/LoopConvert/LoopConvert.cpp2
-rw-r--r--clang-tools-extra/clang-modernize/PassByValue/PassByValue.cpp2
-rw-r--r--clang-tools-extra/clang-modernize/UseAuto/UseAuto.cpp2
-rw-r--r--clang-tools-extra/clang-modernize/UseNullptr/UseNullptr.cpp2
-rw-r--r--clang-tools-extra/clang-modernize/tool/ClangModernize.cpp10
-rw-r--r--clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.cpp4
-rw-r--r--clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp10
-rw-r--r--clang-tools-extra/clang-tidy/readability/NamespaceCommentCheck.cpp7
-rw-r--r--clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp4
-rw-r--r--clang-tools-extra/modularize/CoverageChecker.h7
-rw-r--r--clang-tools-extra/modularize/Modularize.cpp25
-rw-r--r--clang-tools-extra/modularize/ModularizeUtilities.cpp4
-rw-r--r--clang-tools-extra/modularize/PreprocessorTracker.cpp105
-rw-r--r--clang-tools-extra/pp-trace/PPCallbacksTracker.cpp6
-rw-r--r--clang-tools-extra/pp-trace/PPTrace.cpp22
17 files changed, 88 insertions, 146 deletions
diff --git a/clang-tools-extra/clang-apply-replacements/tool/ClangApplyReplacementsMain.cpp b/clang-tools-extra/clang-apply-replacements/tool/ClangApplyReplacementsMain.cpp
index 50ce010bd83..ed1b2da77a3 100644
--- a/clang-tools-extra/clang-apply-replacements/tool/ClangApplyReplacementsMain.cpp
+++ b/clang-tools-extra/clang-apply-replacements/tool/ClangApplyReplacementsMain.cpp
@@ -66,6 +66,7 @@ static cl::opt<std::string>
FormatStyleOpt("style", cl::desc(format::StyleOptionHelpDescription),
cl::init("LLVM"), cl::cat(FormattingCategory));
+namespace {
// Helper object to remove the TUReplacement files (triggered by
// "remove-change-desc-files" command line option) when exiting current scope.
class ScopedFileRemover {
@@ -82,8 +83,9 @@ private:
const TUReplacementFiles &TURFiles;
clang::DiagnosticsEngine &Diag;
};
+} // namespace
-void printVersion() {
+static void printVersion() {
outs() << "clang-apply-replacements version " CLANG_VERSION_STRING << "\n";
}
@@ -134,9 +136,9 @@ getRewrittenData(const std::vector<tooling::Replacement> &Replacements,
///
/// \returns \li true if all replacements applied successfully.
/// \li false if at least one replacement failed to apply.
-bool applyReplacements(const std::vector<tooling::Replacement> &Replacements,
- std::string &Result,
- DiagnosticsEngine &Diagnostics) {
+static bool
+applyReplacements(const std::vector<tooling::Replacement> &Replacements,
+ std::string &Result, DiagnosticsEngine &Diagnostics) {
FileManager Files((FileSystemOptions()));
SourceManager SM(Diagnostics, Files);
Rewriter Rewrites(SM, LangOptions());
@@ -161,11 +163,11 @@ bool applyReplacements(const std::vector<tooling::Replacement> &Replacements,
/// \returns \li true if reformatting replacements were all successfully
/// applied.
/// \li false if at least one reformatting replacement failed to apply.
-bool applyFormatting(const std::vector<tooling::Replacement> &Replacements,
- const StringRef FileData,
- std::string &FormattedFileData,
- const format::FormatStyle &FormatStyle,
- DiagnosticsEngine &Diagnostics) {
+static bool
+applyFormatting(const std::vector<tooling::Replacement> &Replacements,
+ const StringRef FileData, std::string &FormattedFileData,
+ const format::FormatStyle &FormatStyle,
+ DiagnosticsEngine &Diagnostics) {
assert(!Replacements.empty() && "Need at least one replacement");
RangeVector Ranges = calculateChangedRanges(Replacements);
diff --git a/clang-tools-extra/clang-modernize/AddOverride/AddOverride.cpp b/clang-tools-extra/clang-modernize/AddOverride/AddOverride.cpp
index c655cd615ed..fdfde5f2e37 100644
--- a/clang-tools-extra/clang-modernize/AddOverride/AddOverride.cpp
+++ b/clang-tools-extra/clang-modernize/AddOverride/AddOverride.cpp
@@ -56,6 +56,7 @@ bool AddOverrideTransform::handleBeginSource(clang::CompilerInstance &CI,
return Transform::handleBeginSource(CI, Filename);
}
+namespace {
struct AddOverrideFactory : TransformFactory {
AddOverrideFactory() {
// if detecting macros is enabled, do not impose requirements on the
@@ -73,6 +74,7 @@ struct AddOverrideFactory : TransformFactory {
return new AddOverrideTransform(Opts);
}
};
+} // namespace
// Register the factory using this statically initialized variable.
static TransformFactoryRegistry::Add<AddOverrideFactory>
diff --git a/clang-tools-extra/clang-modernize/LoopConvert/LoopConvert.cpp b/clang-tools-extra/clang-modernize/LoopConvert/LoopConvert.cpp
index 9c30d5f5ea1..408563dc848 100644
--- a/clang-tools-extra/clang-modernize/LoopConvert/LoopConvert.cpp
+++ b/clang-tools-extra/clang-modernize/LoopConvert/LoopConvert.cpp
@@ -69,6 +69,7 @@ LoopConvertTransform::handleBeginSource(clang::CompilerInstance &CI,
return Transform::handleBeginSource(CI, Filename);
}
+namespace {
struct LoopConvertFactory : TransformFactory {
LoopConvertFactory() {
Since.Clang = Version(3, 0);
@@ -81,6 +82,7 @@ struct LoopConvertFactory : TransformFactory {
return new LoopConvertTransform(Opts);
}
};
+} // namespace
// Register the factory using this statically initialized variable.
static TransformFactoryRegistry::Add<LoopConvertFactory>
diff --git a/clang-tools-extra/clang-modernize/PassByValue/PassByValue.cpp b/clang-tools-extra/clang-modernize/PassByValue/PassByValue.cpp
index ac6e568defc..40b3d659d90 100644
--- a/clang-tools-extra/clang-modernize/PassByValue/PassByValue.cpp
+++ b/clang-tools-extra/clang-modernize/PassByValue/PassByValue.cpp
@@ -53,6 +53,7 @@ bool PassByValueTransform::handleBeginSource(CompilerInstance &CI,
return Transform::handleBeginSource(CI, Filename);
}
+namespace {
struct PassByValueFactory : TransformFactory {
PassByValueFactory() {
// Based on the Replace Auto-Ptr Transform that is also using std::move().
@@ -66,6 +67,7 @@ struct PassByValueFactory : TransformFactory {
return new PassByValueTransform(Opts);
}
};
+} // namespace
// Register the factory using this statically initialized variable.
static TransformFactoryRegistry::Add<PassByValueFactory>
diff --git a/clang-tools-extra/clang-modernize/UseAuto/UseAuto.cpp b/clang-tools-extra/clang-modernize/UseAuto/UseAuto.cpp
index e3d958b9231..a9c81873cda 100644
--- a/clang-tools-extra/clang-modernize/UseAuto/UseAuto.cpp
+++ b/clang-tools-extra/clang-modernize/UseAuto/UseAuto.cpp
@@ -46,6 +46,7 @@ int UseAutoTransform::apply(const clang::tooling::CompilationDatabase &Database,
return 0;
}
+namespace {
struct UseAutoFactory : TransformFactory {
UseAutoFactory() {
Since.Clang = Version(2, 9);
@@ -58,6 +59,7 @@ struct UseAutoFactory : TransformFactory {
return new UseAutoTransform(Opts);
}
};
+} // namespace
// Register the factory using this statically initialized variable.
static TransformFactoryRegistry::Add<UseAutoFactory>
diff --git a/clang-tools-extra/clang-modernize/UseNullptr/UseNullptr.cpp b/clang-tools-extra/clang-modernize/UseNullptr/UseNullptr.cpp
index f76a2b28561..916d1c73707 100644
--- a/clang-tools-extra/clang-modernize/UseNullptr/UseNullptr.cpp
+++ b/clang-tools-extra/clang-modernize/UseNullptr/UseNullptr.cpp
@@ -56,6 +56,7 @@ int UseNullptrTransform::apply(const CompilationDatabase &Database,
return 0;
}
+namespace {
struct UseNullptrFactory : TransformFactory {
UseNullptrFactory() {
Since.Clang = Version(3, 0);
@@ -68,6 +69,7 @@ struct UseNullptrFactory : TransformFactory {
return new UseNullptrTransform(Opts);
}
};
+} // namespace
// Register the factory using this statically initialized variable.
static TransformFactoryRegistry::Add<UseNullptrFactory>
diff --git a/clang-tools-extra/clang-modernize/tool/ClangModernize.cpp b/clang-tools-extra/clang-modernize/tool/ClangModernize.cpp
index 842a28e8e93..e8066c0960a 100644
--- a/clang-tools-extra/clang-modernize/tool/ClangModernize.cpp
+++ b/clang-tools-extra/clang-modernize/tool/ClangModernize.cpp
@@ -36,7 +36,7 @@ namespace cl = llvm::cl;
using namespace clang;
using namespace clang::tooling;
-TransformOptions GlobalOptions;
+static TransformOptions GlobalOptions;
// All options must belong to locally defined categories for them to get shown
// by -help. We explicitly hide everything else (except -help and -version).
@@ -45,7 +45,7 @@ static cl::OptionCategory FormattingCategory("Formatting Options");
static cl::OptionCategory IncludeExcludeCategory("Inclusion/Exclusion Options");
static cl::OptionCategory SerializeCategory("Serialization Options");
-const cl::OptionCategory *VisibleCategories[] = {
+static const cl::OptionCategory *VisibleCategories[] = {
&GeneralCategory, &FormattingCategory, &IncludeExcludeCategory,
&SerializeCategory, &TransformCategory, &TransformsOptionsCategory,
};
@@ -112,7 +112,7 @@ TimingDirectoryName("perf",
cl::ValueOptional, cl::value_desc("directory name"),
cl::cat(GeneralCategory));
-cl::opt<std::string> SupportedCompilers(
+static cl::opt<std::string> SupportedCompilers(
"for-compilers", cl::value_desc("string"),
cl::desc("Select transforms targeting the intersection of\n"
"language features supported by the given compilers.\n"
@@ -189,7 +189,7 @@ SerializeLocation("serialize-dir",
////////////////////////////////////////////////////////////////////////////////
-void printVersion() {
+static void printVersion() {
llvm::outs() << "clang-modernizer version " CLANG_VERSION_STRING
<< "\n";
}
@@ -248,7 +248,7 @@ static CompilerVersions handleSupportedCompilers(const char *ProgName,
return RequiredVersions;
}
-std::unique_ptr<CompilationDatabase>
+static std::unique_ptr<CompilationDatabase>
autoDetectCompilations(std::string &ErrorMessage) {
// Auto-detect a compilation database from BuildPath.
if (BuildPath.getNumOccurrences() > 0)
diff --git a/clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.cpp b/clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.cpp
index a4cba6469eb..7d4cf7e44e6 100644
--- a/clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.cpp
+++ b/clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.cpp
@@ -33,7 +33,7 @@ AvoidCStyleCastsCheck::registerMatchers(ast_matchers::MatchFinder *Finder) {
this);
}
-bool needsConstCast(QualType SourceType, QualType DestType) {
+static bool needsConstCast(QualType SourceType, QualType DestType) {
SourceType = SourceType.getNonReferenceType();
DestType = DestType.getNonReferenceType();
while (SourceType->isPointerType() && DestType->isPointerType()) {
@@ -45,7 +45,7 @@ bool needsConstCast(QualType SourceType, QualType DestType) {
return false;
}
-bool pointedTypesAreEqual(QualType SourceType, QualType DestType) {
+static bool pointedTypesAreEqual(QualType SourceType, QualType DestType) {
SourceType = SourceType.getNonReferenceType();
DestType = DestType.getNonReferenceType();
while (SourceType->isPointerType() && DestType->isPointerType()) {
diff --git a/clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp b/clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp
index b880c96f3d9..d262f9fa89c 100644
--- a/clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp
+++ b/clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp
@@ -26,9 +26,9 @@ void ExplicitConstructorCheck::registerMatchers(MatchFinder *Finder) {
// Looks for the token matching the predicate and returns the range of the found
// token including trailing whitespace.
-SourceRange FindToken(const SourceManager &Sources, LangOptions LangOpts,
- SourceLocation StartLoc, SourceLocation EndLoc,
- bool (*Pred)(const Token &)) {
+static SourceRange FindToken(const SourceManager &Sources, LangOptions LangOpts,
+ SourceLocation StartLoc, SourceLocation EndLoc,
+ bool (*Pred)(const Token &)) {
if (StartLoc.isMacroID() || EndLoc.isMacroID())
return SourceRange();
FileID File = Sources.getFileID(Sources.getSpellingLoc(StartLoc));
@@ -49,14 +49,14 @@ SourceRange FindToken(const SourceManager &Sources, LangOptions LangOpts,
return SourceRange();
}
-bool declIsStdInitializerList(const NamedDecl *D) {
+static bool declIsStdInitializerList(const NamedDecl *D) {
// First use the fast getName() method to avoid unnecessary calls to the
// slow getQualifiedNameAsString().
return D->getName() == "initializer_list" &&
D->getQualifiedNameAsString() == "std::initializer_list";
}
-bool isStdInitializerList(QualType Type) {
+static bool isStdInitializerList(QualType Type) {
Type = Type.getCanonicalType();
if (const auto *TS = Type->getAs<TemplateSpecializationType>()) {
if (const TemplateDecl *TD = TS->getTemplateName().getAsTemplateDecl())
diff --git a/clang-tools-extra/clang-tidy/readability/NamespaceCommentCheck.cpp b/clang-tools-extra/clang-tidy/readability/NamespaceCommentCheck.cpp
index 7264f49e8bd..69f456bed5d 100644
--- a/clang-tools-extra/clang-tidy/readability/NamespaceCommentCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/NamespaceCommentCheck.cpp
@@ -37,13 +37,14 @@ void NamespaceCommentCheck::registerMatchers(MatchFinder *Finder) {
Finder->addMatcher(namespaceDecl().bind("namespace"), this);
}
-bool locationsInSameFile(const SourceManager &Sources, SourceLocation Loc1,
- SourceLocation Loc2) {
+static bool locationsInSameFile(const SourceManager &Sources,
+ SourceLocation Loc1, SourceLocation Loc2) {
return Loc1.isFileID() && Loc2.isFileID() &&
Sources.getFileID(Loc1) == Sources.getFileID(Loc2);
}
-std::string getNamespaceComment(const NamespaceDecl *ND, bool InsertLineBreak) {
+static std::string getNamespaceComment(const NamespaceDecl *ND,
+ bool InsertLineBreak) {
std::string Fix = "// namespace";
if (!ND->isAnonymousNamespace())
Fix.append(" ").append(ND->getNameAsString());
diff --git a/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp b/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
index 398d2d06444..a9437a846d8 100644
--- a/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
+++ b/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
@@ -215,7 +215,7 @@ static void printProfileData(const ProfileData &Profile,
OS.flush();
}
-std::unique_ptr<ClangTidyOptionsProvider> createOptionsProvider() {
+static std::unique_ptr<ClangTidyOptionsProvider> createOptionsProvider() {
ClangTidyGlobalOptions GlobalOptions;
if (std::error_code Err = parseLineFilter(LineFilter, GlobalOptions)) {
llvm::errs() << "Invalid LineFilter: " << Err.message() << "\n\nUsage:\n";
@@ -261,7 +261,7 @@ std::unique_ptr<ClangTidyOptionsProvider> createOptionsProvider() {
OverrideOptions);
}
-int clangTidyMain(int argc, const char **argv) {
+static int clangTidyMain(int argc, const char **argv) {
CommonOptionsParser OptionsParser(argc, argv, ClangTidyCategory);
auto OptionsProvider = createOptionsProvider();
diff --git a/clang-tools-extra/modularize/CoverageChecker.h b/clang-tools-extra/modularize/CoverageChecker.h
index 321dcae756f..a0e5f6f5f7f 100644
--- a/clang-tools-extra/modularize/CoverageChecker.h
+++ b/clang-tools-extra/modularize/CoverageChecker.h
@@ -32,13 +32,6 @@
namespace Modularize {
-/// Subclass TargetOptions so we can construct it inline with
-/// the minimal option, the triple.
-class ModuleMapTargetOptions : public clang::TargetOptions {
-public:
- ModuleMapTargetOptions() { Triple = llvm::sys::getDefaultTargetTriple(); }
-};
-
/// Module map checker class.
/// This is the heart of the checker.
/// The doChecks function does the main work.
diff --git a/clang-tools-extra/modularize/Modularize.cpp b/clang-tools-extra/modularize/Modularize.cpp
index f113398495c..38f1f1ac655 100644
--- a/clang-tools-extra/modularize/Modularize.cpp
+++ b/clang-tools-extra/modularize/Modularize.cpp
@@ -252,18 +252,18 @@ using namespace llvm::opt;
using namespace Modularize;
// Option to specify a file name for a list of header files to check.
-cl::list<std::string>
-ListFileNames(cl::Positional, cl::value_desc("list"),
- cl::desc("<list of one or more header list files>"),
- cl::CommaSeparated);
+static cl::list<std::string>
+ ListFileNames(cl::Positional, cl::value_desc("list"),
+ cl::desc("<list of one or more header list files>"),
+ cl::CommaSeparated);
// Collect all other arguments, which will be passed to the front end.
-cl::list<std::string>
-CC1Arguments(cl::ConsumeAfter,
- cl::desc("<arguments to be passed to front end>..."));
+static cl::list<std::string>
+ CC1Arguments(cl::ConsumeAfter,
+ cl::desc("<arguments to be passed to front end>..."));
// Option to specify a prefix to be prepended to the header names.
-cl::opt<std::string> HeaderPrefix(
+static cl::opt<std::string> HeaderPrefix(
"prefix", cl::init(""),
cl::desc(
"Prepend header file paths with this prefix."
@@ -272,7 +272,7 @@ cl::opt<std::string> HeaderPrefix(
// Option for assistant mode, telling modularize to output a module map
// based on the headers list, and where to put it.
-cl::opt<std::string> ModuleMapPath(
+static cl::opt<std::string> ModuleMapPath(
"module-map-path", cl::init(""),
cl::desc("Turn on module map output and specify output path or file name."
" If no path is specified and if prefix option is specified,"
@@ -280,7 +280,7 @@ cl::opt<std::string> ModuleMapPath(
// Option for assistant mode, telling modularize to output a module map
// based on the headers list, and where to put it.
-cl::opt<std::string>
+static cl::opt<std::string>
RootModule("root-module", cl::init(""),
cl::desc("Specify the name of the root module."));
@@ -314,7 +314,7 @@ const char *Argv0;
std::string CommandLine;
// Helper function for finding the input file in an arguments list.
-std::string findInputFile(const CommandLineArguments &CLArgs) {
+static std::string findInputFile(const CommandLineArguments &CLArgs) {
std::unique_ptr<OptTable> Opts(createDriverOptTable());
const unsigned IncludedFlagsBitmask = options::CC1Option;
unsigned MissingArgIndex, MissingArgCount;
@@ -332,7 +332,8 @@ std::string findInputFile(const CommandLineArguments &CLArgs) {
// This arguments adjuster inserts "-include (file)" arguments for header
// dependencies.
-ArgumentsAdjuster getAddDependenciesAdjuster(DependencyMap &Dependencies) {
+static ArgumentsAdjuster
+getAddDependenciesAdjuster(DependencyMap &Dependencies) {
return [&Dependencies](const CommandLineArguments &Args) {
std::string InputFile = findInputFile(Args);
DependentsVector &FileDependents = Dependencies[InputFile];
diff --git a/clang-tools-extra/modularize/ModularizeUtilities.cpp b/clang-tools-extra/modularize/ModularizeUtilities.cpp
index c54a6f44b72..1bbae3c84ab 100644
--- a/clang-tools-extra/modularize/ModularizeUtilities.cpp
+++ b/clang-tools-extra/modularize/ModularizeUtilities.cpp
@@ -29,12 +29,14 @@ using namespace clang;
using namespace llvm;
using namespace Modularize;
+namespace {
// Subclass TargetOptions so we can construct it inline with
// the minimal option, the triple.
class ModuleMapTargetOptions : public clang::TargetOptions {
public:
ModuleMapTargetOptions() { Triple = llvm::sys::getDefaultTargetTriple(); }
};
+} // namespace
// ModularizeUtilities class implementation.
@@ -344,7 +346,7 @@ bool ModularizeUtilities::collectUmbrellaHeaders(StringRef UmbrellaDirName,
// Replace .. embedded in path for purposes of having
// a canonical path.
-std::string replaceDotDot(StringRef Path) {
+static std::string replaceDotDot(StringRef Path) {
SmallString<128> Buffer;
llvm::sys::path::const_iterator B = llvm::sys::path::begin(Path),
E = llvm::sys::path::end(Path);
diff --git a/clang-tools-extra/modularize/PreprocessorTracker.cpp b/clang-tools-extra/modularize/PreprocessorTracker.cpp
index 0b761466b3f..c48f27e0e01 100644
--- a/clang-tools-extra/modularize/PreprocessorTracker.cpp
+++ b/clang-tools-extra/modularize/PreprocessorTracker.cpp
@@ -255,9 +255,6 @@
namespace Modularize {
-// Forwards.
-class PreprocessorTrackerImpl;
-
// Some handle types
typedef llvm::PooledStringPtr StringHandle;
@@ -303,7 +300,8 @@ static void getSourceLocationLineAndColumn(clang::Preprocessor &PP,
}
// Retrieve source snippet from file image.
-std::string getSourceString(clang::Preprocessor &PP, clang::SourceRange Range) {
+static std::string getSourceString(clang::Preprocessor &PP,
+ clang::SourceRange Range) {
clang::SourceLocation BeginLoc = Range.getBegin();
clang::SourceLocation EndLoc = Range.getEnd();
const char *BeginPtr = PP.getSourceManager().getCharacterData(BeginLoc);
@@ -313,7 +311,8 @@ std::string getSourceString(clang::Preprocessor &PP, clang::SourceRange Range) {
}
// Retrieve source line from file image given a location.
-std::string getSourceLine(clang::Preprocessor &PP, clang::SourceLocation Loc) {
+static std::string getSourceLine(clang::Preprocessor &PP,
+ clang::SourceLocation Loc) {
const llvm::MemoryBuffer *MemBuffer =
PP.getSourceManager().getBuffer(PP.getSourceManager().getFileID(Loc));
const char *Buffer = MemBuffer->getBufferStart();
@@ -338,8 +337,8 @@ std::string getSourceLine(clang::Preprocessor &PP, clang::SourceLocation Loc) {
}
// Retrieve source line from file image given a file ID and line number.
-std::string getSourceLine(clang::Preprocessor &PP, clang::FileID FileID,
- int Line) {
+static std::string getSourceLine(clang::Preprocessor &PP, clang::FileID FileID,
+ int Line) {
const llvm::MemoryBuffer *MemBuffer = PP.getSourceManager().getBuffer(FileID);
const char *Buffer = MemBuffer->getBufferStart();
const char *BufferEnd = MemBuffer->getBufferEnd();
@@ -375,10 +374,10 @@ std::string getSourceLine(clang::Preprocessor &PP, clang::FileID FileID,
// for the macro instance, which in the case of a function-style
// macro will be a ')', but for an object-style macro, it
// will be the macro name itself.
-std::string getMacroUnexpandedString(clang::SourceRange Range,
- clang::Preprocessor &PP,
- llvm::StringRef MacroName,
- const clang::MacroInfo *MI) {
+static std::string getMacroUnexpandedString(clang::SourceRange Range,
+ clang::Preprocessor &PP,
+ llvm::StringRef MacroName,
+ const clang::MacroInfo *MI) {
clang::SourceLocation BeginLoc(Range.getBegin());
const char *BeginPtr = PP.getSourceManager().getCharacterData(BeginLoc);
size_t Length;
@@ -400,10 +399,10 @@ std::string getMacroUnexpandedString(clang::SourceRange Range,
// allows modularize to effectively work with respect to macro
// consistency checking, although it displays the incorrect
// expansion in error messages.
-std::string getMacroExpandedString(clang::Preprocessor &PP,
- llvm::StringRef MacroName,
- const clang::MacroInfo *MI,
- const clang::MacroArgs *Args) {
+static std::string getMacroExpandedString(clang::Preprocessor &PP,
+ llvm::StringRef MacroName,
+ const clang::MacroInfo *MI,
+ const clang::MacroArgs *Args) {
std::string Expanded;
// Walk over the macro Tokens.
typedef clang::MacroInfo::tokens_iterator Iter;
@@ -458,77 +457,7 @@ std::string getMacroExpandedString(clang::Preprocessor &PP,
return Expanded;
}
-// Get the string representing a vector of Tokens.
-std::string
-getTokensSpellingString(clang::Preprocessor &PP,
- llvm::SmallVectorImpl<clang::Token> &Tokens) {
- std::string Expanded;
- // Walk over the macro Tokens.
- typedef llvm::SmallVectorImpl<clang::Token>::iterator Iter;
- for (Iter I = Tokens.begin(), E = Tokens.end(); I != E; ++I)
- Expanded += PP.getSpelling(*I); // Not an identifier.
- return llvm::StringRef(Expanded).trim().str();
-}
-
-// Get the expansion for a macro instance, given the information
-// provided by PPCallbacks.
-std::string getExpandedString(clang::Preprocessor &PP,
- llvm::StringRef MacroName,
- const clang::MacroInfo *MI,
- const clang::MacroArgs *Args) {
- std::string Expanded;
- // Walk over the macro Tokens.
- typedef clang::MacroInfo::tokens_iterator Iter;
- for (Iter I = MI->tokens_begin(), E = MI->tokens_end(); I != E; ++I) {
- clang::IdentifierInfo *II = I->getIdentifierInfo();
- int ArgNo = (II && Args ? MI->getArgumentNum(II) : -1);
- if (ArgNo == -1) {
- // This isn't an argument, just add it.
- if (II == nullptr)
- Expanded += PP.getSpelling((*I)); // Not an identifier.
- else {
- // Token is for an identifier.
- std::string Name = II->getName().str();
- // Check for nexted macro references.
- clang::MacroInfo *MacroInfo = PP.getMacroInfo(II);
- if (MacroInfo)
- Expanded += getMacroExpandedString(PP, Name, MacroInfo, nullptr);
- else
- Expanded += Name;
- }
- continue;
- }
- // We get here if it's a function-style macro with arguments.
- const clang::Token *ResultArgToks;
- const clang::Token *ArgTok = Args->getUnexpArgument(ArgNo);
- if (Args->ArgNeedsPreexpansion(ArgTok, PP))
- ResultArgToks = &(const_cast<clang::MacroArgs *>(Args))
- ->getPreExpArgument(ArgNo, MI, PP)[0];
- else
- ResultArgToks = ArgTok; // Use non-preexpanded Tokens.
- // If the arg token didn't expand into anything, ignore it.
- if (ResultArgToks->is(clang::tok::eof))
- continue;
- unsigned NumToks = clang::MacroArgs::getArgLength(ResultArgToks);
- // Append the resulting argument expansions.
- for (unsigned ArgumentIndex = 0; ArgumentIndex < NumToks; ++ArgumentIndex) {
- const clang::Token &AT = ResultArgToks[ArgumentIndex];
- clang::IdentifierInfo *II = AT.getIdentifierInfo();
- if (II == nullptr)
- Expanded += PP.getSpelling(AT); // Not an identifier.
- else {
- // It's an identifier. Check for further expansion.
- std::string Name = II->getName().str();
- clang::MacroInfo *MacroInfo = PP.getMacroInfo(II);
- if (MacroInfo)
- Expanded += getMacroExpandedString(PP, Name, MacroInfo, nullptr);
- else
- Expanded += Name;
- }
- }
- }
- return Expanded;
-}
+namespace {
// ConditionValueKind strings.
const char *
@@ -805,6 +734,8 @@ public:
std::vector<ConditionalExpansionInstance> ConditionalExpansionInstances;
};
+class PreprocessorTrackerImpl;
+
// Preprocessor callbacks for modularize.
//
// This class derives from the Clang PPCallbacks class to track preprocessor
@@ -1350,6 +1281,8 @@ private:
bool InNestedHeader;
};
+} // namespace
+
// PreprocessorTracker functions.
// PreprocessorTracker desctructor.
diff --git a/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp b/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
index 0fe535a21f8..4f41c4c6321 100644
--- a/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
+++ b/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
@@ -78,10 +78,8 @@ static const char *PragmaMessageKindStrings[] = { "PMK_Message", "PMK_Warning",
"PMK_Error" };
// ConditionValueKind strings.
-const char *
-ConditionValueKindStrings[] = {
- "CVK_NotEvaluated", "CVK_False", "CVK_True"
-};
+static const char *ConditionValueKindStrings[] = {"CVK_NotEvaluated",
+ "CVK_False", "CVK_True"};
// Mapping strings.
static const char *MappingStrings[] = { "0", "MAP_IGNORE",
diff --git a/clang-tools-extra/pp-trace/PPTrace.cpp b/clang-tools-extra/pp-trace/PPTrace.cpp
index aae6215151f..5bfe1860779 100644
--- a/clang-tools-extra/pp-trace/PPTrace.cpp
+++ b/clang-tools-extra/pp-trace/PPTrace.cpp
@@ -82,27 +82,28 @@ using namespace llvm::opt;
// Options:
// Collect the source files.
-cl::list<std::string> SourcePaths(cl::Positional,
- cl::desc("<source0> [... <sourceN>]"),
- cl::OneOrMore);
+static cl::list<std::string> SourcePaths(cl::Positional,
+ cl::desc("<source0> [... <sourceN>]"),
+ cl::OneOrMore);
// Option to specify a list or one or more callback names to ignore.
-cl::opt<std::string> IgnoreCallbacks(
+static cl::opt<std::string> IgnoreCallbacks(
"ignore", cl::init(""),
cl::desc("Ignore callbacks, i.e. \"Callback1, Callback2...\"."));
// Option to specify the trace output file name.
-cl::opt<std::string> OutputFileName(
+static cl::opt<std::string> OutputFileName(
"output", cl::init(""),
cl::desc("Output trace to the given file name or '-' for stdout."));
// Collect all other arguments, which will be passed to the front end.
-cl::list<std::string>
-CC1Arguments(cl::ConsumeAfter,
- cl::desc("<arguments to be passed to front end>..."));
+static cl::list<std::string>
+ CC1Arguments(cl::ConsumeAfter,
+ cl::desc("<arguments to be passed to front end>..."));
// Frontend action stuff:
+namespace {
// Consumer is responsible for setting up the callbacks.
class PPTraceConsumer : public ASTConsumer {
public:
@@ -146,10 +147,11 @@ private:
SmallSet<std::string, 4> &Ignore;
std::vector<CallbackCall> &CallbackCalls;
};
+} // namespace
// Output the trace given its data structure and a stream.
-int outputPPTrace(std::vector<CallbackCall> &CallbackCalls,
- llvm::raw_ostream &OS) {
+static int outputPPTrace(std::vector<CallbackCall> &CallbackCalls,
+ llvm::raw_ostream &OS) {
// Mark start of document.
OS << "---\n";
OpenPOWER on IntegriCloud