summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-ar/llvm-ar.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-10-21 20:34:57 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-10-21 20:34:57 +0000
commitea16d6e2b84f43213ea5c6c8e8270982feb174d4 (patch)
treea533f578234e769637f7e0568722532aa54bb194 /llvm/tools/llvm-ar/llvm-ar.cpp
parentece7fe0e16db3e83cc7acd13b04ff8e661dbf475 (diff)
downloadbcm5719-llvm-ea16d6e2b84f43213ea5c6c8e8270982feb174d4.tar.gz
bcm5719-llvm-ea16d6e2b84f43213ea5c6c8e8270982feb174d4.zip
Move code a bit to avoid a few declarations. NFC.
llvm-svn: 220317
Diffstat (limited to 'llvm/tools/llvm-ar/llvm-ar.cpp')
-rw-r--r--llvm/tools/llvm-ar/llvm-ar.cpp85
1 files changed, 40 insertions, 45 deletions
diff --git a/llvm/tools/llvm-ar/llvm-ar.cpp b/llvm/tools/llvm-ar/llvm-ar.cpp
index 72345f26d5b..56b51648f5e 100644
--- a/llvm/tools/llvm-ar/llvm-ar.cpp
+++ b/llvm/tools/llvm-ar/llvm-ar.cpp
@@ -944,51 +944,6 @@ static void performOperation(ArchiveOperation Operation,
llvm_unreachable("Unknown operation.");
}
-static int ar_main(char **argv);
-static int ranlib_main();
-
-int main(int argc, char **argv) {
- ToolName = argv[0];
- // Print a stack trace if we signal out.
- sys::PrintStackTraceOnErrorSignal();
- PrettyStackTraceProgram X(argc, argv);
- llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
-
- // Have the command line options parsed and handle things
- // like --help and --version.
- cl::ParseCommandLineOptions(argc, argv,
- "LLVM Archiver (llvm-ar)\n\n"
- " This program archives bitcode files into single libraries\n"
- );
-
- llvm::InitializeAllTargetInfos();
- llvm::InitializeAllTargetMCs();
- llvm::InitializeAllAsmParsers();
-
- StringRef Stem = sys::path::stem(ToolName);
- if (Stem.find("ar") != StringRef::npos)
- return ar_main(argv);
- if (Stem.find("ranlib") != StringRef::npos)
- return ranlib_main();
- fail("Not ranlib or ar!");
-}
-
-static int performOperation(ArchiveOperation Operation);
-
-int ranlib_main() {
- if (RestOfArgs.size() != 1)
- fail(ToolName + "takes just one archive as argument");
- ArchiveName = RestOfArgs[0];
- return performOperation(CreateSymTab);
-}
-
-int ar_main(char **argv) {
- // Do our own parsing of the command line because the CommandLine utility
- // can't handle the grouped positional parameters without a dash.
- ArchiveOperation Operation = parseCommandLine();
- return performOperation(Operation);
-}
-
static int performOperation(ArchiveOperation Operation) {
// Create or open the archive object.
ErrorOr<std::unique_ptr<MemoryBuffer>> Buf =
@@ -1026,3 +981,43 @@ static int performOperation(ArchiveOperation Operation) {
performOperation(Operation, nullptr);
return 0;
}
+
+int ar_main(char **argv) {
+ // Do our own parsing of the command line because the CommandLine utility
+ // can't handle the grouped positional parameters without a dash.
+ ArchiveOperation Operation = parseCommandLine();
+ return performOperation(Operation);
+}
+
+int ranlib_main() {
+ if (RestOfArgs.size() != 1)
+ fail(ToolName + "takes just one archive as argument");
+ ArchiveName = RestOfArgs[0];
+ return performOperation(CreateSymTab);
+}
+
+int main(int argc, char **argv) {
+ ToolName = argv[0];
+ // Print a stack trace if we signal out.
+ sys::PrintStackTraceOnErrorSignal();
+ PrettyStackTraceProgram X(argc, argv);
+ llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
+
+ // Have the command line options parsed and handle things
+ // like --help and --version.
+ cl::ParseCommandLineOptions(argc, argv,
+ "LLVM Archiver (llvm-ar)\n\n"
+ " This program archives bitcode files into single libraries\n"
+ );
+
+ llvm::InitializeAllTargetInfos();
+ llvm::InitializeAllTargetMCs();
+ llvm::InitializeAllAsmParsers();
+
+ StringRef Stem = sys::path::stem(ToolName);
+ if (Stem.find("ar") != StringRef::npos)
+ return ar_main(argv);
+ if (Stem.find("ranlib") != StringRef::npos)
+ return ranlib_main();
+ fail("Not ranlib or ar!");
+}
OpenPOWER on IntegriCloud