21#if !defined (COMPLAINTS_H)
24#include <unordered_set>
47#define complaint(FMT, ...) \
50 if (have_complaint ()) \
51 complaint_internal (FMT, ##__VA_ARGS__); \
82 ATTRIBUTE_FPTR_PRINTF (1,0);
void static void static complaint_interceptor * g_complaint_interceptor
std::unordered_set< std::string > m_complaints
void static void issue_complaint(const char *, va_list) ATTRIBUTE_PRINTF(1
DISABLE_COPY_AND_ASSIGN(complaint_interceptor)
void(* m_saved_warning_hook)(const char *, va_list) ATTRIBUTE_FPTR_PRINTF(1
static bool have_complaint()
void complaint_internal(const char *fmt,...) ATTRIBUTE_PRINTF(1
static void ATTRIBUTE_PRINTF(1, 0)