]> granicus.if.org Git - strace/commitdiff
Add sentinel attribute to printxvals
authorDmitry V. Levin <ldv@altlinux.org>
Fri, 1 Apr 2016 00:52:01 +0000 (00:52 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Fri, 1 Apr 2016 00:52:01 +0000 (00:52 +0000)
* gcc_compat.h (ATTRIBUTE_SENTINEL): New macro.
* defs.h (printxvals): Add ATTRIBUTE_SENTINEL.

defs.h
gcc_compat.h

diff --git a/defs.h b/defs.h
index fb77b99c71a851b82627dcafa905711e7fb05293..ac59349f7a3156fb03d572fef773b242a602d82e 100644 (file)
--- a/defs.h
+++ b/defs.h
@@ -554,7 +554,8 @@ extern int printllval(struct tcb *, const char *, int)
        ATTRIBUTE_FORMAT((printf, 2, 0));
 
 extern void printaddr(long);
-extern void printxvals(const unsigned int, const char *, const struct xlat *, ...);
+extern void printxvals(const unsigned int, const char *, const struct xlat *, ...)
+       ATTRIBUTE_SENTINEL;
 #define printxval(xlat, val, dflt) printxvals(val, dflt, xlat, NULL)
 extern int printargs(struct tcb *);
 extern int printargs_u(struct tcb *);
index 1f2c8354a065726ae27904ede6301a2f6d7d2d0c..c06d3c1d0d0ca205d58d3e47c38752cfa30e57c9 100644 (file)
 # define ATTRIBUTE_NOINLINE    /* empty */
 #endif
 
+#if GNUC_PREREQ(4, 0)
+# define ATTRIBUTE_SENTINEL    __attribute__((__sentinel__))
+#else
+# define ATTRIBUTE_SENTINEL    /* empty */
+#endif
+
 #if GNUC_PREREQ(4, 3)
 # define ATTRIBUTE_ALLOC_SIZE(args)    __attribute__((__alloc_size__ args))
 #else