Disable -Wdeprecated-declarations for register_printf_function calls in tst-printfsz.c.
[glibc.git] / stdio-common / tst-printfsz.c
blob74d67d2f694f344b7e8f4849f909a1bf87837b8b
1 /* Based on code by Larry McVoy <lm@neteng.engr.sgi.com>. */
2 #include <printf.h>
3 #include <stdio.h>
4 #include <string.h>
5 #include <libc-internal.h>
7 #define V 12345678.12345678
10 int
11 main (int argc, char *argv[])
13 char buf[1024];
14 int result = 0;
16 /* Testing printf_size_info requires using the deprecated
17 register_printf_function, resulting in warnings
18 "'register_printf_function' is deprecated". */
19 DIAG_PUSH_NEEDS_COMMENT;
20 DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wdeprecated-declarations");
21 /* Register the printf handlers. */
22 register_printf_function ('b', printf_size, printf_size_info);
23 register_printf_function ('B', printf_size, printf_size_info);
24 DIAG_POP_NEEDS_COMMENT;
27 sprintf (buf, "%g %b %B %.0b %.0B %.1b %.1B %8.0b %08.0B",
28 V, 1025., V, V, V, V, V, V, V, V);
29 fputs (buf, stdout);
30 if (strcmp (buf, "\
31 1.23457e+07 1.001k 12.346M 12m 12M 11.8m 12.3M 12m 0000012M"))
33 result = 1;
34 fputs (" -> WRONG\n", stdout);
36 else
37 fputs (" -> OK\n", stdout);
39 sprintf (buf, "%b|%B|%-20.2b|%-10.0b|%-10.8b|%-10.2B|",
40 V, V, V, V, V, V, V, V, V, V, V);
41 fputs (buf, stdout);
42 if (strcmp (buf, "\
43 11.774m|12.346M|11.77m |12m |11.77375614m|12.35M |"))
45 result = 1;
46 fputs (" -> WRONG\n", stdout);
48 else
49 fputs (" -> OK\n", stdout);
51 sprintf (buf, "%#.0B %*.0b %10.*b %*.*B %10.2B",
52 V, 2, V, 2, V, 10, 2, V, V);
53 fputs (buf, stdout);
54 if (strcmp (buf, "12.M 12m 11.77m 12.35M 12.35M"))
56 result = 1;
57 fputs (" -> WRONG\n", stdout);
59 else
60 fputs (" -> OK\n", stdout);
62 sprintf (buf, "%6B %6.1B %b %B %b %B",
63 V, V, 1000.0, 1000.0, 1024.0, 1024.0);
64 fputs (buf, stdout);
65 if (strcmp (buf, "12.346M 12.3M 1000.000 1.000K 1.000k 1.024K"))
67 result = 1;
68 fputs (" -> WRONG\n", stdout);
70 else
71 fputs (" -> OK\n", stdout);
73 return result;