macro: introduce nice macro for disabling -Wmissing-prototypes warnigs

This commit is contained in:
Lennart Poettering 2014-02-20 18:35:03 +01:00
parent bcfce235a3
commit f0f2e63bb2
7 changed files with 31 additions and 26 deletions

View file

@ -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 \

View file

@ -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

View file

@ -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

View file

@ -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;

View file

@ -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

View file

@ -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

View file

@ -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")