about summary refs log tree commit diff
path: root/third_party/nix/src/libexpr/parser.hh
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2020-07-19T20·52+0100
committertazjin <mail@tazj.in>2020-07-19T22·00+0000
commit15afa8472e1b1bbf236d4cf8e9f399345c48d3fe (patch)
tree88e475abad625ea4fed00525ab7d2ff882238a59 /third_party/nix/src/libexpr/parser.hh
parentca50fb66d26a589dbc2935de68d95716b595a07a (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/libexpr/parser.hh')
-rw-r--r--third_party/nix/src/libexpr/parser.hh11
1 files changed, 11 insertions, 0 deletions
diff --git a/third_party/nix/src/libexpr/parser.hh b/third_party/nix/src/libexpr/parser.hh
index 7592e3f82c..7b8f955731 100644
--- a/third_party/nix/src/libexpr/parser.hh
+++ b/third_party/nix/src/libexpr/parser.hh
@@ -34,6 +34,15 @@ struct ParseData : public gc {
         sLetBody(symbols.Create("<let-body>")){};
 };
 
+// Clang fails to identify these functions as used, probably because
+// of some interaction between the lexer/parser codegen and something
+// else.
+//
+// To avoid warnings for that we disable -Wunused-function in this block.
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wunused-function"
+
 // TODO(tazjin): move dupAttr to anonymous namespace
 static void dupAttr(const AttrPath& attrPath, const Pos& pos,
                     const Pos& prevPos) {
@@ -85,4 +94,6 @@ static Expr* unescapeStr(SymbolTable& symbols, const char* s, size_t length) {
   return new ExprString(symbols.Create(t));
 }
 
+#pragma clang diagnostic pop  // re-enable -Wunused-function
+
 }  // namespace nix