gfe-relnote: n/a(code clean up) Apply quic compile options to spdy/core
code.

These options are added to enhance cross platfrom compatibility. As spdy is also part of QUICHE, it's good to apply these options as well.
Fix all the violations under third_party/spdy/core.

Platform-ize gunit, gmock and gunit_main

PiperOrigin-RevId: 255038615
Change-Id: I6ad003f68679f8adf4b2582c7dea3b6b950f0acc
diff --git a/spdy/core/spdy_protocol.cc b/spdy/core/spdy_protocol.cc
index e454e08..d9b642f 100644
--- a/spdy/core/spdy_protocol.cc
+++ b/spdy/core/spdy_protocol.cc
@@ -4,6 +4,7 @@
 
 #include "net/third_party/quiche/src/spdy/core/spdy_protocol.h"
 
+#include <limits>
 #include <ostream>
 
 #include "net/third_party/quiche/src/spdy/platform/api/spdy_bug_tracker.h"
@@ -24,10 +25,9 @@
 }
 
 SpdyPriority ClampSpdy3Priority(SpdyPriority priority) {
-  if (priority < kV3HighestPriority) {
-    SPDY_BUG << "Invalid priority: " << static_cast<int>(priority);
-    return kV3HighestPriority;
-  }
+  static_assert(std::numeric_limits<SpdyPriority>::min() == kV3HighestPriority,
+                "The value of given priority shouldn't be smaller than highest "
+                "priority. Check this invariant explicitly.");
   if (priority > kV3LowestPriority) {
     SPDY_BUG << "Invalid priority: " << static_cast<int>(priority);
     return kV3LowestPriority;