Add default return statements to switch statements to appease GCC.

This CL follows the recipe recommendations at go/totw/147 for using exhaustive
switch statements, including a final default return (LOG(ERROR) skipped for
binary size considerations). The default return in particular is important for
satisfying Envoy's GCC builds.

PiperOrigin-RevId: 407385732
diff --git a/http2/adapter/header_validator.cc b/http2/adapter/header_validator.cc
index 7cf9220..0122018 100644
--- a/http2/adapter/header_validator.cc
+++ b/http2/adapter/header_validator.cc
@@ -92,9 +92,8 @@
       return ValidateResponseHeaders(pseudo_headers_);
     case HeaderType::RESPONSE_TRAILER:
       return ValidateResponseTrailers(pseudo_headers_);
-    default:
-      return false;
   }
+  return false;
 }
 
 }  // namespace adapter
diff --git a/http2/adapter/http2_util.cc b/http2/adapter/http2_util.cc
index 138bde7..efca530 100644
--- a/http2/adapter/http2_util.cc
+++ b/http2/adapter/http2_util.cc
@@ -1,5 +1,7 @@
 #include "http2/adapter/http2_util.h"
 
+#include "spdy/core/spdy_protocol.h"
+
 namespace http2 {
 namespace adapter {
 namespace {
@@ -40,6 +42,7 @@
     case Http2ErrorCode::HTTP_1_1_REQUIRED:
       return spdy::ERROR_CODE_HTTP_1_1_REQUIRED;
   }
+  return spdy::ERROR_CODE_INTERNAL_ERROR;
 }
 
 Http2ErrorCode TranslateErrorCode(spdy::SpdyErrorCode code) {
@@ -73,6 +76,7 @@
     case spdy::ERROR_CODE_HTTP_1_1_REQUIRED:
       return Http2ErrorCode::HTTP_1_1_REQUIRED;
   }
+  return Http2ErrorCode::INTERNAL_ERROR;
 }
 
 absl::string_view ConnectionErrorToString(ConnectionError error) {
@@ -92,6 +96,7 @@
     case ConnectionError::kInvalidPushPromise:
       return "InvalidPushPromise";
   }
+  return "UnknownConnectionError";
 }
 
 absl::string_view InvalidFrameErrorToString(
@@ -110,8 +115,7 @@
     case InvalidFrameError::kStreamClosed:
       return "StreamClosed";
   }
-  QUICHE_LOG(ERROR) << "Unknown InvalidFrameError " << static_cast<int>(error);
-  return "UnknownError";
+  return "UnknownInvalidFrameError";
 }
 
 }  // namespace adapter
diff --git a/http2/adapter/nghttp2_callbacks.cc b/http2/adapter/nghttp2_callbacks.cc
index 8564d6a..9e04158 100644
--- a/http2/adapter/nghttp2_callbacks.cc
+++ b/http2/adapter/nghttp2_callbacks.cc
@@ -178,10 +178,9 @@
       return NGHTTP2_ERR_CALLBACK_FAILURE;
     case Http2VisitorInterface::HEADER_RST_STREAM:
       return NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE;
-    default:
-      // Unexpected value.
-      return NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE;
   }
+  // Unexpected value.
+  return NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE;
 }
 
 int OnBeforeFrameSent(nghttp2_session* /* session */,
diff --git a/http2/adapter/nghttp2_util.cc b/http2/adapter/nghttp2_util.cc
index 65ee06b..2d0171c 100644
--- a/http2/adapter/nghttp2_util.cc
+++ b/http2/adapter/nghttp2_util.cc
@@ -139,7 +139,6 @@
     case InvalidFrameError::kStreamClosed:
       return NGHTTP2_ERR_STREAM_CLOSED;
   }
-  QUICHE_LOG(ERROR) << "Unknown InvalidFrameError " << static_cast<int>(error);
   return NGHTTP2_ERR_PROTO;
 }
 
@@ -158,7 +157,6 @@
     case NGHTTP2_ERR_STREAM_CLOSED:
       return InvalidFrameError::kStreamClosed;
   }
-  QUICHE_LOG(ERROR) << "Unknown error " << error;
   return InvalidFrameError::kProtocol;
 }
 
diff --git a/http2/adapter/oghttp2_session.cc b/http2/adapter/oghttp2_session.cc
index ed16f04..7c8790d 100644
--- a/http2/adapter/oghttp2_session.cc
+++ b/http2/adapter/oghttp2_session.cc
@@ -131,6 +131,7 @@
     case Perspective::kServer:
       return "OGHTTP2_SERVER";
   }
+  return "OGHTTP2_SERVER";
 }
 
 class RunOnExit {
@@ -186,6 +187,7 @@
     case SpdyFramerError::LAST_ERROR:
       return Http2ErrorCode::INTERNAL_ERROR;
   }
+  return Http2ErrorCode::INTERNAL_ERROR;
 }
 
 }  // namespace