summaryrefslogtreecommitdiffstats
path: root/lib/compiler.h
diff options
context:
space:
mode:
authorDavid Lamparter <equinox@diac24.net>2021-03-16 11:03:50 +0100
committerDavid Lamparter <equinox@opensourcerouting.org>2021-05-02 16:27:17 +0200
commit4f1a6d98da0703b066a1ae92dcac7c8f6ae3b1e6 (patch)
treed8595be35dddaa76294d2fbc935307863d23ece7 /lib/compiler.h
parenttests: fix assert.h header change fallout (diff)
downloadfrr-4f1a6d98da0703b066a1ae92dcac7c8f6ae3b1e6.tar.xz
frr-4f1a6d98da0703b066a1ae92dcac7c8f6ae3b1e6.zip
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 <equinox@opensourcerouting.org>
Diffstat (limited to 'lib/compiler.h')
-rw-r--r--lib/compiler.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/compiler.h b/lib/compiler.h
index b7a142bde..86cf347e0 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