summaryrefslogtreecommitdiff
path: root/lib/Support/Unix
diff options
context:
space:
mode:
authorEdwin Vane <edwin.vane@intel.com>2013-01-28 19:34:42 +0000
committerEdwin Vane <edwin.vane@intel.com>2013-01-28 19:34:42 +0000
commit3c1c042a64e0d0d01c0e2817aa1f0f5c9c726a80 (patch)
treeadba047287139d2ce2e28c473480204cd077d3b1 /lib/Support/Unix
parent5ff776bfde2dd5d993e51f8f78904ce331b5528c (diff)
downloadllvm-3c1c042a64e0d0d01c0e2817aa1f0f5c9c726a80.tar.gz
llvm-3c1c042a64e0d0d01c0e2817aa1f0f5c9c726a80.tar.bz2
llvm-3c1c042a64e0d0d01c0e2817aa1f0f5c9c726a80.tar.xz
Fix gcc/printf/ISO C++ warning
Remove the use of the 't' length modifier to avoid a gcc warning. Based on usage, 32 bits of precision is good enough for printing a stack offset for a stack trace. 't' length modifier isn't in C++03 but it *is* in C++11. Added a FIXME to reintroduce once LLVM makes the switch to C++11. Reviewer: gribozavr git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173711 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Support/Unix')
-rw-r--r--lib/Support/Unix/Signals.inc6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/Support/Unix/Signals.inc b/lib/Support/Unix/Signals.inc
index 87162d6951..af9e739e6d 100644
--- a/lib/Support/Unix/Signals.inc
+++ b/lib/Support/Unix/Signals.inc
@@ -295,7 +295,11 @@ void llvm::sys::PrintStackTrace(FILE *FD) {
else fputs(d, FD);
free(d);
- fprintf(FD, " + %tu",(char*)StackTrace[i]-(char*)dlinfo.dli_saddr);
+ // 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.
+ fprintf(FD, " + %u",(unsigned)((char*)StackTrace[i]-
+ (char*)dlinfo.dli_saddr));
}
fputc('\n', FD);
}