diff options
author | Pavel Labath <labath@google.com> | 2018-06-18 15:02:23 +0000 |
---|---|---|
committer | Pavel Labath <labath@google.com> | 2018-06-18 15:02:23 +0000 |
commit | 2272c4811f8d2c56612d483c2546f053e7ea61cc (patch) | |
tree | c591a7a541563c323f1b4f8697a8cd7b8ea53f8c /lldb/source/Host/macosx | |
parent | 13684d840019282ed720cd52a9a0e6c3485d3a76 (diff) | |
download | bcm5719-llvm-2272c4811f8d2c56612d483c2546f053e7ea61cc.tar.gz bcm5719-llvm-2272c4811f8d2c56612d483c2546f053e7ea61cc.zip |
Use llvm::VersionTuple instead of manual version marshalling
Summary:
This has multiple advantages:
- we need only one function argument/instance variable instead of three
- no need to default initialize variables
- no custom parsing code
- VersionTuple has comparison operators, which makes version comparisons much
simpler
Reviewers: zturner, friss, clayborg, jingham
Subscribers: emaste, lldb-commits
Differential Revision: https://reviews.llvm.org/D47889
llvm-svn: 334950
Diffstat (limited to 'lldb/source/Host/macosx')
-rw-r--r-- | lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm b/lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm index dbb74822e78..5ec57c96ed9 100644 --- a/lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm +++ b/lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm @@ -76,32 +76,21 @@ bool HostInfoMacOSX::GetOSKernelDescription(std::string &s) { return false; } -bool HostInfoMacOSX::GetOSVersion(uint32_t &major, uint32_t &minor, - uint32_t &update) { - static uint32_t g_major = 0; - static uint32_t g_minor = 0; - static uint32_t g_update = 0; +llvm::VersionTuple HostInfoMacOSX::GetOSVersion() { + static llvm::VersionTuple g_version; - if (g_major == 0) { + if (g_version.empty()) { @autoreleasepool { NSDictionary *version_info = [NSDictionary dictionaryWithContentsOfFile: @"/System/Library/CoreServices/SystemVersion.plist"]; NSString *version_value = [version_info objectForKey:@"ProductVersion"]; const char *version_str = [version_value UTF8String]; - if (version_str) - Args::StringToVersion(llvm::StringRef(version_str), g_major, g_minor, - g_update); + g_version.tryParse(version_str); } } - if (g_major != 0) { - major = g_major; - minor = g_minor; - update = g_update; - return true; - } - return false; + return g_version; } FileSpec HostInfoMacOSX::GetProgramFileSpec() { |