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

[trafficserver] branch master updated: Fixed to build on Fedora 26 with gcc7

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

bcall pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git


The following commit(s) were added to refs/heads/master by this push:
     new c45be0d  Fixed to build on Fedora 26 with gcc7
c45be0d is described below

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

    Fixed to build on Fedora 26 with gcc7
---
 configure.ac                                       |   4 +-
 iocore/cache/CachePages.cc                         |   2 +
 iocore/dns/DNS.cc                                  |   1 +
 iocore/eventsystem/UnixEventProcessor.cc           |   4 +
 iocore/net/Socks.cc                                |   4 +-
 iocore/utils/OneWayTunnel.cc                       |   5 +
 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, 120 insertions(+), 86 deletions(-)

diff --git a/configure.ac b/configure.ac
index 1c21488..f0c31c3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -825,8 +825,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 6d7bc86..5ca3019 100644
--- a/iocore/cache/CachePages.cc
+++ b/iocore/cache/CachePages.cc
@@ -416,6 +416,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 fcd78c1..297a8ff 100644
--- a/iocore/dns/DNS.cc
+++ b/iocore/dns/DNS.cc
@@ -1360,6 +1360,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 c2022fb..8a7b27f 100644
--- a/iocore/eventsystem/UnixEventProcessor.cc
+++ b/iocore/eventsystem/UnixEventProcessor.cc
@@ -110,16 +110,20 @@ ThreadAffinityInitializer::init()
     obj_name = "Logical Processor";
     break;
 #endif
+
   case 3: // assign threads to real cores
     obj_type = HWLOC_OBJ_CORE;
     obj_name = "Core";
     break;
+
   case 1: // assign threads to NUMA nodes (often 1:1 with sockets)
     obj_type = HWLOC_OBJ_NODE;
     obj_name = "NUMA Node";
     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 = "Socket";
diff --git a/iocore/net/Socks.cc b/iocore/net/Socks.cc
index 70b5158..568ae05 100644
--- a/iocore/net/Socks.cc
+++ b/iocore/net/Socks.cc
@@ -425,9 +425,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 53709f9..523d992 100644
--- a/iocore/utils/OneWayTunnel.cc
+++ b/iocore/utils/OneWayTunnel.cc
@@ -291,6 +291,7 @@ OneWayTunnel::startEvent(int event, void *data)
       goto Ldone;
     }
     break; // fix coverity
+
   case VC_EVENT_READ_COMPLETE:
   Lread_complete:
     // set write nbytes to the current buffer size
@@ -308,9 +309,13 @@ OneWayTunnel::startEvent(int event, void *data)
   case VC_EVENT_ERROR:
   Lerror:
     lerrno = ((VIO *)data)->vc_server->lerrno;
+  // fallthrough
+
   case VC_EVENT_INACTIVITY_TIMEOUT:
   case VC_EVENT_ACTIVE_TIMEOUT:
     result = -1;
+  // fallthrough
+
   case VC_EVENT_WRITE_COMPLETE:
   Ldone:
     if (tunnel_peer) {
diff --git a/lib/cppapi/InterceptPlugin.cc b/lib/cppapi/InterceptPlugin.cc
index cd4ddaa..b1f0881 100644
--- a/lib/cppapi/InterceptPlugin.cc
+++ b/lib/cppapi/InterceptPlugin.cc
@@ -294,6 +294,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 78dc4d3..32e9594 100644
--- a/lib/ts/ink_hrtime.cc
+++ b/lib/ts/ink_hrtime.cc
@@ -94,11 +94,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 e383551..a49d355 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 e407b8e..d3511a1 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 f24e7ef..2b50df9 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 0ef6f6b..3c0bbe4 100644
--- a/proxy/SocksProxy.cc
+++ b/proxy/SocksProxy.cc
@@ -131,7 +131,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 b699087..ed3531d 100644
--- a/proxy/http/HttpSM.cc
+++ b/proxy/http/HttpSM.cc
@@ -1875,6 +1875,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");
 
@@ -2004,7 +2006,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:
@@ -3298,6 +3302,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:
@@ -7573,6 +7579,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 bd4adfd..711f6fd 100644
--- a/proxy/http/HttpTransact.cc
+++ b/proxy/http/HttpTransact.cc
@@ -6600,6 +6600,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
@@ -8271,6 +8272,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);
@@ -8712,80 +8715,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 8e883e0..796d7d4 100644
--- a/proxy/logging/LogCollationClientSM.cc
+++ b/proxy/logging/LogCollationClientSM.cc
@@ -578,8 +578,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>'].