diff --git a/share/qtcreator/dumper/qttypes.py b/share/qtcreator/dumper/qttypes.py index d67e678b53494399785d54f01629ee0f03363f54..e7d1966fbeac4cd58d7fe66b37263dc69c09cb21 100644 --- a/share/qtcreator/dumper/qttypes.py +++ b/share/qtcreator/dumper/qttypes.py @@ -2057,6 +2057,17 @@ def qdump__boost__gregorian__date(d, value): d.putNumChild(0) +def qdump__boost__posix_time__ptime(d, item): + ms = long(item["time_"]["time_count_"]["value_"]) / 1000 + d.putValue("%s/%s" % divmod(ms, 86400000), JulianDateAndMillisecondsSinceMidnight) + d.putNumChild(0) + + +def qdump__boost__posix_time__time_duration(d, item): + d.putValue(long(item["ticks_"]["value_"]) / 1000, MillisecondsSinceMidnight) + d.putNumChild(0) + + ####################################################################### # # Symbian diff --git a/tests/manual/debugger/simple/simple_test_app.cpp b/tests/manual/debugger/simple/simple_test_app.cpp index 57588a16401eee800a84f37d6feddc0501b557e9..f0938f785277591431bcb748780b0ef9920657f1 100644 --- a/tests/manual/debugger/simple/simple_test_app.cpp +++ b/tests/manual/debugger/simple/simple_test_app.cpp @@ -178,7 +178,9 @@ void dummyStatement(...) {} #if USE_BOOST #include <boost/optional.hpp> #include <boost/shared_ptr.hpp> +#include <boost/date_time.hpp> #include <boost/date_time/gregorian/gregorian.hpp> +#include <boost/date_time/posix_time/posix_time.hpp> #endif #if USE_EIGEN @@ -5003,11 +5005,52 @@ namespace boost { dummyStatement(&d); } + void testBoostPosixTimeTimeDuration() + { + using namespace boost; + using namespace posix_time; + time_duration d1(1, 0, 0); + BREAK_HERE; + // Check p1 01:00:00 boost::posix_time::time_duration. + // Continue. + time_duration d2(0, 1, 0); + BREAK_HERE; + // Check d1 00:00:01 boost::posix_time::time_duration. + // Continue. + time_duration d3(0, 0, 1); + BREAK_HERE; + // Check d1 00:00:01 boost::posix_time::time_duration. + // Continue. + dummyStatement(&d1, &d2, &d3); + } + + void testBoostPosixTimePtime() + { + using namespace boost; + using namespace gregorian; + using namespace posix_time; + ptime p1(date(2002, 1, 10), time_duration(1, 0, 0)); + BREAK_HERE; + // Check p1 Thu Jan 10 01:00:00 2002 boost::posix_time::ptime. + // Continue. + ptime p2(date(2002, 1, 10), time_duration(0, 0, 0)); + BREAK_HERE; + // Check p1 Thu Jan 10 00:00:00 2002 boost::posix_time::ptime. + // Continue. + ptime p3(date(1970, 1, 1), time_duration(0, 0, 0)); + BREAK_HERE; + // Check p1 Thu Jan 1 00:00:00 1970 boost::posix_time::ptime. + // Continue. + dummyStatement(&p1, &p2, &p3); + } + void testBoost() { testBoostOptional1(); testBoostOptional2(); testBoostSharedPtr(); + testBoostPosixTimeTimeDuration(); + testBoostPosixTimePtime(); testBoostGregorianDate(); }