summaryrefslogtreecommitdiff
path: root/src/conf_post.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/conf_post.h')
-rw-r--r--src/conf_post.h16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/conf_post.h b/src/conf_post.h
index 762aa7727f..1dd915b596 100644
--- a/src/conf_post.h
+++ b/src/conf_post.h
@@ -357,11 +357,21 @@ extern int emacs_setenv_TZ (char const *);
# define FLEXIBLE_ARRAY_MEMBER
#endif
-/* Use CODE only if lint checking is in effect. */
+/* When used in place of 'volatile', 'NONVOLATILE' is equivalent to nothing,
+ except it cajoles GCC into not warning incorrectly that a variable needs to
+ be volatile. This works around GCC bug 54561. */
#if defined GCC_LINT || defined lint
-# define IF_LINT(Code) Code
+# define NONVOLATILE volatile
#else
-# define IF_LINT(Code) /* empty */
+# define NONVOLATILE /* empty */
+#endif
+
+/* 'int x UNINIT;' is equivalent to 'int x;', except it cajoles GCC
+ into not warning incorrectly about use of an uninitialized variable. */
+#if defined GCC_LINT || defined lint
+# define UNINIT = {0,}
+#else
+# define UNINIT /* empty */
#endif
/* conf_post.h ends here */