forked from OSchip/llvm-project
[llvm] [Support] Clean PrintStackTrace() ptr arithmetic up
Use '%tu' modifier for pointer arithmetic since we are using C++11 already. Prefer static_cast<> over C-style cast. Remove unnecessary conversion of result, and add const qualifier to converted pointers, to silence the following warning: In file included from /home/mgorny/llvm-project/llvm/lib/Support/Signals.cpp:220:0: /home/mgorny/llvm-project/llvm/lib/Support/Unix/Signals.inc: In function ‘void llvm::sys::PrintStackTrace(llvm::raw_ostream&)’: /home/mgorny/llvm-project/llvm/lib/Support/Unix/Signals.inc:546:53: warning: cast from type ‘const void*’ to type ‘char*’ casts away qualifiers [-Wcast-qual] (char*)dlinfo.dli_saddr)); ^~~~~~~~~ Differential Revision: https://reviews.llvm.org/D63888 llvm-svn: 364912
This commit is contained in:
parent
9353421ecd
commit
638cc0a479
|
@ -539,11 +539,8 @@ void llvm::sys::PrintStackTrace(raw_ostream &OS) {
|
|||
else OS << d;
|
||||
free(d);
|
||||
|
||||
// FIXME: When we move to C++11, use %t length modifier. It's not in
|
||||
// C++03 and causes gcc to issue warnings. Losing the upper 32 bits of
|
||||
// the stack offset for a stack dump isn't likely to cause any problems.
|
||||
OS << format(" + %u",(unsigned)((char*)StackTrace[i]-
|
||||
(char*)dlinfo.dli_saddr));
|
||||
OS << format(" + %tu", (static_cast<const char*>(StackTrace[i])-
|
||||
static_cast<const char*>(dlinfo.dli_saddr)));
|
||||
}
|
||||
OS << '\n';
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue