Merge pull request #71 from reventlov/more_enum_comparisons

Allow all comparison operators for enums.
diff --git a/.bazelrc b/.bazelrc
index 6682e93..85399b9 100644
--- a/.bazelrc
+++ b/.bazelrc
@@ -1 +1,6 @@
-build --copt=-std=c++11
+# Emboss (at least notionally) supports C++11 until (at least) 2027.  However,
+# Googletest requires C++14, which means that all of the Emboss unit tests
+# require C++14 to run.
+#
+# TODO(bolms): Find and port to a C++11-compatible unit test framework.
+build --copt=-std=c++14
diff --git a/WORKSPACE b/WORKSPACE
index f26dd06..691fa88 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -7,13 +7,19 @@
 git_repository(
     name = "com_google_googletest",
     remote = "https://github.com/google/googletest",
-    commit = "f899e81e43407c9a3433d9ad3a0a8f64e450ba44",
+    commit = "2f2e72bae991138cedd0e3d06a115022736cd568",
     shallow_since = "1563302555 -0400",
 )
 
 git_repository(
     name = "com_google_absl",
     remote = "https://github.com/abseil/abseil-cpp",
-    commit = "44efe96dfca674a17b45ca53fc77fb69f1e29bf4",
+    commit = "3020b58f0d987073b8adab204426f82c3f60b283",
     shallow_since = "1562769772 +0000",
 )
+
+http_archive(
+  name = "bazel_skylib",
+  urls = ["https://github.com/bazelbuild/bazel-skylib/releases/download/1.2.1/bazel-skylib-1.2.1.tar.gz"],
+  sha256 = "f7be3474d42aae265405a592bb7da8e171919d74c16f082a5457840f06054728",
+)
diff --git a/compiler/back_end/cpp/generated_code_templates b/compiler/back_end/cpp/generated_code_templates
index 83a369d..4541bdb 100644
--- a/compiler/back_end/cpp/generated_code_templates
+++ b/compiler/back_end/cpp/generated_code_templates
@@ -470,6 +470,7 @@
 struct $_name_$ {
   template <typename ValueType>
   static constexpr bool ValueIsOk(ValueType emboss_reserved_local_value) {
+    (void)emboss_reserved_local_value;  // Silence -Wunused-parameter
     return ($_expression_$).ValueOrDefault();
   }
 };
@@ -659,6 +660,7 @@
 
     static constexpr bool ValueIsOk(
         $_logical_type_$ emboss_reserved_local_value) {
+      (void)emboss_reserved_local_value;  // Silence -Wunused-parameter
       return $_value_is_ok_$.ValueOr(false);
     }