You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2017/08/17 17:16:19 UTC

[trafficserver] 01/05: Fixed to build on Fedora 26 with gcc7

This is an automated email from the ASF dual-hosted git repository.

zwoop pushed a commit to branch 7.1.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git

commit 3593f51d0f6b75f90758f9562d23a9b3bf8559fb
Author: Bryan Call <bc...@apache.org>
AuthorDate: Sun Jul 16 00:05:39 2017 -0700

    Fixed to build on Fedora 26 with gcc7
    
    (cherry picked from commit c45be0d9919b4d385a79d9bc92f8f7be420340fa)
---
 configure.ac                                       |   4 +-
 iocore/cache/CachePages.cc                         |   2 +
 iocore/dns/DNS.cc                                  |   1 +
 iocore/eventsystem/UnixEventProcessor.cc           |   2 +
 iocore/net/Socks.cc                                |   4 +-
 iocore/utils/OneWayTunnel.cc                       |  10 +-
 lib/cppapi/InterceptPlugin.cc                      |   2 +
 lib/ts/ink_hrtime.cc                               |   5 +
 mgmt/WebMgmtUtils.cc                               |  15 +++
 .../collapsed_connection/MurmurHash3.cc            |  29 ++++++
 plugins/experimental/inliner/ts.h                  |   8 +-
 plugins/experimental/memcache/tsmemcache.cc        |   2 +
 plugins/experimental/money_trace/money_trace.cc    |   2 +
 proxy/SocksProxy.cc                                |   3 +-
 proxy/http/HttpSM.cc                               |   9 +-
 proxy/http/HttpTransact.cc                         | 108 +++++++--------------
 proxy/logging/LogCollationClientSM.cc              |   3 +-
 17 files changed, 121 insertions(+), 88 deletions(-)

diff --git a/configure.ac b/configure.ac
index c9ae7b3..af8ba84 100644
--- a/configure.ac
+++ b/configure.ac
@@ -816,8 +816,8 @@ case $host_os_def in
 
     AS_IF([test "x$ax_cv_c_compiler_vendor" = "xgnu"], [
       # This is useful for finding odd conversions
-      #    common_opt="-pipe -Wall -Wconversion -Wno-sign-conversion"
-      common_opt="-pipe -Wall -Wextra -Wno-ignored-qualifiers -Wno-unused-parameter"
+      #    common_opt="-pipe -Wall -Wconversion -Wno-sign-conversion -Wno-format-truncation"
+      common_opt="-pipe -Wall -Wextra -Wno-ignored-qualifiers -Wno-unused-parameter -Wno-format-truncation"
       debug_opt="-ggdb3 $common_opt"
       release_opt="-g $common_opt $optimizing_flags -feliminate-unused-debug-symbols -fno-strict-aliasing"
       cxx_opt="-Wno-invalid-offsetof"
diff --git a/iocore/cache/CachePages.cc b/iocore/cache/CachePages.cc
index 71870a5..a5c456f 100644
--- a/iocore/cache/CachePages.cc
+++ b/iocore/cache/CachePages.cc
@@ -413,6 +413,8 @@ ShowCache::handleCacheEvent(int event, Event *e)
     }
     // open success but no vector, that is the Cluster open read, pass through
   }
+  // fallthrough
+
   case VC_EVENT_READ_READY:
     if (!cvio) {
       buffer         = new_empty_MIOBuffer();
diff --git a/iocore/dns/DNS.cc b/iocore/dns/DNS.cc
index 3d854ec..5c1522a 100644
--- a/iocore/dns/DNS.cc
+++ b/iocore/dns/DNS.cc
@@ -1312,6 +1312,7 @@ dns_process(DNSHandler *handler, HostEnt *buf, int len)
       goto Lerror;
     case SERVFAIL: // recoverable error
       retry = true;
+      break;
     case FORMERR: // unrecoverable errors
     case REFUSED:
     case NOTIMP:
diff --git a/iocore/eventsystem/UnixEventProcessor.cc b/iocore/eventsystem/UnixEventProcessor.cc
index 853d347..fcfdad4 100644
--- a/iocore/eventsystem/UnixEventProcessor.cc
+++ b/iocore/eventsystem/UnixEventProcessor.cc
@@ -188,6 +188,8 @@ EventProcessor::start(int n_event_threads, size_t stacksize)
     if (hwloc_get_nbobjs_by_type(ink_get_topology(), obj_type) > 0) {
       break;
     }
+  // fallthrough
+
   case 2: // assign threads to sockets
     obj_type = HWLOC_OBJ_SOCKET;
     obj_name = (char *)"Socket";
diff --git a/iocore/net/Socks.cc b/iocore/net/Socks.cc
index 4547140..48624f9 100644
--- a/iocore/net/Socks.cc
+++ b/iocore/net/Socks.cc
@@ -418,9 +418,9 @@ SocksEntry::mainEvent(int event, void *data)
      This is server_connect_timeout. So we treat this as server being
      down.
      Should cancel any pending connect() action. Important on windows
+  */
+  // fallthrough
 
-     fall through
-   */
   case VC_EVENT_ERROR:
     /*This is mostly ECONNREFUSED on Unix */
     SET_HANDLER(&SocksEntry::startEvent);
diff --git a/iocore/utils/OneWayTunnel.cc b/iocore/utils/OneWayTunnel.cc
index ff6c011..5356024 100644
--- a/iocore/utils/OneWayTunnel.cc
+++ b/iocore/utils/OneWayTunnel.cc
@@ -286,19 +286,25 @@ OneWayTunnel::startEvent(int event, void *data)
     // set write nbytes to the current buffer size
     //
     vioTarget->nbytes = vioTarget->ndone + vioTarget->buffer.reader()->read_avail();
-    if (vioTarget->nbytes == vioTarget->ndone)
+    if (vioTarget->nbytes == vioTarget->ndone) {
       goto Ldone;
+    }
     vioTarget->reenable();
-    if (!tunnel_peer)
+    if (!tunnel_peer) {
       close_source_vio(0);
+    }
     break;
 
   Lerror:
   case VC_EVENT_ERROR:
     lerrno = ((VIO *)data)->vc_server->lerrno;
+  // fallthrough
+
   case VC_EVENT_INACTIVITY_TIMEOUT:
   case VC_EVENT_ACTIVE_TIMEOUT:
     result = -1;
+  // fallthrough
+
   Ldone:
   case VC_EVENT_WRITE_COMPLETE:
     if (tunnel_peer) {
diff --git a/lib/cppapi/InterceptPlugin.cc b/lib/cppapi/InterceptPlugin.cc
index 86caf15..c39ccde 100644
--- a/lib/cppapi/InterceptPlugin.cc
+++ b/lib/cppapi/InterceptPlugin.cc
@@ -305,6 +305,8 @@ InterceptPlugin::handleEvent(int abstract_event, void *edata)
     }
     // else fall through into the next shut down cases
     LOG_ERROR("Error while reading request!");
+  // fallthrough
+
   case TS_EVENT_VCONN_READ_COMPLETE: // fall throughs intentional
   case TS_EVENT_VCONN_WRITE_COMPLETE:
   case TS_EVENT_VCONN_EOS:
diff --git a/lib/ts/ink_hrtime.cc b/lib/ts/ink_hrtime.cc
index 4c62d76..e48c992 100644
--- a/lib/ts/ink_hrtime.cc
+++ b/lib/ts/ink_hrtime.cc
@@ -93,11 +93,16 @@ int64_to_str(char *buf, unsigned int buf_size, int64_t val, unsigned int *total_
       switch (num_padding) {
       case 3:
         *--out_buf = pad_char;
+      // fallthrough
+
       case 2:
         *--out_buf = pad_char;
+      // fallthrough
+
       case 1:
         *--out_buf = pad_char;
         break;
+
       default:
         for (unsigned int i = 0; i < num_padding; ++i, *--out_buf = pad_char)
           ;
diff --git a/mgmt/WebMgmtUtils.cc b/mgmt/WebMgmtUtils.cc
index b71c9ec..b74cc3f 100644
--- a/mgmt/WebMgmtUtils.cc
+++ b/mgmt/WebMgmtUtils.cc
@@ -135,17 +135,22 @@ varSetFloat(const char *varName, RecFloat value, bool convert)
   case RECD_FLOAT:
     RecSetRecordFloat((char *)varName, (RecFloat)value, REC_SOURCE_EXPLICIT);
     break;
+
   case RECD_INT:
     if (convert) {
       value += 0.5; // rounding up
       RecSetRecordInt((char *)varName, (RecInt)value, REC_SOURCE_EXPLICIT);
       break;
     }
+  // fallthrough
+
   case RECD_COUNTER:
     if (convert) {
       RecSetRecordCounter((char *)varName, (RecCounter)value, REC_SOURCE_EXPLICIT);
       break;
     }
+  // fallthrough
+
   case RECD_STRING:
   case RECD_NULL:
   default:
@@ -181,16 +186,21 @@ varSetCounter(const char *varName, RecCounter value, bool convert)
   case RECD_COUNTER:
     RecSetRecordCounter((char *)varName, (RecCounter)value, REC_SOURCE_EXPLICIT);
     break;
+
   case RECD_INT:
     if (convert) {
       RecSetRecordInt((char *)varName, (RecInt)value, REC_SOURCE_EXPLICIT);
       break;
     }
+  // fallthrough
+
   case RECD_FLOAT:
     if (convert) {
       RecSetRecordFloat((char *)varName, (RecFloat)value, REC_SOURCE_EXPLICIT);
       break;
     }
+  // fallthrough
+
   case RECD_STRING:
   case RECD_NULL:
   default:
@@ -226,16 +236,21 @@ varSetInt(const char *varName, RecInt value, bool convert)
   case RECD_INT:
     RecSetRecordInt((char *)varName, (RecInt)value, REC_SOURCE_EXPLICIT);
     break;
+
   case RECD_COUNTER:
     if (convert) {
       RecSetRecordCounter((char *)varName, (RecCounter)value, REC_SOURCE_EXPLICIT);
       break;
     }
+  // fallthrough
+
   case RECD_FLOAT:
     if (convert) {
       RecSetRecordFloat((char *)varName, (RecFloat)value, REC_SOURCE_EXPLICIT);
       break;
     }
+  // fallthrough
+
   case RECD_STRING:
   case RECD_NULL:
   default:
diff --git a/plugins/experimental/collapsed_connection/MurmurHash3.cc b/plugins/experimental/collapsed_connection/MurmurHash3.cc
index 7531a14..2fc8a5e 100644
--- a/plugins/experimental/collapsed_connection/MurmurHash3.cc
+++ b/plugins/experimental/collapsed_connection/MurmurHash3.cc
@@ -114,8 +114,12 @@ MurmurHash3_x86_32(const void *key, int len, uint32_t seed, void *out)
   switch (len & 3) {
   case 3:
     k1 ^= tail[2] << 16;
+  // fallthrough
+
   case 2:
     k1 ^= tail[1] << 8;
+  // fallthrough
+
   case 1:
     k1 ^= tail[0];
     k1 *= c1;
@@ -213,47 +217,72 @@ MurmurHash3_x86_128(const void *key, const int len, uint32_t seed, void *out)
   switch (len & 15) {
   case 15:
     k4 ^= tail[14] << 16;
+  // fallthrough
+
   case 14:
     k4 ^= tail[13] << 8;
+  // fallthrough
+
   case 13:
     k4 ^= tail[12] << 0;
     k4 *= c4;
     k4 = ROTL32(k4, 18);
     k4 *= c1;
     h4 ^= k4;
+  // fallthrough
 
   case 12:
     k3 ^= tail[11] << 24;
+  // fallthrough
+
   case 11:
     k3 ^= tail[10] << 16;
+  // fallthrough
+
   case 10:
     k3 ^= tail[9] << 8;
+  // fallthrough
+
   case 9:
     k3 ^= tail[8] << 0;
     k3 *= c3;
     k3 = ROTL32(k3, 17);
     k3 *= c4;
     h3 ^= k3;
+  // fallthrough
 
   case 8:
     k2 ^= tail[7] << 24;
+  // fallthrough
+
   case 7:
     k2 ^= tail[6] << 16;
+  // fallthrough
+
   case 6:
     k2 ^= tail[5] << 8;
+  // fallthrough
+
   case 5:
     k2 ^= tail[4] << 0;
     k2 *= c2;
     k2 = ROTL32(k2, 16);
     k2 *= c3;
     h2 ^= k2;
+  // fallthrough
 
   case 4:
     k1 ^= tail[3] << 24;
+  // fallthrough
+
   case 3:
     k1 ^= tail[2] << 16;
+  // fallthrough
+
   case 2:
     k1 ^= tail[1] << 8;
+  // fallthrough
+
   case 1:
     k1 ^= tail[0] << 0;
     k1 *= c1;
diff --git a/plugins/experimental/inliner/ts.h b/plugins/experimental/inliner/ts.h
index 718dc93..dc28b71 100644
--- a/plugins/experimental/inliner/ts.h
+++ b/plugins/experimental/inliner/ts.h
@@ -94,8 +94,8 @@ namespace io
     }
 
     ReaderSize(const ReaderSize &) = delete;
-    ReaderSize &operator=(const ReaderSize &)                   = delete;
-    void *operator new(const std::size_t) throw(std::bad_alloc) = delete;
+    ReaderSize &operator=(const ReaderSize &) = delete;
+    void *operator new(const std::size_t)     = delete;
   };
 
   struct ReaderOffset {
@@ -104,8 +104,8 @@ namespace io
 
     ReaderOffset(const TSIOBufferReader r, const size_t o) : reader(r), offset(o) { assert(reader != NULL); }
     ReaderOffset(const ReaderOffset &) = delete;
-    ReaderOffset &operator=(const ReaderOffset &)               = delete;
-    void *operator new(const std::size_t) throw(std::bad_alloc) = delete;
+    ReaderOffset &operator=(const ReaderOffset &) = delete;
+    void *operator new(const std::size_t)         = delete;
   };
 
   struct WriteOperation;
diff --git a/plugins/experimental/memcache/tsmemcache.cc b/plugins/experimental/memcache/tsmemcache.cc
index 9268b02..1f8465c 100644
--- a/plugins/experimental/memcache/tsmemcache.cc
+++ b/plugins/experimental/memcache/tsmemcache.cc
@@ -388,11 +388,13 @@ MC::write_binary_response(const void *d, int hlen, int keylen, int dlen)
       case VC_EVENT_EOS:                             \
         if ((VIO *)data == rvio)                     \
           break;                                     \
+      /* fallthrough */                              \
       case VC_EVENT_READ_READY:                      \
         return EVENT_CONT;                           \
       case VC_EVENT_WRITE_READY:                     \
         if (wvio->buffer.reader()->read_avail() > 0) \
           return EVENT_CONT;                         \
+      /* fallthrough */                              \
       case VC_EVENT_WRITE_COMPLETE:                  \
         return EVENT_DONE;                           \
       default:                                       \
diff --git a/plugins/experimental/money_trace/money_trace.cc b/plugins/experimental/money_trace/money_trace.cc
index bbdf436..e2e4089 100644
--- a/plugins/experimental/money_trace/money_trace.cc
+++ b/plugins/experimental/money_trace/money_trace.cc
@@ -91,6 +91,8 @@ mt_cache_lookup_check(TSCont contp, TSHttpTxn txnp, struct txndata *txn_data)
     // fall through to the default as we always need to send the original
     // money trace header received from the client back to the client in the
     // response
+    // fallthrough
+
     default:
       TSHttpTxnHookAdd(txnp, TS_HTTP_SEND_RESPONSE_HDR_HOOK, contp);
       break;
diff --git a/proxy/SocksProxy.cc b/proxy/SocksProxy.cc
index e03e4fc..157b52a 100644
--- a/proxy/SocksProxy.cc
+++ b/proxy/SocksProxy.cc
@@ -144,7 +144,8 @@ SocksProxy::mainEvent(int event, void *data)
 
     clientVC = (NetVConnection *)data;
     clientVC->socks_addr.reset();
-  // Fall through:
+  // fallthrough
+
   case VC_EVENT_WRITE_COMPLETE:
 
     switch (state) {
diff --git a/proxy/http/HttpSM.cc b/proxy/http/HttpSM.cc
index 6f8ec01..97fbdfa 100644
--- a/proxy/http/HttpSM.cc
+++ b/proxy/http/HttpSM.cc
@@ -1949,6 +1949,8 @@ HttpSM::state_read_server_response_header(int event, void *data)
     }
     // FALLTHROUGH (since we are allowing the parse error)
   }
+  // fallthrough
+
   case PARSE_RESULT_DONE:
     DebugSM("http_seq", "Done parsing server response header");
 
@@ -2078,7 +2080,9 @@ HttpSM::state_send_server_request_header(int event, void *data)
      } */
 
   // Nothing in the buffer
-  //  FALLTHROUGH to error
+  // proceed to error
+  // fallthrough
+
   case VC_EVENT_ERROR:
   case VC_EVENT_ACTIVE_TIMEOUT:
   case VC_EVENT_INACTIVITY_TIMEOUT:
@@ -3439,6 +3443,8 @@ HttpSM::tunnel_handler_cache_read(int event, HttpTunnelProducer *p)
       // fall through for the case INT64_MAX read with VC_EVENT_EOS
       // callback (read successful)
     }
+  // fallthrough
+
   case VC_EVENT_READ_COMPLETE:
   case HTTP_TUNNEL_EVENT_PRECOMPLETE:
   case HTTP_TUNNEL_EVENT_CONSUMER_DETACH:
@@ -7736,6 +7742,7 @@ HttpSM::set_next_state()
 
   case HttpTransact::SM_ACTION_CONTINUE: {
     ink_release_assert(!"Not implemented");
+    break;
   }
 
   default: {
diff --git a/proxy/http/HttpTransact.cc b/proxy/http/HttpTransact.cc
index c968f5a..b47cae7 100644
--- a/proxy/http/HttpTransact.cc
+++ b/proxy/http/HttpTransact.cc
@@ -6767,6 +6767,7 @@ HttpTransact::handle_content_length_header(State *s, HTTPHdr *header, HTTPHdr *b
         if (s->range_setup != HttpTransact::RANGE_NOT_TRANSFORM_REQUESTED) {
           break;
         }
+      // fallthrough
 
       case SOURCE_CACHE:
         // if we are doing a single Range: request, calculate the new
@@ -8512,6 +8513,8 @@ HttpTransact::client_result_stat(State *s, ink_hrtime total_time, ink_hrtime req
 
   case SQUID_LOG_TCP_MEM_HIT:
     HTTP_INCREMENT_DYN_STAT(http_cache_hit_mem_fresh_stat);
+  // fallthrough
+
   case SQUID_LOG_TCP_HIT:
     // It's possible to have two stat's instead of one, if needed.
     HTTP_INCREMENT_DYN_STAT(http_cache_hit_fresh_stat);
@@ -8953,80 +8956,37 @@ HttpTransact::update_size_and_time_stats(State *s, ink_hrtime total_time, ink_hr
   }
 
   // update milestones stats
-  if (http_ua_begin_time_stat) {
-    HTTP_SUM_DYN_STAT(http_ua_begin_time_stat, milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_UA_BEGIN));
-  }
-  if (http_ua_first_read_time_stat) {
-    HTTP_SUM_DYN_STAT(http_ua_first_read_time_stat, milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_UA_FIRST_READ));
-  }
-  if (http_ua_read_header_done_time_stat) {
-    HTTP_SUM_DYN_STAT(http_ua_read_header_done_time_stat,
-                      milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_UA_READ_HEADER_DONE));
-  }
-  if (http_ua_begin_write_time_stat) {
-    HTTP_SUM_DYN_STAT(http_ua_begin_write_time_stat,
-                      milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_UA_BEGIN_WRITE));
-  }
-  if (http_ua_close_time_stat) {
-    HTTP_SUM_DYN_STAT(http_ua_close_time_stat, milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_UA_CLOSE));
-  }
-  if (http_server_first_connect_time_stat) {
-    HTTP_SUM_DYN_STAT(http_server_first_connect_time_stat,
-                      milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_SERVER_FIRST_CONNECT));
-  }
-  if (http_server_connect_time_stat) {
-    HTTP_SUM_DYN_STAT(http_server_connect_time_stat,
-                      milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_SERVER_CONNECT));
-  }
-  if (http_server_connect_end_time_stat) {
-    HTTP_SUM_DYN_STAT(http_server_connect_end_time_stat,
-                      milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_SERVER_CONNECT_END));
-  }
-  if (http_server_begin_write_time_stat) {
-    HTTP_SUM_DYN_STAT(http_server_begin_write_time_stat,
-                      milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_SERVER_BEGIN_WRITE));
-  }
-  if (http_server_first_read_time_stat) {
-    HTTP_SUM_DYN_STAT(http_server_first_read_time_stat,
-                      milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_SERVER_FIRST_READ));
-  }
-  if (http_server_read_header_done_time_stat) {
-    HTTP_SUM_DYN_STAT(http_server_read_header_done_time_stat,
-                      milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_SERVER_READ_HEADER_DONE));
-  }
-  if (http_server_close_time_stat) {
-    HTTP_SUM_DYN_STAT(http_server_close_time_stat, milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_SERVER_CLOSE));
-  }
-  if (http_cache_open_read_begin_time_stat) {
-    HTTP_SUM_DYN_STAT(http_cache_open_read_begin_time_stat,
-                      milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_CACHE_OPEN_READ_BEGIN));
-  }
-  if (http_cache_open_read_end_time_stat) {
-    HTTP_SUM_DYN_STAT(http_cache_open_read_end_time_stat,
-                      milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_CACHE_OPEN_READ_END));
-  }
-  if (http_cache_open_write_begin_time_stat) {
-    HTTP_SUM_DYN_STAT(http_cache_open_write_begin_time_stat,
-                      milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_CACHE_OPEN_WRITE_BEGIN));
-  }
-  if (http_cache_open_write_end_time_stat) {
-    HTTP_SUM_DYN_STAT(http_cache_open_write_end_time_stat,
-                      milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_CACHE_OPEN_WRITE_END));
-  }
-  if (http_dns_lookup_begin_time_stat) {
-    HTTP_SUM_DYN_STAT(http_dns_lookup_begin_time_stat,
-                      milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_DNS_LOOKUP_BEGIN));
-  }
-  if (http_dns_lookup_end_time_stat) {
-    HTTP_SUM_DYN_STAT(http_dns_lookup_end_time_stat,
-                      milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_DNS_LOOKUP_END));
-  }
-  if (http_sm_start_time_stat) {
-    HTTP_SUM_DYN_STAT(http_sm_start_time_stat, milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_SM_START));
-  }
-  if (http_sm_finish_time_stat) {
-    HTTP_SUM_DYN_STAT(http_sm_finish_time_stat, milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_SM_FINISH));
-  }
+  HTTP_SUM_DYN_STAT(http_ua_begin_time_stat, milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_UA_BEGIN));
+  HTTP_SUM_DYN_STAT(http_ua_first_read_time_stat, milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_UA_FIRST_READ));
+  HTTP_SUM_DYN_STAT(http_ua_read_header_done_time_stat,
+                    milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_UA_READ_HEADER_DONE));
+  HTTP_SUM_DYN_STAT(http_ua_begin_write_time_stat, milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_UA_BEGIN_WRITE));
+  HTTP_SUM_DYN_STAT(http_ua_close_time_stat, milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_UA_CLOSE));
+  HTTP_SUM_DYN_STAT(http_server_first_connect_time_stat,
+                    milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_SERVER_FIRST_CONNECT));
+  HTTP_SUM_DYN_STAT(http_server_connect_time_stat, milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_SERVER_CONNECT));
+  HTTP_SUM_DYN_STAT(http_server_connect_end_time_stat,
+                    milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_SERVER_CONNECT_END));
+  HTTP_SUM_DYN_STAT(http_server_begin_write_time_stat,
+                    milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_SERVER_BEGIN_WRITE));
+  HTTP_SUM_DYN_STAT(http_server_first_read_time_stat,
+                    milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_SERVER_FIRST_READ));
+  HTTP_SUM_DYN_STAT(http_server_read_header_done_time_stat,
+                    milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_SERVER_READ_HEADER_DONE));
+  HTTP_SUM_DYN_STAT(http_server_close_time_stat, milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_SERVER_CLOSE));
+  HTTP_SUM_DYN_STAT(http_cache_open_read_begin_time_stat,
+                    milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_CACHE_OPEN_READ_BEGIN));
+  HTTP_SUM_DYN_STAT(http_cache_open_read_end_time_stat,
+                    milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_CACHE_OPEN_READ_END));
+  HTTP_SUM_DYN_STAT(http_cache_open_write_begin_time_stat,
+                    milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_CACHE_OPEN_WRITE_BEGIN));
+  HTTP_SUM_DYN_STAT(http_cache_open_write_end_time_stat,
+                    milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_CACHE_OPEN_WRITE_END));
+  HTTP_SUM_DYN_STAT(http_dns_lookup_begin_time_stat,
+                    milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_DNS_LOOKUP_BEGIN));
+  HTTP_SUM_DYN_STAT(http_dns_lookup_end_time_stat, milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_DNS_LOOKUP_END));
+  HTTP_SUM_DYN_STAT(http_sm_start_time_stat, milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_SM_START));
+  HTTP_SUM_DYN_STAT(http_sm_finish_time_stat, milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_SM_FINISH));
 }
 
 void
diff --git a/proxy/logging/LogCollationClientSM.cc b/proxy/logging/LogCollationClientSM.cc
index 1e68b0b..ed17b5a 100644
--- a/proxy/logging/LogCollationClientSM.cc
+++ b/proxy/logging/LogCollationClientSM.cc
@@ -595,8 +595,7 @@ LogCollationClientSM::client_send(int event, VIO * /* vio ATS_UNUSED */)
     Debug("log-coll", "[%d]client::client_send - EVENT_IMMEDIATE", m_id);
     // callback complete, reset m_pending_event
     m_pending_event = nullptr;
-
-  // fall through to LOG_COLL_EVENT_SWITCH
+  // fallthrough
 
   case LOG_COLL_EVENT_SWITCH: {
     Debug("log-coll", "[%d]client::client_send - SWITCH", m_id);

-- 
To stop receiving notification emails like this one, please contact
"commits@trafficserver.apache.org" <co...@trafficserver.apache.org>.