From: Edwin Vane Date: Mon, 28 Jan 2013 19:34:42 +0000 (+0000) Subject: Fix gcc/printf/ISO C++ warning X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=3c1c042a64e0d0d01c0e2817aa1f0f5c9c726a80;p=oota-llvm.git 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 --- diff --git a/lib/Support/Unix/Signals.inc b/lib/Support/Unix/Signals.inc index 87162d6951d..af9e739e6d2 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); }