summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Gorny <mgorny@gentoo.org>2019-07-02 11:32:03 +0000
committerMichal Gorny <mgorny@gentoo.org>2019-07-02 11:32:03 +0000
commit638cc0a47999c733e7ce2ce3ae3baebaf90c42f8 (patch)
tree074fa8d76e4a05edaf5cb5b5d0bf77c6c421010f
parent9353421ecd12d071a27a0f05948113a45888f16b (diff)
downloadbcm5719-llvm-638cc0a47999c733e7ce2ce3ae3baebaf90c42f8.tar.gz
bcm5719-llvm-638cc0a47999c733e7ce2ce3ae3baebaf90c42f8.zip
[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
-rw-r--r--llvm/lib/Support/Unix/Signals.inc7
1 files changed, 2 insertions, 5 deletions
diff --git a/llvm/lib/Support/Unix/Signals.inc b/llvm/lib/Support/Unix/Signals.inc
index 51e15071aa4..ec3935928d2 100644
--- a/llvm/lib/Support/Unix/Signals.inc
+++ b/llvm/lib/Support/Unix/Signals.inc
@@ -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';
}
OpenPOWER on IntegriCloud