gdatetime: Enable compile time check of g_date_time_format() format

By annotating it with G_GNUC_STRFTIME.

GNOME/glib#1575
parent d62a0783
......@@ -261,7 +261,7 @@ GDateTime * g_date_time_to_utc (GDateTi
GLIB_AVAILABLE_IN_ALL
gchar * g_date_time_format (GDateTime *datetime,
const gchar *format) G_GNUC_MALLOC;
const gchar *format) G_GNUC_MALLOC G_GNUC_STRFTIME (2);
G_END_DECLS
......
......@@ -25,6 +25,14 @@
#include <glib/gstdio.h>
#include <locale.h>
/* The tests below exercise invalid formats and y2k-unsafe formats,
* so we need to silence the warnings here to pass.
*/
#ifdef __GNUC__
#pragma GCC diagnostic ignored "-Wformat"
#pragma GCC diagnostic ignored "-Wformat-y2k"
#endif
#define ASSERT_DATE(dt,y,m,d) G_STMT_START { \
g_assert_nonnull ((dt)); \
g_assert_cmpint ((y), ==, g_date_time_get_year ((dt))); \
......
......@@ -18,6 +18,14 @@
#include <locale.h>
#include <glib/glib.h>
/* The whole purpose of this test is to pass the command line argument
* to g_date_time_format(), so the format argument cannot be compile-
* time checked. Disable the inevitable compiler warning.
*/
#ifdef __GNUC__
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
#endif
int
main (int argc, char *argv[])
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment