Opened 13 years ago
Closed 5 years ago
#3608 closed Bugs (worksforme)
run time warning in vc9 when parsing ptime (with patch)
| Reported by: | anonymous | Owned by: | James E. King, III |
|---|---|---|---|
| Milestone: | Boost 1.41.0 | Component: | date_time |
| Version: | Boost 1.40.0 | Severity: | Problem |
| Keywords: | Cc: |
Description
run time warning(loss of precision when converting between types) in vc9 (with run time checks enabled) when parsing ptime with year format
reproduceable testcase: parse "20090101" with facet "%Y-%m-%dT%H:%M:%S%F" makes vc stop execution to notify of mismatch.
the patch: sets the local variable to unsigned int (instead of unsigned short)
Attachments (1)
Change History (3)
by , 13 years ago
| Attachment: | boost-date_time-parse_ptrime_runtime_type_mismatch.patch added |
|---|
comment:1 by , 5 years ago
| Owner: | changed from to |
|---|
comment:2 by , 5 years ago
| Resolution: | → worksforme |
|---|---|
| Status: | new → closed |
As of 1.66.0 I cannot reproduce this issue. I added this test to testtime_input_facet.cpp (at the end):
// trac-3608 (https://svn.boost.org/trac10/ticket/3608)
{
const std::string value = "20090101";
boost::posix_time::time_input_facet* facet5 = new boost::posix_time::time_input_facet("%Y-%m-%dT%H:%M:%S%F");
boost::posix_time::ptime ptx;
check("trac 3608 /RTC no failbit set", !failure_test(ptx, value, facet5)); // proves failbit was not set
check_equal("trac 3608 /RTC valid value", "2009-10-01T00:00:00", to_iso_extended_string(ptx));
}
Built with -RTC1 and msvc-14.1 and no errors reported.
Note:
See TracTickets
for help on using tickets.

the patch