summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2014-02-20 18:35:03 +0100
committerLennart Poettering <lennart@poettering.net>2014-02-20 18:47:33 +0100
commitf0f2e63bb2d5cd27e6a2464ee46a670a3159c5da (patch)
tree6bb637393bc095a041ec89cc488a21889e652a45
parentbcfce235a3d757f0ec3b0c01e8583382db1adfe2 (diff)
macro: introduce nice macro for disabling -Wmissing-prototypes warnigs
-rw-r--r--Makefile.am6
-rw-r--r--src/python-systemd/_daemon.c10
-rw-r--r--src/python-systemd/_journal.c9
-rw-r--r--src/python-systemd/_reader.c5
-rw-r--r--src/python-systemd/id128.c12
-rw-r--r--src/python-systemd/login.c11
-rw-r--r--src/shared/macro.h4
7 files changed, 31 insertions, 26 deletions
diff --git a/Makefile.am b/Makefile.am
index 08b94d7b14..03a65bf084 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -4245,7 +4245,8 @@ id128_la_LDFLAGS = \
id128_la_LIBADD = \
$(PYTHON_DEVEL_LIBS) \
- libsystemd.la
+ libsystemd.la \
+ libsystemd-shared.la
_daemon_la_SOURCES = \
src/python-systemd/_daemon.c \
@@ -4266,7 +4267,8 @@ _daemon_la_LDFLAGS = \
_daemon_la_LIBADD = \
$(PYTHON_DEVEL_LIBS) \
- libsystemd.la
+ libsystemd.la \
+ libsystemd-shared.la
_reader_la_SOURCES = \
src/python-systemd/_reader.c \
diff --git a/src/python-systemd/_daemon.c b/src/python-systemd/_daemon.c
index 3982e85426..7756a7880d 100644
--- a/src/python-systemd/_daemon.c
+++ b/src/python-systemd/_daemon.c
@@ -31,6 +31,7 @@
#include <systemd/sd-daemon.h>
#include "pyutil.h"
+#include "macro.h"
PyDoc_STRVAR(module__doc__,
"Python interface to the libsystemd-daemon library.\n\n"
@@ -284,11 +285,9 @@ static PyMethodDef methods[] = {
{ NULL, NULL, 0, NULL } /* Sentinel */
};
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wmissing-prototypes"
-
#if PY_MAJOR_VERSION < 3
+DISABLE_WARNING_MISSING_PROTOTYPES;
PyMODINIT_FUNC init_daemon(void) {
PyObject *m;
@@ -299,6 +298,7 @@ PyMODINIT_FUNC init_daemon(void) {
PyModule_AddIntConstant(m, "LISTEN_FDS_START", SD_LISTEN_FDS_START);
PyModule_AddStringConstant(m, "__version__", PACKAGE_VERSION);
}
+REENABLE_WARNING;
#else
@@ -310,6 +310,7 @@ static struct PyModuleDef module = {
methods
};
+DISABLE_WARNING_MISSING_PROTOTYPES;
PyMODINIT_FUNC PyInit__daemon(void) {
PyObject *m;
@@ -325,7 +326,6 @@ PyMODINIT_FUNC PyInit__daemon(void) {
return m;
}
+REENABLE_WARNING;
#endif
-
-#pragma GCC diagnostic pop
diff --git a/src/python-systemd/_journal.c b/src/python-systemd/_journal.c
index 8cc6d3e52a..cbc661d837 100644
--- a/src/python-systemd/_journal.c
+++ b/src/python-systemd/_journal.c
@@ -113,11 +113,9 @@ static PyMethodDef methods[] = {
{ NULL, NULL, 0, NULL } /* Sentinel */
};
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wmissing-prototypes"
-
#if PY_MAJOR_VERSION < 3
+DISABLE_WARNING_MISSING_PROTOTYPES;
PyMODINIT_FUNC init_journal(void) {
PyObject *m;
@@ -127,6 +125,7 @@ PyMODINIT_FUNC init_journal(void) {
PyModule_AddStringConstant(m, "__version__", PACKAGE_VERSION);
}
+REENABLE_WARNING;
#else
@@ -138,6 +137,7 @@ static struct PyModuleDef module = {
methods
};
+DISABLE_WARNING_MISSING_PROTOTYPES;
PyMODINIT_FUNC PyInit__journal(void) {
PyObject *m;
@@ -152,7 +152,6 @@ PyMODINIT_FUNC PyInit__journal(void) {
return m;
}
+REENABLE_WARNING;
#endif
-
-#pragma GCC diagnostic pop
diff --git a/src/python-systemd/_reader.c b/src/python-systemd/_reader.c
index ee25c49741..224a9169e6 100644
--- a/src/python-systemd/_reader.c
+++ b/src/python-systemd/_reader.c
@@ -1046,8 +1046,7 @@ static PyModuleDef module = {
static bool initialized = false;
#endif
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wmissing-prototypes"
+DISABLE_WARNING_MISSING_PROTOTYPES;
PyMODINIT_FUNC
#if PY_MAJOR_VERSION >= 3
@@ -1110,4 +1109,4 @@ init_reader(void)
#endif
}
-#pragma GCC diagnostic pop
+REENABLE_WARNING;
diff --git a/src/python-systemd/id128.c b/src/python-systemd/id128.c
index ec1d9fb4a2..6dadf7b2fd 100644
--- a/src/python-systemd/id128.c
+++ b/src/python-systemd/id128.c
@@ -24,6 +24,9 @@
#include <systemd/sd-messages.h>
#include "pyutil.h"
+#include "log.h"
+#include "util.h"
+#include "macro.h"
PyDoc_STRVAR(module__doc__,
"Python interface to the libsystemd-id128 library.\n\n"
@@ -108,11 +111,9 @@ static int add_id(PyObject *module, const char* name, sd_id128_t id) {
return PyModule_AddObject(module, name, obj);
}
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wmissing-prototypes"
-
#if PY_MAJOR_VERSION < 3
+DISABLE_WARNING_MISSING_PROTOTYPES;
PyMODINIT_FUNC initid128(void) {
PyObject *m;
@@ -126,6 +127,7 @@ PyMODINIT_FUNC initid128(void) {
#undef JOINER
PyModule_AddStringConstant(m, "__version__", PACKAGE_VERSION);
}
+REENABLE_WARNING;
#else
@@ -137,6 +139,7 @@ static struct PyModuleDef module = {
methods
};
+DISABLE_WARNING_MISSING_PROTOTYPES;
PyMODINIT_FUNC PyInit_id128(void) {
PyObject *m;
@@ -155,7 +158,6 @@ PyMODINIT_FUNC PyInit_id128(void) {
return m;
}
+REENABLE_WARNING;
#endif
-
-#pragma GCC diagnostic pop
diff --git a/src/python-systemd/login.c b/src/python-systemd/login.c
index 43f781922d..e844f5fc69 100644
--- a/src/python-systemd/login.c
+++ b/src/python-systemd/login.c
@@ -316,12 +316,9 @@ static PyTypeObject MonitorType = {
.tp_new = PyType_GenericNew,
};
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wmissing-prototypes"
-
#if PY_MAJOR_VERSION < 3
+DISABLE_WARNING_MISSING_PROTOTYPES;
PyMODINIT_FUNC initlogin(void) {
PyObject *m;
@@ -337,6 +334,8 @@ PyMODINIT_FUNC initlogin(void) {
Py_INCREF(&MonitorType);
PyModule_AddObject(m, "Monitor", (PyObject *) &MonitorType);
}
+REENABLE_WARNING;
+
#else
static struct PyModuleDef module = {
@@ -347,6 +346,7 @@ static struct PyModuleDef module = {
methods
};
+DISABLE_WARNING_MISSING_PROTOTYPES;
PyMODINIT_FUNC PyInit_login(void) {
PyObject *m;
@@ -371,7 +371,6 @@ PyMODINIT_FUNC PyInit_login(void) {
return m;
}
+REENABLE_WARNING;
#endif
-
-#pragma GCC diagnostic pop
diff --git a/src/shared/macro.h b/src/shared/macro.h
index 1941f0e651..458e0ebed3 100644
--- a/src/shared/macro.h
+++ b/src/shared/macro.h
@@ -55,6 +55,10 @@
_Pragma("GCC diagnostic push"); \
_Pragma("GCC diagnostic ignored \"-Wformat-nonliteral\"")
+#define DISABLE_WARNING_MISSING_PROTOTYPES \
+ _Pragma("GCC diagnostic push"); \
+ _Pragma("GCC diagnostic ignored \"-Wmissing-prototypes\"")
+
#define REENABLE_WARNING \
_Pragma("GCC diagnostic pop")