summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test
diff options
context:
space:
mode:
authorAlex Lorenz <arphaman@gmail.com>2018-07-05 22:51:11 +0000
committerAlex Lorenz <arphaman@gmail.com>2018-07-05 22:51:11 +0000
commitb2043ac72a1f1623fad47806f3e7881b7e70dcb4 (patch)
treee1972081da0b015aca74159a9d9a87fda5f42b21 /lldb/packages/Python/lldbsuite/test
parentbd09f772eb6f636ff75aad9d86a72460c6e08477 (diff)
downloadbcm5719-llvm-b2043ac72a1f1623fad47806f3e7881b7e70dcb4.tar.gz
bcm5719-llvm-b2043ac72a1f1623fad47806f3e7881b7e70dcb4.zip
[Sema] -Wformat-pedantic only for NSInteger/NSUInteger %tu/%td on Darwin
The '%tu'/'%td' as formatting specifiers have been used to print out the NSInteger/NSUInteger values for a long time. Typically their ABI matches, but that's not the case on watchOS. The ABI difference boils down to the following: - Regular 32-bit darwin targets (like armv7) use 'ptrdiff_t' of type 'int', which matches 'NSInteger'. - WatchOS arm target (armv7k) uses 'ptrdiff_t' of type 'long', which doesn't match 'NSInteger' of type 'int'. Because of this ABI difference these specifiers trigger -Wformat warnings only for watchOS builds, which is really inconvenient for cross-platform code. This patch avoids this -Wformat warning for '%tu'/'%td' and NS[U]Integer only, and instead uses the new -Wformat-pedantic warning that JF introduced in https://reviews.llvm.org/D47290. This is acceptable because Darwin guarantees that, despite the watchOS ABI differences, sizeof(ptrdiff_t) == sizeof(NS[U]Integer), and alignof(ptrdiff_t) == alignof(NS[U]Integer) so the warning is therefore noisy for pedantic reasons. I'll update public documentation to ensure that this behaviour is properly communicated. rdar://41739204 Differential Revision: https://reviews.llvm.org/D48852 llvm-svn: 336396
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud