jasonmolenda wrote: Agreed, if I change this to
``` diff --git a/lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp b/lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp index d0bdbe1fd4d..b37544f6dd3 100644 --- a/lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp +++ b/lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp @@ -1105,7 +1105,7 @@ bool lldb_private::formatters::LibcxxChronoSysSecondsSummaryProvider( const std::time_t seconds = ptr_sp->GetValueAsSigned(0); if (seconds < chrono_timestamp_min || seconds > chrono_timestamp_max) - stream.Printf("timestamp=%" PRIu64 " s", static_cast<uint64_t>(seconds)); + stream.Printf("timestamp=%" PRId64 " s", static_cast<int64_t>(seconds)); else { std::array<char, 128> str; std::size_t size = @@ -1113,8 +1113,8 @@ bool lldb_private::formatters::LibcxxChronoSysSecondsSummaryProvider( if (size == 0) return false; - stream.Printf("date/time=%s timestamp=%" PRIu64 " s", str.data(), - static_cast<uint64_t>(seconds)); + stream.Printf("date/time=%s timestamp=%" PRId64 " s", str.data(), + static_cast<int64_t>(seconds)); } return true; ``` the tests pass on Darwin. On Darwin `time_t` is `long`, a signed value - and given that this can represent negative times, that makes sense. The test is checking that PRIu64 prints a negative value but we're casting this time_t to a uint64_t, I don't understand why this would print as a negative value on Linux (and pass the tests). https://github.com/llvm/llvm-project/pull/78609 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits