From: Richard Smith Date: Thu, 9 Jun 2016 00:53:41 +0000 (+0000) Subject: Update to match LLVM r272232. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=094ed6b13012a95af62f87677ed47b5b9714106c;p=clang Update to match LLVM r272232. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@272233 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/tools/arcmt-test/arcmt-test.cpp b/tools/arcmt-test/arcmt-test.cpp index 7c8e46aee0..900358ec1f 100644 --- a/tools/arcmt-test/arcmt-test.cpp +++ b/tools/arcmt-test/arcmt-test.cpp @@ -341,7 +341,7 @@ static void printSourceRange(CharSourceRange range, ASTContext &Ctx, int main(int argc, const char **argv) { void *MainAddr = (void*) (intptr_t) GetExecutablePath; - llvm::sys::PrintStackTraceOnErrorSignal(); + llvm::sys::PrintStackTraceOnErrorSignal(argv[0]); std::string resourcesPath = CompilerInvocation::GetResourcesPath(argv[0], MainAddr); diff --git a/tools/c-index-test/c-index-test.c b/tools/c-index-test/c-index-test.c index 5bf5f3d019..007af9e252 100644 --- a/tools/c-index-test/c-index-test.c +++ b/tools/c-index-test/c-index-test.c @@ -4440,11 +4440,8 @@ int main(int argc, const char **argv) { client_data.argc = argc; client_data.argv = argv; - if (argc > 1 && strcmp(argv[1], "core") == 0) { + if (argc > 1 && strcmp(argv[1], "core") == 0) client_data.main_func = indextest_core_main; - --client_data.argc; - ++client_data.argv; - } if (getenv("CINDEXTEST_NOTHREADS")) return client_data.main_func(client_data.argc, client_data.argv); diff --git a/tools/c-index-test/core_main.cpp b/tools/c-index-test/core_main.cpp index d11b490e81..e64dae726f 100644 --- a/tools/c-index-test/core_main.cpp +++ b/tools/c-index-test/core_main.cpp @@ -196,9 +196,13 @@ static void printSymbolNameAndUSR(const Decl *D, ASTContext &Ctx, //===----------------------------------------------------------------------===// int indextest_core_main(int argc, const char **argv) { - sys::PrintStackTraceOnErrorSignal(); + sys::PrintStackTraceOnErrorSignal(argv[0]); PrettyStackTraceProgram X(argc, argv); + assert(argv[1] == StringRef("core")); + ++argv; + --argc; + std::vector CompArgs; const char **DoubleDash = std::find(argv, argv + argc, StringRef("--")); if (DoubleDash != argv + argc) { diff --git a/tools/clang-check/ClangCheck.cpp b/tools/clang-check/ClangCheck.cpp index a9934c978d..b1f97ee1d1 100644 --- a/tools/clang-check/ClangCheck.cpp +++ b/tools/clang-check/ClangCheck.cpp @@ -150,7 +150,7 @@ public: } // namespace int main(int argc, const char **argv) { - llvm::sys::PrintStackTraceOnErrorSignal(); + llvm::sys::PrintStackTraceOnErrorSignal(argv[0]); // Initialize targets for clang module support. llvm::InitializeAllTargets(); diff --git a/tools/clang-format/ClangFormat.cpp b/tools/clang-format/ClangFormat.cpp index 36f237fc75..a9b077e0b1 100644 --- a/tools/clang-format/ClangFormat.cpp +++ b/tools/clang-format/ClangFormat.cpp @@ -315,7 +315,7 @@ static void PrintVersion() { } int main(int argc, const char **argv) { - llvm::sys::PrintStackTraceOnErrorSignal(); + llvm::sys::PrintStackTraceOnErrorSignal(argv[0]); cl::HideUnrelatedOptions(ClangFormatCategory); diff --git a/tools/driver/cc1_main.cpp b/tools/driver/cc1_main.cpp index 8240561236..df315b8c0a 100644 --- a/tools/driver/cc1_main.cpp +++ b/tools/driver/cc1_main.cpp @@ -132,9 +132,5 @@ int cc1_main(ArrayRef Argv, const char *Argv0, void *MainAddr) { return !Success; } - // Managed static deconstruction. Useful for making things like - // -time-passes usable. - llvm::llvm_shutdown(); - return !Success; } diff --git a/tools/driver/cc1as_main.cpp b/tools/driver/cc1as_main.cpp index 1c032c09ef..2d17be99e2 100644 --- a/tools/driver/cc1as_main.cpp +++ b/tools/driver/cc1as_main.cpp @@ -43,10 +43,8 @@ #include "llvm/Support/FileSystem.h" #include "llvm/Support/FormattedStream.h" #include "llvm/Support/Host.h" -#include "llvm/Support/ManagedStatic.h" #include "llvm/Support/MemoryBuffer.h" #include "llvm/Support/Path.h" -#include "llvm/Support/PrettyStackTrace.h" #include "llvm/Support/Signals.h" #include "llvm/Support/SourceMgr.h" #include "llvm/Support/TargetRegistry.h" @@ -450,11 +448,6 @@ static void LLVMErrorHandler(void *UserData, const std::string &Message, } int cc1as_main(ArrayRef Argv, const char *Argv0, void *MainAddr) { - // Print a stack trace if we signal out. - sys::PrintStackTraceOnErrorSignal(); - PrettyStackTraceProgram X(Argv.size(), Argv.data()); - llvm_shutdown_obj Y; // Call llvm_shutdown() on exit. - // Initialize targets and assembly printers/parsers. InitializeAllTargetInfos(); InitializeAllTargetMCs(); diff --git a/tools/driver/driver.cpp b/tools/driver/driver.cpp index b74de08199..4d69aaffba 100644 --- a/tools/driver/driver.cpp +++ b/tools/driver/driver.cpp @@ -308,8 +308,9 @@ static int ExecuteCC1Tool(ArrayRef argv, StringRef Tool) { } int main(int argc_, const char **argv_) { - llvm::sys::PrintStackTraceOnErrorSignal(); + llvm::sys::PrintStackTraceOnErrorSignal(argv_[0]); llvm::PrettyStackTraceProgram X(argc_, argv_); + llvm::llvm_shutdown_obj Y; // Call llvm_shutdown() on exit. if (llvm::sys::Process::FixupStandardFileDescriptors()) return 1; @@ -497,8 +498,6 @@ int main(int argc_, const char **argv_) { // results now. This happens in -disable-free mode. llvm::TimerGroup::printAll(llvm::errs()); - llvm::llvm_shutdown(); - #ifdef LLVM_ON_WIN32 // Exit status should not be negative on Win32, unless abnormal termination. // Once abnormal termiation was caught, negative status should not be diff --git a/tools/libclang/CIndex.cpp b/tools/libclang/CIndex.cpp index 20ca641968..23e50d6761 100644 --- a/tools/libclang/CIndex.cpp +++ b/tools/libclang/CIndex.cpp @@ -5870,7 +5870,8 @@ CXSourceRange clang_getCursorReferenceNameRange(CXCursor C, unsigned NameFlags, } void clang_enableStackTraces(void) { - llvm::sys::PrintStackTraceOnErrorSignal(); + // FIXME: Provide an argv0 here so we can find llvm-symbolizer. + llvm::sys::PrintStackTraceOnErrorSignal(StringRef()); } void clang_executeOnThread(void (*fn)(void*), void *user_data, diff --git a/utils/TableGen/TableGen.cpp b/utils/TableGen/TableGen.cpp index 724b0e1958..7ccd715031 100644 --- a/utils/TableGen/TableGen.cpp +++ b/utils/TableGen/TableGen.cpp @@ -241,7 +241,7 @@ bool ClangTableGenMain(raw_ostream &OS, RecordKeeper &Records) { } int main(int argc, char **argv) { - sys::PrintStackTraceOnErrorSignal(); + sys::PrintStackTraceOnErrorSignal(argv[0]); PrettyStackTraceProgram X(argc, argv); cl::ParseCommandLineOptions(argc, argv);