From 896af92e5b7f65de317b281acf469ccb9d713bb1 Mon Sep 17 00:00:00 2001 From: David Lamparter Date: Tue, 16 Aug 2016 17:48:44 +0200 Subject: [PATCH] vtysh: work around gcc bug #69981 The memtypes changes break gcc -O0 build (none of the other optimisation levels are affected, *any* of -Og, -Os, -O1, etc. make this go away). Unfortunately, the option supposed to control this doesn't actually work (-fno-keep-static-const; that not working is the actual gcc bug). The workaround is to avoid DECLARE_MTYPE statements when their paired DEFINE_MTYPE isn't linked in. Thankfully, that's only a problem in a single place in vtysh where bgp_memory.h gets chain-included. (vtysh.c -> bgp_vty.h -> bgpd.h -> bgp_memory.h) So, this just breaks the chain at bgp_vty.h. No other compiler (clang & icc tested) has exhibited this problem. Signed-off-by: David Lamparter --- bgpd/bgp_vty.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bgpd/bgp_vty.h b/bgpd/bgp_vty.h index ba520af067..573e8c7072 100644 --- a/bgpd/bgp_vty.h +++ b/bgpd/bgp_vty.h @@ -21,7 +21,7 @@ Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA #ifndef _QUAGGA_BGP_VTY_H #define _QUAGGA_BGP_VTY_H -#include "bgpd/bgpd.h" +struct bgp; #define CMD_AS_RANGE "<1-4294967295>" #define DYNAMIC_NEIGHBOR_LIMIT_RANGE "<1-5000>" -- 2.39.5