HomePhabricator

[lldb] Always round down in NSDate's formatter to match NSDate's builtin format

Authored by teemperor on Jul 6 2020, 7:31 AM.

Description

[lldb] Always round down in NSDate's formatter to match NSDate's builtin format

Summary:

When printing an NSDate (for example with NSLog or po) the seconds value is
always rounded down. LLDB's own formatter however isn't following that behaviour
which leads to situations where the formatted result is sometimes one second
off. For example:

(lldb) p [NSDate dateWithTimeIntervalSince1970:0.1]
(__NSTaggedDate *) $1 = [...] 1970-01-01 00:00:01 UTC
(lldb) po [NSDate dateWithTimeIntervalSince1970:0.1]
1970-01-01 00:00:00 +0000

(lldb) p [NSDate dateWithTimeIntervalSince1970:0.6]
(__NSTaggedDate *) $4 =[...] 1970-01-01 00:00:01 UTC
(lldb) po [NSDate dateWithTimeIntervalSince1970:0.6]
1970-01-01 00:00:00 +0000

This patch just always rounds down the seconds value we get from the NSDate
object.

Fixes rdar://65084800

Reviewers: mib, davide

Reviewed By: mib

Subscribers: JDevlieghere

Differential Revision: https://reviews.llvm.org/D83221

Details

Committed
teemperorJul 6 2020, 7:59 AM
Reviewer
mib
Differential Revision
D83221: [lldb] Always round down in NSDate's formatter to match NSDate's builtin format
Parents
rG146dad0077b4: [ARM] MVE FP16 cost adjustments
Branches
Unknown
Tags
Unknown