diff options
author | Vincent Ambo <mail@tazj.in> | 2020-07-19T20·52+0100 |
---|---|---|
committer | tazjin <mail@tazj.in> | 2020-07-19T22·00+0000 |
commit | 15afa8472e1b1bbf236d4cf8e9f399345c48d3fe (patch) | |
tree | 88e475abad625ea4fed00525ab7d2ff882238a59 /third_party/nix/src/libstore | |
parent | ca50fb66d26a589dbc2935de68d95716b595a07a (diff) |
fix(3p/nix): Fix all remaining compiler warnings r/1403
This compiles under `-Wall -Werror`. The largest chunk of this change is `final` qualifiers for the various Nix CLI command structs, which inherit from a Command class that has more virtual functions than are implemented by each command. Change-Id: I0925e6e1a39013f026773db5816e4a77d50f3b4a Reviewed-on: https://cl.tvl.fyi/c/depot/+/1294 Tested-by: BuildkiteCI Reviewed-by: isomer <isomer@tvl.fyi> Reviewed-by: kanepyork <rikingcoding@gmail.com>
Diffstat (limited to 'third_party/nix/src/libstore')
-rw-r--r-- | third_party/nix/src/libstore/local-store.cc | 8 | ||||
-rw-r--r-- | third_party/nix/src/libstore/nar-info-disk-cache.cc | 7 | ||||
-rw-r--r-- | third_party/nix/src/libstore/nar-info-disk-cache.hh | 2 |
3 files changed, 13 insertions, 4 deletions
diff --git a/third_party/nix/src/libstore/local-store.cc b/third_party/nix/src/libstore/local-store.cc index e7746973f956..995bc4f998b4 100644 --- a/third_party/nix/src/libstore/local-store.cc +++ b/third_party/nix/src/libstore/local-store.cc @@ -490,10 +490,18 @@ static void canonicalisePathMetaData_(const Path& path, uid_t fromUid, if (inodesSeen.find(Inode(st.st_dev, st.st_ino)) == inodesSeen.end()) { throw BuildError(format("invalid ownership on file '%1%'") % path); } + +// `mode` variable is only used in debug builds +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-variable" + mode_t mode = st.st_mode & ~S_IFMT; assert(S_ISLNK(st.st_mode) || (st.st_uid == geteuid() && (mode == 0444 || mode == 0555) && st.st_mtime == mtimeStore)); + +#pragma clang diagnostic pop + return; } diff --git a/third_party/nix/src/libstore/nar-info-disk-cache.cc b/third_party/nix/src/libstore/nar-info-disk-cache.cc index c98882bff319..be2ad8f2dac1 100644 --- a/third_party/nix/src/libstore/nar-info-disk-cache.cc +++ b/third_party/nix/src/libstore/nar-info-disk-cache.cc @@ -49,7 +49,7 @@ create table if not exists LastPurge ( )sql"; -class NarInfoDiskCacheImpl : public NarInfoDiskCache { +class NarInfoDiskCacheImpl final : public NarInfoDiskCache { public: /* How often to purge expired entries from the cache. */ const int purgeInterval = 24 * 3600; @@ -280,8 +280,9 @@ class NarInfoDiskCacheImpl : public NarInfoDiskCache { } }; -ref<NarInfoDiskCache> getNarInfoDiskCache() { - static ref<NarInfoDiskCache> cache = make_ref<NarInfoDiskCacheImpl>(); +std::shared_ptr<NarInfoDiskCache> getNarInfoDiskCache() { + static std::shared_ptr<NarInfoDiskCache> cache = + std::make_shared<NarInfoDiskCacheImpl>(); return cache; } diff --git a/third_party/nix/src/libstore/nar-info-disk-cache.hh b/third_party/nix/src/libstore/nar-info-disk-cache.hh index b4107721aad1..8eeab7635a4e 100644 --- a/third_party/nix/src/libstore/nar-info-disk-cache.hh +++ b/third_party/nix/src/libstore/nar-info-disk-cache.hh @@ -25,6 +25,6 @@ class NarInfoDiskCache { /* Return a singleton cache object that can be used concurrently by multiple threads. */ -ref<NarInfoDiskCache> getNarInfoDiskCache(); +std::shared_ptr<NarInfoDiskCache> getNarInfoDiskCache(); } // namespace nix |