vsapsai updated this revision to Diff 158658.
vsapsai added a comment.
- Address review comment: move getMainExecutable to indextest_core_main.
https://reviews.llvm.org/D50160
Files:
clang/tools/c-index-test/core_main.cpp
Index: clang/tools/c-index-test/core_main.cpp
===================================================================
--- clang/tools/c-index-test/core_main.cpp
+++ clang/tools/c-index-test/core_main.cpp
@@ -20,6 +20,7 @@
#include "clang/Lex/Preprocessor.h"
#include "clang/Serialization/ASTReader.h"
#include "llvm/Support/CommandLine.h"
+#include "llvm/Support/FileSystem.h"
#include "llvm/Support/Signals.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Support/PrettyStackTrace.h"
@@ -202,11 +203,11 @@
});
}
-static bool printSourceSymbols(ArrayRef<const char *> Args,
- bool dumpModuleImports,
- bool indexLocals) {
+static bool printSourceSymbols(const char *Executable,
+ ArrayRef<const char *> Args,
+ bool dumpModuleImports, bool indexLocals) {
SmallVector<const char *, 4> ArgsWithProgName;
- ArgsWithProgName.push_back("clang");
+ ArgsWithProgName.push_back(Executable);
ArgsWithProgName.append(Args.begin(), Args.end());
IntrusiveRefCntPtr<DiagnosticsEngine>
Diags(CompilerInstance::createDiagnostics(new DiagnosticOptions));
@@ -314,6 +315,8 @@
int indextest_core_main(int argc, const char **argv) {
sys::PrintStackTraceOnErrorSignal(argv[0]);
PrettyStackTraceProgram X(argc, argv);
+ void *MainAddr = (void*) (intptr_t) indextest_core_main;
+ std::string Executable = llvm::sys::fs::getMainExecutable(argv[0], MainAddr);
assert(argv[1] == StringRef("core"));
++argv;
@@ -343,7 +346,9 @@
errs() << "error: missing compiler args; pass '-- <compiler
arguments>'\n";
return 1;
}
- return printSourceSymbols(CompArgs, options::DumpModuleImports,
options::IncludeLocals);
+ return printSourceSymbols(Executable.c_str(), CompArgs,
+ options::DumpModuleImports,
+ options::IncludeLocals);
}
return 0;
Index: clang/tools/c-index-test/core_main.cpp
===================================================================
--- clang/tools/c-index-test/core_main.cpp
+++ clang/tools/c-index-test/core_main.cpp
@@ -20,6 +20,7 @@
#include "clang/Lex/Preprocessor.h"
#include "clang/Serialization/ASTReader.h"
#include "llvm/Support/CommandLine.h"
+#include "llvm/Support/FileSystem.h"
#include "llvm/Support/Signals.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Support/PrettyStackTrace.h"
@@ -202,11 +203,11 @@
});
}
-static bool printSourceSymbols(ArrayRef<const char *> Args,
- bool dumpModuleImports,
- bool indexLocals) {
+static bool printSourceSymbols(const char *Executable,
+ ArrayRef<const char *> Args,
+ bool dumpModuleImports, bool indexLocals) {
SmallVector<const char *, 4> ArgsWithProgName;
- ArgsWithProgName.push_back("clang");
+ ArgsWithProgName.push_back(Executable);
ArgsWithProgName.append(Args.begin(), Args.end());
IntrusiveRefCntPtr<DiagnosticsEngine>
Diags(CompilerInstance::createDiagnostics(new DiagnosticOptions));
@@ -314,6 +315,8 @@
int indextest_core_main(int argc, const char **argv) {
sys::PrintStackTraceOnErrorSignal(argv[0]);
PrettyStackTraceProgram X(argc, argv);
+ void *MainAddr = (void*) (intptr_t) indextest_core_main;
+ std::string Executable = llvm::sys::fs::getMainExecutable(argv[0], MainAddr);
assert(argv[1] == StringRef("core"));
++argv;
@@ -343,7 +346,9 @@
errs() << "error: missing compiler args; pass '-- <compiler arguments>'\n";
return 1;
}
- return printSourceSymbols(CompArgs, options::DumpModuleImports, options::IncludeLocals);
+ return printSourceSymbols(Executable.c_str(), CompArgs,
+ options::DumpModuleImports,
+ options::IncludeLocals);
}
return 0;
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits