mirror of
https://github.com/RYDE-WORK/pybind11.git
synced 2026-02-03 05:53:21 +08:00
Fix build with -Wmissing-prototypes (#1954)
When building with `-Werror,-Wmissing-prototypes`, `clang` complains about missing prototypes for functions defined through macro expansions. This PR adds the missing prototypes.
```
error: no previous prototype for function 'pybind11_init_impl_embedded' [
-Werror,-Wmissing-prototypes]
PYBIND11_EMBEDDED_MODULE(embedded, mod) {
^
external/pybind11/include/pybind11/embed.h:61:5: note: expanded from macro 'PYBIND11_EMBEDDED_MODULE'
PYBIND11_EMBEDDED_MODULE_IMPL(name) \
^
external/pybind11/include/pybind11/embed.h:26:23: note: expanded from macro 'PYBIND11_EMBEDDED_MODULE_IMPL'
extern "C" void pybind11_init_impl_##name() { \
^
<scratch space>:380:1: note: expanded from here
pybind11_init_impl_embedded
^
1 error generated.
```
This commit is contained in:
parent
dfde1554ea
commit
de5a29c0d4
@ -18,11 +18,13 @@
|
|||||||
|
|
||||||
#if PY_MAJOR_VERSION >= 3
|
#if PY_MAJOR_VERSION >= 3
|
||||||
# define PYBIND11_EMBEDDED_MODULE_IMPL(name) \
|
# define PYBIND11_EMBEDDED_MODULE_IMPL(name) \
|
||||||
|
extern "C" PyObject *pybind11_init_impl_##name(); \
|
||||||
extern "C" PyObject *pybind11_init_impl_##name() { \
|
extern "C" PyObject *pybind11_init_impl_##name() { \
|
||||||
return pybind11_init_wrapper_##name(); \
|
return pybind11_init_wrapper_##name(); \
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
# define PYBIND11_EMBEDDED_MODULE_IMPL(name) \
|
# define PYBIND11_EMBEDDED_MODULE_IMPL(name) \
|
||||||
|
extern "C" void pybind11_init_impl_##name(); \
|
||||||
extern "C" void pybind11_init_impl_##name() { \
|
extern "C" void pybind11_init_impl_##name() { \
|
||||||
pybind11_init_wrapper_##name(); \
|
pybind11_init_wrapper_##name(); \
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user