From 4f1a6d98da0703b066a1ae92dcac7c8f6ae3b1e6 Mon Sep 17 00:00:00 2001 From: David Lamparter Date: Tue, 16 Mar 2021 11:03:50 +0100 Subject: [PATCH] lib: fix random C++ compat problem w/ printfrr These hoops to get warnings for mis-printing `uint64_t` are apparently breaking some C++ bits... Signed-off-by: David Lamparter --- lib/compiler.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/compiler.h b/lib/compiler.h index b7a142bdee..86cf347e01 100644 --- a/lib/compiler.h +++ b/lib/compiler.h @@ -373,6 +373,10 @@ CPP_NOTICE("time to remove this CONFDATE block") #else /* !_FRR_ATTRIBUTE_PRINTFRR */ #define PRINTFRR(a, b) __attribute__((format(printf, a, b))) +/* frr-format plugin is C-only for now, so no point in doing these shenanigans + * for C++... (also they can break some C++ stuff...) + */ +#ifndef __cplusplus /* these should be typedefs, but might also be #define */ #ifdef uint64_t #undef uint64_t @@ -400,6 +404,8 @@ _Static_assert(sizeof(_uint64_t) == 8 && sizeof(_int64_t) == 8, #define PRIu64 "llu" #define PRId64 "lld" #define PRIx64 "llx" + +#endif /* !__cplusplus */ #endif /* !_FRR_ATTRIBUTE_PRINTFRR */ #ifdef __cplusplus