Skip to content

gcc10 build issues #6716

@zwoop

Description

@zwoop

Here's a list of all (master) gcc10 build errors (and warnings, which we treat as errors).

gmake[1]: Entering directory '/homer/leif/Builds/release/src/tscore'
  CXX      Arena.lo
/homer/leif/apache/trafficserver/src/tscore/Arena.cc: In member function ‘void* Arena::alloc(size_t, size_t)’:
/homer/leif/apache/trafficserver/src/tscore/Arena.cc:51:24: error: array subscript [0, 999] is outside array bounds of ‘char [8]’ [-Werror=array-bounds]
   51 |   blk->m_heap_end    = &blk->data[size];
      |                        ^~~~~~~~~~~~~~~~
In file included from /homer/leif/apache/trafficserver/src/tscore/Arena.cc:27:
/homer/leif/apache/trafficserver/include/tscore/Arena.h:34:8: note: while referencing ‘ArenaBlock::data’
   34 |   char data[8];
      |        ^~~~
cc1plus: all warnings being treated as errors
gmake[1]: *** [Makefile:1414: Arena.lo] Error 1
/homer/leif/apache/trafficserver/src/tscore/ink_hrtime.cc: In function ‘char* int64_to_str(char*, unsigned int, int64_t, unsigned int*, unsigned int, char)’:
/homer/leif/apache/trafficserver/src/tscore/ink_hrtime.cc:146:10: error: function may return address of local variable [-Werror=return-local-addr]
  146 |   return out_buf;
      |          ^~~~~~~
/homer/leif/apache/trafficserver/src/tscore/ink_hrtime.cc:49:8: note: declared here
   49 |   char local_buf[local_buf_size];
      |        ^~~~~~~~~
cc1plus: all warnings being treated as errors
gmake[1]: *** [Makefile:1414: ink_hrtime.lo] Error 1
  CXX      Cache.o
In file included from /homer/leif/apache/trafficserver/iocore/cache/Cache.cc:27:
/homer/leif/apache/trafficserver/iocore/cache/P_CacheTest.h: In constructor ‘PinnedDocTable::PinnedDocTable()’:
/homer/leif/apache/trafficserver/iocore/cache/P_CacheTest.h:47:126: error: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘class Queue<PinnedDocEntry>’; use assignment or value-initialization instead [-Werror=class-memaccess]
   47 |   PinnedDocTable() : Continuation(new_ProxyMutex()) { memset(bucket, 0, sizeof(Queue<PinnedDocEntry>) * PINNED_DOC_TABLE_SIZE); }
      |                                                                                                                              ^
In file included from /homer/leif/apache/trafficserver/iocore/eventsystem/I_Continuation.h:39,
                 from /homer/leif/apache/trafficserver/iocore/eventsystem/I_Action.h:29,
                 from /homer/leif/apache/trafficserver/iocore/eventsystem/I_EventSystem.h:32,
                 from /homer/leif/apache/trafficserver/iocore/eventsystem/P_EventSystem.h:36,
                 from /homer/leif/apache/trafficserver/iocore/cache/P_Cache.h:27,
                 from /homer/leif/apache/trafficserver/iocore/cache/Cache.cc:24:
/homer/leif/apache/trafficserver/include/tscore/List.h:322:59: note: ‘class Queue<PinnedDocEntry>’ declared here
  322 | template <class C, class L = typename C::Link_link> class Queue : public DLL<C, L>
      |                                                           ^~~~~
cc1plus: all warnings being treated as errors
In file included from /homer/leif/apache/trafficserver/iocore/cache/CacheTest.cc:26:
/homer/leif/apache/trafficserver/iocore/cache/P_CacheTest.h: In constructor ‘PinnedDocTable::PinnedDocTable()’:
/homer/leif/apache/trafficserver/iocore/cache/P_CacheTest.h:47:126: error: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘class Queue<PinnedDocEntry>’; use assignment or value-initialization instead [-Werror=class-memaccess]
   47 |   PinnedDocTable() : Continuation(new_ProxyMutex()) { memset(bucket, 0, sizeof(Queue<PinnedDocEntry>) * PINNED_DOC_TABLE_SIZE); }
      |                                                                                                                              ^
In file included from /homer/leif/apache/trafficserver/iocore/eventsystem/I_Continuation.h:39,
                 from /homer/leif/apache/trafficserver/iocore/eventsystem/I_Action.h:29,
                 from /homer/leif/apache/trafficserver/iocore/eventsystem/I_EventSystem.h:32,
                 from /homer/leif/apache/trafficserver/iocore/eventsystem/P_EventSystem.h:36,
                 from /homer/leif/apache/trafficserver/iocore/cache/P_Cache.h:27,
                 from /homer/leif/apache/trafficserver/iocore/cache/CacheTest.cc:25:
/homer/leif/apache/trafficserver/include/tscore/List.h:322:59: note: ‘class Queue<PinnedDocEntry>’ declared here
  322 | template <class C, class L = typename C::Link_link> class Queue : public DLL<C, L>
      |                                                           ^~~~~
cc1plus: all warnings being treated as errors
/homer/leif/apache/trafficserver/proxy/http/HttpTunnel.cc: In member function ‘void HttpTunnel::reset()’:
/homer/leif/apache/trafficserver/proxy/http/HttpTunnel.cc:482:41: error: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct HttpTunnelConsumer’; use assignment or value-initialization instead [-Werror=class-memaccess]
  482 |   memset(consumers, 0, sizeof(consumers));
      |                                         ^
In file included from /homer/leif/apache/trafficserver/proxy/http/HttpTunnel.cc:35:
/homer/leif/apache/trafficserver/proxy/http/HttpTunnel.h:151:8: note: ‘struct HttpTunnelConsumer’ declared here
  151 | struct HttpTunnelConsumer {
      |        ^~~~~~~~~~~~~~~~~~
/homer/leif/apache/trafficserver/proxy/http/HttpTunnel.cc:483:41: error: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct HttpTunnelProducer’; use assignment or value-initialization instead [-Werror=class-memaccess]
  483 |   memset(producers, 0, sizeof(producers));
      |                                         ^
In file included from /homer/leif/apache/trafficserver/proxy/http/HttpTunnel.cc:35:
/homer/leif/apache/trafficserver/proxy/http/HttpTunnel.h:183:8: note: ‘struct HttpTunnelProducer’ declared here
  183 | struct HttpTunnelProducer {
      |        ^~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
gmake[3]: *** [Makefile:1055: HttpTunnel.o] Error 1
  CXX      traffic_via/traffic_via-traffic_via.o
/homer/leif/apache/trafficserver/src/traffic_via/traffic_via.cc: In function ‘TSMgmtError filterViaHeader()’:
/homer/leif/apache/trafficserver/src/traffic_via/traffic_via.cc:312:14: error: ‘sprintf’ argument 3 may overlap destination object ‘viaHeader’ [-Werror=restrict]
  312 |       sprintf(viaHeaderString, "%.*s", subStringLen, subStringBegin);
      |       ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/homer/leif/apache/trafficserver/src/traffic_via/traffic_via.cc:273:8: note: destination object referenced by ‘restrict’-qualified argument 1 was declared here
  273 |   char viaHeader[1024];
      |        ^~~~~~~~~
cc1plus: all warnings being treated as errors
gmake[2]: *** [Makefile:2731: traffic_via/traffic_via-traffic_via.o] Error 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    Buildwork related to build configuration or environment

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions