summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-03-20 04:37:21 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-03-20 04:37:21 +0000
commitd972e2247b6330f6a6a252b0ada59fd0f618c0bc (patch)
treeafa93740368841e136a0cbbf2bbef9b02f490cc8
parent9c92326b2002cbd4b02c01990b9a570015622306 (diff)
downloadbcm5719-llvm-d972e2247b6330f6a6a252b0ada59fd0f618c0bc.tar.gz
bcm5719-llvm-d972e2247b6330f6a6a252b0ada59fd0f618c0bc.zip
Driver: Implement -print-search-dirs.
llvm-svn: 67362
-rw-r--r--clang/include/clang/Driver/Options.def2
-rw-r--r--clang/lib/Driver/Driver.cpp19
2 files changed, 20 insertions, 1 deletions
diff --git a/clang/include/clang/Driver/Options.def b/clang/include/clang/Driver/Options.def
index 08192006136..f043efb383b 100644
--- a/clang/include/clang/Driver/Options.def
+++ b/clang/include/clang/Driver/Options.def
@@ -472,7 +472,7 @@ OPTION("-print-multi-directory", print_multi_directory, Flag, INVALID, INVALID,
OPTION("-print-multi-lib", print_multi_lib, Flag, INVALID, INVALID, "u", 0)
OPTION("-print-multi-os-directory", print_multi_os_directory, Flag, INVALID, INVALID, "u", 0)
OPTION("-print-prog-name=", print_prog_name_EQ, Joined, INVALID, INVALID, "", 0)
-OPTION("-print-search-dirs", print_search_dirs, Flag, INVALID, INVALID, "u", 0)
+OPTION("-print-search-dirs", print_search_dirs, Flag, INVALID, INVALID, "", 0)
OPTION("-private_bundle", private__bundle, Flag, INVALID, INVALID, "", 0)
OPTION("-pthreads", pthreads, Flag, INVALID, INVALID, "", 0)
OPTION("-pthread", pthread, Flag, INVALID, INVALID, "", 0)
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp
index 10b73d3a0ef..2ae88267b0e 100644
--- a/clang/lib/Driver/Driver.cpp
+++ b/clang/lib/Driver/Driver.cpp
@@ -247,6 +247,25 @@ bool Driver::HandleImmediateArgs(const Compilation &C) {
}
const ToolChain &TC = C.getDefaultToolChain();
+ if (C.getArgs().hasArg(options::OPT_print_search_dirs)) {
+ llvm::outs() << "programs: =";
+ for (ToolChain::path_list::const_iterator it = TC.getProgramPaths().begin(),
+ ie = TC.getProgramPaths().end(); it != ie; ++it) {
+ if (it != TC.getProgramPaths().begin())
+ llvm::outs() << ':';
+ llvm::outs() << *it;
+ }
+ llvm::outs() << "\n";
+ llvm::outs() << "libraries: =";
+ for (ToolChain::path_list::const_iterator it = TC.getFilePaths().begin(),
+ ie = TC.getFilePaths().end(); it != ie; ++it) {
+ if (it != TC.getFilePaths().begin())
+ llvm::outs() << ':';
+ llvm::outs() << *it;
+ }
+ llvm::outs() << "\n";
+ }
+
// FIXME: The following handlers should use a callback mechanism, we
// don't know what the client would like to do.
if (Arg *A = C.getArgs().getLastArg(options::OPT_print_file_name_EQ)) {
OpenPOWER on IntegriCloud