summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/ObjectContainer
diff options
context:
space:
mode:
authorPavel Labath <labath@google.com>2016-11-09 15:05:45 +0000
committerPavel Labath <labath@google.com>2016-11-09 15:05:45 +0000
commit5cc796788028b5366f4dd06baba045241d432ea9 (patch)
treeb1f031f7b9b4eb1315be6c54ca7237c0623d607c /lldb/source/Plugins/ObjectContainer
parentf03b2dc4c8c4a7c3e4da3c5fc302535fcb7fbe42 (diff)
downloadbcm5719-llvm-5cc796788028b5366f4dd06baba045241d432ea9.tar.gz
bcm5719-llvm-5cc796788028b5366f4dd06baba045241d432ea9.zip
Remove TimeValue usage from ObjectContainerBSDArchive
llvm-svn: 286373
Diffstat (limited to 'lldb/source/Plugins/ObjectContainer')
-rw-r--r--lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp25
-rw-r--r--lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h25
2 files changed, 27 insertions, 23 deletions
diff --git a/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp b/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp
index 18f93160647..21f3c8c8011 100644
--- a/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp
+++ b/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp
@@ -134,7 +134,7 @@ ObjectContainerBSDArchive::Object::Extract(const DataExtractor &data,
}
ObjectContainerBSDArchive::Archive::Archive(const lldb_private::ArchSpec &arch,
- const lldb_private::TimeValue &time,
+ const llvm::sys::TimePoint<> &time,
lldb::offset_t file_offset,
lldb_private::DataExtractor &data)
: m_arch(arch), m_time(time), m_file_offset(file_offset), m_objects(),
@@ -169,13 +169,14 @@ size_t ObjectContainerBSDArchive::Archive::ParseObjects() {
ObjectContainerBSDArchive::Object *
ObjectContainerBSDArchive::Archive::FindObject(
- const ConstString &object_name, const TimeValue &object_mod_time) {
+ const ConstString &object_name,
+ const llvm::sys::TimePoint<> &object_mod_time) {
const ObjectNameToIndexMap::Entry *match =
m_object_name_to_index_map.FindFirstValueForName(
object_name.GetStringRef());
if (match) {
- if (object_mod_time.IsValid()) {
- const uint64_t object_date = object_mod_time.GetAsSecondsSinceJan1_1970();
+ if (object_mod_time != llvm::sys::TimePoint<>()) {
+ const uint64_t object_date = llvm::sys::toTimeT(object_mod_time);
if (m_objects[match->value].ar_date == object_date)
return &m_objects[match->value];
const ObjectNameToIndexMap::Entry *next_match =
@@ -195,8 +196,8 @@ ObjectContainerBSDArchive::Archive::FindObject(
ObjectContainerBSDArchive::Archive::shared_ptr
ObjectContainerBSDArchive::Archive::FindCachedArchive(
- const FileSpec &file, const ArchSpec &arch, const TimeValue &time,
- lldb::offset_t file_offset) {
+ const FileSpec &file, const ArchSpec &arch,
+ const llvm::sys::TimePoint<> &time, lldb::offset_t file_offset) {
std::lock_guard<std::recursive_mutex> guard(Archive::GetArchiveCacheMutex());
shared_ptr archive_sp;
Archive::Map &archive_map = Archive::GetArchiveCache();
@@ -236,8 +237,9 @@ ObjectContainerBSDArchive::Archive::FindCachedArchive(
ObjectContainerBSDArchive::Archive::shared_ptr
ObjectContainerBSDArchive::Archive::ParseAndCacheArchiveForFile(
- const FileSpec &file, const ArchSpec &arch, const TimeValue &time,
- lldb::offset_t file_offset, DataExtractor &data) {
+ const FileSpec &file, const ArchSpec &arch,
+ const llvm::sys::TimePoint<> &time, lldb::offset_t file_offset,
+ DataExtractor &data) {
shared_ptr archive_sp(new Archive(arch, time, file_offset, data));
if (archive_sp) {
const size_t num_objects = archive_sp->ParseObjects();
@@ -453,7 +455,8 @@ size_t ObjectContainerBSDArchive::GetModuleSpecifications(
data.SetData(data_sp, data_offset, data_sp->GetByteSize());
if (file && data_sp && ObjectContainerBSDArchive::MagicBytesMatch(data)) {
const size_t initial_count = specs.GetSize();
- TimeValue file_mod_time = FileSystem::GetModificationTime(file);
+ llvm::sys::TimePoint<> file_mod_time =
+ FileSystem::GetModificationTime(file);
Archive::shared_ptr archive_sp(Archive::FindCachedArchive(
file, ArchSpec(), file_mod_time, file_offset));
bool set_archive_arch = false;
@@ -480,8 +483,8 @@ size_t ObjectContainerBSDArchive::GetModuleSpecifications(
specs)) {
ModuleSpec &spec =
specs.GetModuleSpecRefAtIndex(specs.GetSize() - 1);
- TimeValue object_mod_time;
- object_mod_time.OffsetWithSeconds(object->ar_date);
+ llvm::sys::TimePoint<> object_mod_time(
+ std::chrono::seconds(object->ar_date));
spec.GetObjectName() = object->ar_name;
spec.SetObjectOffset(object_file_offset);
spec.SetObjectSize(file_size - object_file_offset);
diff --git a/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h b/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h
index 0212772a4c3..de0f24e3bfc 100644
--- a/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h
+++ b/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h
@@ -10,19 +10,20 @@
#ifndef liblldb_ObjectContainerBSDArchive_h_
#define liblldb_ObjectContainerBSDArchive_h_
-// C Includes
-// C++ Includes
-#include <mutex>
-
-// Other libraries and framework includes
// Project includes
#include "lldb/Core/ArchSpec.h"
#include "lldb/Core/ConstString.h"
#include "lldb/Core/UniqueCStringMap.h"
#include "lldb/Host/FileSpec.h"
-#include "lldb/Host/TimeValue.h"
#include "lldb/Symbol/ObjectContainer.h"
+// Other libraries and framework includes
+#include "llvm/Support/Chrono.h"
+
+// C Includes
+// C++ Includes
+#include <mutex>
+
class ObjectContainerBSDArchive : public lldb_private::ObjectContainer {
public:
ObjectContainerBSDArchive(const lldb::ModuleSP &module_sp,
@@ -110,7 +111,7 @@ protected:
typedef std::multimap<lldb_private::FileSpec, shared_ptr> Map;
Archive(const lldb_private::ArchSpec &arch,
- const lldb_private::TimeValue &mod_time, lldb::offset_t file_offset,
+ const llvm::sys::TimePoint<> &mod_time, lldb::offset_t file_offset,
lldb_private::DataExtractor &data);
~Archive();
@@ -121,11 +122,11 @@ protected:
static Archive::shared_ptr FindCachedArchive(
const lldb_private::FileSpec &file, const lldb_private::ArchSpec &arch,
- const lldb_private::TimeValue &mod_time, lldb::offset_t file_offset);
+ const llvm::sys::TimePoint<> &mod_time, lldb::offset_t file_offset);
static Archive::shared_ptr ParseAndCacheArchiveForFile(
const lldb_private::FileSpec &file, const lldb_private::ArchSpec &arch,
- const lldb_private::TimeValue &mod_time, lldb::offset_t file_offset,
+ const llvm::sys::TimePoint<> &mod_time, lldb::offset_t file_offset,
lldb_private::DataExtractor &data);
size_t GetNumObjects() const { return m_objects.size(); }
@@ -139,11 +140,11 @@ protected:
size_t ParseObjects();
Object *FindObject(const lldb_private::ConstString &object_name,
- const lldb_private::TimeValue &object_mod_time);
+ const llvm::sys::TimePoint<> &object_mod_time);
lldb::offset_t GetFileOffset() const { return m_file_offset; }
- const lldb_private::TimeValue &GetModificationTime() { return m_time; }
+ const llvm::sys::TimePoint<> &GetModificationTime() { return m_time; }
const lldb_private::ArchSpec &GetArchitecture() const { return m_arch; }
@@ -159,7 +160,7 @@ protected:
// Member Variables
//----------------------------------------------------------------------
lldb_private::ArchSpec m_arch;
- lldb_private::TimeValue m_time;
+ llvm::sys::TimePoint<> m_time;
lldb::offset_t m_file_offset;
Object::collection m_objects;
ObjectNameToIndexMap m_object_name_to_index_map;
OpenPOWER on IntegriCloud