configure: enable -Wsuggest-attribute=format
[babeltrace.git] / src / logging / log.c
index d8c80402c56374d671f428c39dd4921edf671115..f13694ea7233353361e485625222844ce1bb417c 100644 (file)
@@ -4,7 +4,7 @@
  * See LICENSE.
  */
 
-#include "common/babeltrace.h"
+#include "common/macros.h"
 #include "common/common.h"
 #include <pthread.h>
 #include "common/assert.h"
@@ -108,7 +108,7 @@ extern unsigned long pthread_getsequence_np(pthread_t *);
  * level variable. In that case it must be defined elsewhere using
  * BT_LOG_DEFINE_GLOBAL_OUTPUT_LEVEL macro, for example:
  *
- *   BT_LOG_DEFINE_GLOBAL_OUTPUT_LEVEL = BT_LOG_WARN;
+ *   BT_LOG_DEFINE_GLOBAL_OUTPUT_LEVEL = BT_LOG_WARNING;
  *
  * This allows to specify custom value for static initialization and avoid
  * overhead of setting this value in runtime.
@@ -553,13 +553,13 @@ static INSTRUMENTED_CONST buffer_cb g_buffer_cb = buffer_callback;
        {
                switch (lvl)
                {
-               case BT_LOG_VERBOSE:
+               case BT_LOG_TRACE:
                        return ANDROID_LOG_VERBOSE;
                case BT_LOG_DEBUG:
                        return ANDROID_LOG_DEBUG;
                case BT_LOG_INFO:
                        return ANDROID_LOG_INFO;
-               case BT_LOG_WARN:
+               case BT_LOG_WARNING:
                        return ANDROID_LOG_WARN;
                case BT_LOG_ERROR:
                        return ANDROID_LOG_ERROR;
@@ -596,13 +596,13 @@ static INSTRUMENTED_CONST buffer_cb g_buffer_cb = buffer_callback;
        {
                switch (lvl)
                {
-               case BT_LOG_VERBOSE:
+               case BT_LOG_TRACE:
                        return 7; /* ASL_LEVEL_DEBUG / kCFLogLevelDebug */;
                case BT_LOG_DEBUG:
                        return 7; /* ASL_LEVEL_DEBUG / kCFLogLevelDebug */;
                case BT_LOG_INFO:
                        return 6; /* ASL_LEVEL_INFO / kCFLogLevelInfo */;
-               case BT_LOG_WARN:
+               case BT_LOG_WARNING:
                        return 4; /* ASL_LEVEL_WARNING / kCFLogLevelWarning */;
                case BT_LOG_ERROR:
                        return 3; /* ASL_LEVEL_ERR / kCFLogLevelError */;
@@ -702,13 +702,13 @@ static char lvl_char(const int lvl)
 {
        switch (lvl)
        {
-       case BT_LOG_VERBOSE:
-               return 'V';
+       case BT_LOG_TRACE:
+               return 'T';
        case BT_LOG_DEBUG:
                return 'D';
        case BT_LOG_INFO:
                return 'I';
-       case BT_LOG_WARN:
+       case BT_LOG_WARNING:
                return 'W';
        case BT_LOG_ERROR:
                return 'E';
@@ -1148,9 +1148,21 @@ static void put_ctx(bt_log_message *const msg)
 static void put_tag(bt_log_message *const msg, const char *const tag)
 {
        _PP_MAP(_BT_LOG_MESSAGE_FORMAT_INIT, BT_LOG_MESSAGE_TAG_FORMAT)
+
+/*
+ * This generates a -Wundef warning.  The issue was reported upstream:
+ *
+ *   https://github.com/wonder-mice/zf_log/issues/40
+ *
+ * but there's not much we can do here, so just silence it.
+ */
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wundef"
 #if !_BT_LOG_MESSAGE_FORMAT_CONTAINS(TAG, BT_LOG_MESSAGE_TAG_FORMAT)
        VAR_UNUSED(tag);
 #endif
+#pragma GCC diagnostic pop
+
 #if !_BT_LOG_MESSAGE_FORMAT_FIELDS(BT_LOG_MESSAGE_TAG_FORMAT)
        VAR_UNUSED(msg);
 #else
@@ -1181,7 +1193,8 @@ static void put_src(bt_log_message *const msg, const src_location *const src)
 #endif
 }
 
-static void put_msg(bt_log_message *const msg,
+static _BT_LOG_PRINTFLIKE(2, 0)
+void put_msg(bt_log_message *const msg,
                                        const char *const fmt, va_list va)
 {
        int n;
@@ -1256,7 +1269,8 @@ void bt_log_set_output_v(const unsigned mask, void *const arg,
        _bt_log_global_output.callback = callback;
 }
 
-static void _bt_log_write_imp(
+static _BT_LOG_PRINTFLIKE(6, 0)
+void _bt_log_write_imp(
                const bt_log_spec *log,
                const src_location *const src, const mem_block *const mem,
                const int lvl, const char *const tag, const char *const fmt, va_list va)
@@ -1277,7 +1291,7 @@ static void _bt_log_write_imp(
                color_p = bt_common_color_fg_blue();
                color_e = color_p + strlen(color_p);
                break;
-       case BT_LOG_WARN:
+       case BT_LOG_WARNING:
                color_p = bt_common_color_fg_yellow();
                color_e = color_p + strlen(color_p);
                break;
This page took 0.025847 seconds and 4 git commands to generate.