summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/cpp11-migrate/tool/Cpp11Migrate.cpp
diff options
context:
space:
mode:
authorEdwin Vane <edwin.vane@intel.com>2013-06-05 16:39:24 +0000
committerEdwin Vane <edwin.vane@intel.com>2013-06-05 16:39:24 +0000
commit96f51713efe32b9f444e383f4ee6146ca43de023 (patch)
treed4a56e7bc3356dae704ab056cf53bd0e82d28068 /clang-tools-extra/cpp11-migrate/tool/Cpp11Migrate.cpp
parent81910d0ee156f50097c907401c89b55e4b127b67 (diff)
downloadbcm5719-llvm-96f51713efe32b9f444e383f4ee6146ca43de023.tar.gz
bcm5719-llvm-96f51713efe32b9f444e383f4ee6146ca43de023.zip
cpp11-migrate: Eliminate windows line endings
r183274 accidentally added windows line endings to changed lines. Changing them back. llvm-svn: 183322
Diffstat (limited to 'clang-tools-extra/cpp11-migrate/tool/Cpp11Migrate.cpp')
-rw-r--r--clang-tools-extra/cpp11-migrate/tool/Cpp11Migrate.cpp392
1 files changed, 196 insertions, 196 deletions
diff --git a/clang-tools-extra/cpp11-migrate/tool/Cpp11Migrate.cpp b/clang-tools-extra/cpp11-migrate/tool/Cpp11Migrate.cpp
index 3a263fccc4c..27ffafa603d 100644
--- a/clang-tools-extra/cpp11-migrate/tool/Cpp11Migrate.cpp
+++ b/clang-tools-extra/cpp11-migrate/tool/Cpp11Migrate.cpp
@@ -1,196 +1,196 @@
-//===-- cpp11-migrate/Cpp11Migrate.cpp - Main file C++11 migration tool ---===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-///
-/// \file
-/// \brief This file implements the C++11 feature migration tool main function
-/// and transformation framework.
-///
-/// See user documentation for usage instructions.
-///
-//===----------------------------------------------------------------------===//
-
-#include "Core/Transforms.h"
-#include "Core/Transform.h"
-#include "Core/PerfSupport.h"
-#include "LoopConvert/LoopConvert.h"
-#include "UseNullptr/UseNullptr.h"
-#include "UseAuto/UseAuto.h"
-#include "AddOverride/AddOverride.h"
-#include "clang/Frontend/FrontendActions.h"
-#include "clang/Tooling/CommonOptionsParser.h"
-#include "clang/Tooling/Tooling.h"
-#include "llvm/Support/Signals.h"
-
-namespace cl = llvm::cl;
-using namespace clang::tooling;
-
-static cl::opt<RiskLevel> MaxRiskLevel(
- "risk", cl::desc("Select a maximum risk level:"),
- cl::values(clEnumValN(RL_Safe, "safe", "Only safe transformations"),
- clEnumValN(RL_Reasonable, "reasonable",
- "Enable transformations that might change "
- "semantics (default)"),
- clEnumValN(RL_Risky, "risky",
- "Enable transformations that are likely to "
- "change semantics"),
- clEnumValEnd),
- cl::init(RL_Reasonable));
-
-static cl::opt<bool> FinalSyntaxCheck(
- "final-syntax-check",
- cl::desc("Check for correct syntax after applying transformations"),
- cl::init(false));
-
-static cl::opt<bool>
-SummaryMode("summary", cl::desc("Print transform summary"),
- cl::init(false));
-
-const char NoTiming[] = "no_timing";
-static cl::opt<std::string> TimingDirectoryName(
- "perf", cl::desc("Capture performance data and output to specified "
- "directory. Default: ./migrate_perf"),
- cl::init(NoTiming), cl::ValueOptional, cl::value_desc("directory name"));
-
-// TODO: Remove cl::Hidden when functionality for acknowledging include/exclude
-// options are implemented in the tool.
-static cl::opt<std::string>
-IncludePaths("include", cl::Hidden,
- cl::desc("Comma seperated list of paths to consider to be "
- "transformed"));
-static cl::opt<std::string>
-ExcludePaths("exclude", cl::Hidden,
- cl::desc("Comma seperated list of paths that can not "
- "be transformed"));
-static cl::opt<std::string>
-IncludeFromFile("include-from", cl::Hidden, cl::value_desc("filename"),
- cl::desc("File containing a list of paths to consider to "
- "be transformed"));
-static cl::opt<std::string>
-ExcludeFromFile("exclude-from", cl::Hidden, cl::value_desc("filename"),
- cl::desc("File containing a list of paths that can not be "
- "transforms"));
-
-class EndSyntaxArgumentsAdjuster : public ArgumentsAdjuster {
- CommandLineArguments Adjust(const CommandLineArguments &Args) {
- CommandLineArguments AdjustedArgs = Args;
- AdjustedArgs.push_back("-fsyntax-only");
- AdjustedArgs.push_back("-std=c++11");
- return AdjustedArgs;
- }
-};
-
-int main(int argc, const char **argv) {
- llvm::sys::PrintStackTraceOnErrorSignal();
- Transforms TransformManager;
-
- TransformManager.registerTransform(
- "loop-convert", "Make use of range-based for loops where possible",
- &ConstructTransform<LoopConvertTransform>);
- TransformManager.registerTransform(
- "use-nullptr", "Make use of nullptr keyword where possible",
- &ConstructTransform<UseNullptrTransform>);
- TransformManager.registerTransform(
- "use-auto", "Use of 'auto' type specifier",
- &ConstructTransform<UseAutoTransform>);
- TransformManager.registerTransform(
- "add-override", "Make use of override specifier where possible",
- &ConstructTransform<AddOverrideTransform>);
- // Add more transform options here.
-
- // This causes options to be parsed.
- CommonOptionsParser OptionsParser(argc, argv);
-
- // Since ExecutionTimeDirectoryName could be an empty string we compare
- // against the default value when the command line option is not specified.
- bool EnableTiming = (TimingDirectoryName != NoTiming);
- TransformManager.createSelectedTransforms(EnableTiming);
-
- if (TransformManager.begin() == TransformManager.end()) {
- llvm::errs() << "No selected transforms\n";
- return 1;
- }
-
- FileContentsByPath FileStates1, FileStates2,
- *InputFileStates = &FileStates1, *OutputFileStates = &FileStates2;
-
- SourcePerfData PerfData;
-
- // Apply transforms.
- for (Transforms::const_iterator I = TransformManager.begin(),
- E = TransformManager.end();
- I != E; ++I) {
- if ((*I)->apply(*InputFileStates, MaxRiskLevel,
- OptionsParser.getCompilations(),
- OptionsParser.getSourcePathList(), *OutputFileStates) !=
- 0) {
- // FIXME: Improve ClangTool to not abort if just one file fails.
- return 1;
- }
-
- if (EnableTiming)
- collectSourcePerfData(**I, PerfData);
-
- if (SummaryMode) {
- llvm::outs() << "Transform: " << (*I)->getName()
- << " - Accepted: "
- << (*I)->getAcceptedChanges();
- if ((*I)->getChangesNotMade()) {
- llvm::outs() << " - Rejected: "
- << (*I)->getRejectedChanges()
- << " - Deferred: "
- << (*I)->getDeferredChanges();
- }
- llvm::outs() << "\n";
- }
- std::swap(InputFileStates, OutputFileStates);
- OutputFileStates->clear();
- }
-
- // Final state of files is pointed at by InputFileStates.
-
- if (FinalSyntaxCheck) {
- ClangTool EndSyntaxTool(OptionsParser.getCompilations(),
- OptionsParser.getSourcePathList());
-
- // Add c++11 support to clang.
- EndSyntaxTool.setArgumentsAdjuster(new EndSyntaxArgumentsAdjuster);
-
- for (FileContentsByPath::const_iterator I = InputFileStates->begin(),
- E = InputFileStates->end();
- I != E; ++I) {
- EndSyntaxTool.mapVirtualFile(I->first, I->second);
- }
-
- if (EndSyntaxTool.run(newFrontendActionFactory<clang::SyntaxOnlyAction>())
- != 0) {
- return 1;
- }
- }
-
- // Write results to file.
- for (FileContentsByPath::const_iterator I = InputFileStates->begin(),
- E = InputFileStates->end();
- I != E; ++I) {
- std::string ErrorInfo;
- llvm::raw_fd_ostream FileStream(I->first.c_str(), ErrorInfo,
- llvm::raw_fd_ostream::F_Binary);
- FileStream << I->second;
- }
-
- // Report execution times.
- if (EnableTiming && !PerfData.empty()) {
- std::string DirectoryName = TimingDirectoryName;
- // Use default directory name.
- if (DirectoryName.empty())
- DirectoryName = "./migrate_perf";
- writePerfDataJSON(DirectoryName, PerfData);
- }
-
- return 0;
-}
+//===-- cpp11-migrate/Cpp11Migrate.cpp - Main file C++11 migration tool ---===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+///
+/// \file
+/// \brief This file implements the C++11 feature migration tool main function
+/// and transformation framework.
+///
+/// See user documentation for usage instructions.
+///
+//===----------------------------------------------------------------------===//
+
+#include "Core/Transforms.h"
+#include "Core/Transform.h"
+#include "Core/PerfSupport.h"
+#include "LoopConvert/LoopConvert.h"
+#include "UseNullptr/UseNullptr.h"
+#include "UseAuto/UseAuto.h"
+#include "AddOverride/AddOverride.h"
+#include "clang/Frontend/FrontendActions.h"
+#include "clang/Tooling/CommonOptionsParser.h"
+#include "clang/Tooling/Tooling.h"
+#include "llvm/Support/Signals.h"
+
+namespace cl = llvm::cl;
+using namespace clang::tooling;
+
+static cl::opt<RiskLevel> MaxRiskLevel(
+ "risk", cl::desc("Select a maximum risk level:"),
+ cl::values(clEnumValN(RL_Safe, "safe", "Only safe transformations"),
+ clEnumValN(RL_Reasonable, "reasonable",
+ "Enable transformations that might change "
+ "semantics (default)"),
+ clEnumValN(RL_Risky, "risky",
+ "Enable transformations that are likely to "
+ "change semantics"),
+ clEnumValEnd),
+ cl::init(RL_Reasonable));
+
+static cl::opt<bool> FinalSyntaxCheck(
+ "final-syntax-check",
+ cl::desc("Check for correct syntax after applying transformations"),
+ cl::init(false));
+
+static cl::opt<bool>
+SummaryMode("summary", cl::desc("Print transform summary"),
+ cl::init(false));
+
+const char NoTiming[] = "no_timing";
+static cl::opt<std::string> TimingDirectoryName(
+ "perf", cl::desc("Capture performance data and output to specified "
+ "directory. Default: ./migrate_perf"),
+ cl::init(NoTiming), cl::ValueOptional, cl::value_desc("directory name"));
+
+// TODO: Remove cl::Hidden when functionality for acknowledging include/exclude
+// options are implemented in the tool.
+static cl::opt<std::string>
+IncludePaths("include", cl::Hidden,
+ cl::desc("Comma seperated list of paths to consider to be "
+ "transformed"));
+static cl::opt<std::string>
+ExcludePaths("exclude", cl::Hidden,
+ cl::desc("Comma seperated list of paths that can not "
+ "be transformed"));
+static cl::opt<std::string>
+IncludeFromFile("include-from", cl::Hidden, cl::value_desc("filename"),
+ cl::desc("File containing a list of paths to consider to "
+ "be transformed"));
+static cl::opt<std::string>
+ExcludeFromFile("exclude-from", cl::Hidden, cl::value_desc("filename"),
+ cl::desc("File containing a list of paths that can not be "
+ "transforms"));
+
+class EndSyntaxArgumentsAdjuster : public ArgumentsAdjuster {
+ CommandLineArguments Adjust(const CommandLineArguments &Args) {
+ CommandLineArguments AdjustedArgs = Args;
+ AdjustedArgs.push_back("-fsyntax-only");
+ AdjustedArgs.push_back("-std=c++11");
+ return AdjustedArgs;
+ }
+};
+
+int main(int argc, const char **argv) {
+ llvm::sys::PrintStackTraceOnErrorSignal();
+ Transforms TransformManager;
+
+ TransformManager.registerTransform(
+ "loop-convert", "Make use of range-based for loops where possible",
+ &ConstructTransform<LoopConvertTransform>);
+ TransformManager.registerTransform(
+ "use-nullptr", "Make use of nullptr keyword where possible",
+ &ConstructTransform<UseNullptrTransform>);
+ TransformManager.registerTransform(
+ "use-auto", "Use of 'auto' type specifier",
+ &ConstructTransform<UseAutoTransform>);
+ TransformManager.registerTransform(
+ "add-override", "Make use of override specifier where possible",
+ &ConstructTransform<AddOverrideTransform>);
+ // Add more transform options here.
+
+ // This causes options to be parsed.
+ CommonOptionsParser OptionsParser(argc, argv);
+
+ // Since ExecutionTimeDirectoryName could be an empty string we compare
+ // against the default value when the command line option is not specified.
+ bool EnableTiming = (TimingDirectoryName != NoTiming);
+ TransformManager.createSelectedTransforms(EnableTiming);
+
+ if (TransformManager.begin() == TransformManager.end()) {
+ llvm::errs() << "No selected transforms\n";
+ return 1;
+ }
+
+ FileContentsByPath FileStates1, FileStates2,
+ *InputFileStates = &FileStates1, *OutputFileStates = &FileStates2;
+
+ SourcePerfData PerfData;
+
+ // Apply transforms.
+ for (Transforms::const_iterator I = TransformManager.begin(),
+ E = TransformManager.end();
+ I != E; ++I) {
+ if ((*I)->apply(*InputFileStates, MaxRiskLevel,
+ OptionsParser.getCompilations(),
+ OptionsParser.getSourcePathList(), *OutputFileStates) !=
+ 0) {
+ // FIXME: Improve ClangTool to not abort if just one file fails.
+ return 1;
+ }
+
+ if (EnableTiming)
+ collectSourcePerfData(**I, PerfData);
+
+ if (SummaryMode) {
+ llvm::outs() << "Transform: " << (*I)->getName()
+ << " - Accepted: "
+ << (*I)->getAcceptedChanges();
+ if ((*I)->getChangesNotMade()) {
+ llvm::outs() << " - Rejected: "
+ << (*I)->getRejectedChanges()
+ << " - Deferred: "
+ << (*I)->getDeferredChanges();
+ }
+ llvm::outs() << "\n";
+ }
+ std::swap(InputFileStates, OutputFileStates);
+ OutputFileStates->clear();
+ }
+
+ // Final state of files is pointed at by InputFileStates.
+
+ if (FinalSyntaxCheck) {
+ ClangTool EndSyntaxTool(OptionsParser.getCompilations(),
+ OptionsParser.getSourcePathList());
+
+ // Add c++11 support to clang.
+ EndSyntaxTool.setArgumentsAdjuster(new EndSyntaxArgumentsAdjuster);
+
+ for (FileContentsByPath::const_iterator I = InputFileStates->begin(),
+ E = InputFileStates->end();
+ I != E; ++I) {
+ EndSyntaxTool.mapVirtualFile(I->first, I->second);
+ }
+
+ if (EndSyntaxTool.run(newFrontendActionFactory<clang::SyntaxOnlyAction>())
+ != 0) {
+ return 1;
+ }
+ }
+
+ // Write results to file.
+ for (FileContentsByPath::const_iterator I = InputFileStates->begin(),
+ E = InputFileStates->end();
+ I != E; ++I) {
+ std::string ErrorInfo;
+ llvm::raw_fd_ostream FileStream(I->first.c_str(), ErrorInfo,
+ llvm::raw_fd_ostream::F_Binary);
+ FileStream << I->second;
+ }
+
+ // Report execution times.
+ if (EnableTiming && !PerfData.empty()) {
+ std::string DirectoryName = TimingDirectoryName;
+ // Use default directory name.
+ if (DirectoryName.empty())
+ DirectoryName = "./migrate_perf";
+ writePerfDataJSON(DirectoryName, PerfData);
+ }
+
+ return 0;
+}
OpenPOWER on IntegriCloud