From 87b318147671a121c82b0285f87ca8a501db47b8 Mon Sep 17 00:00:00 2001 From: "Ralf W. Grosse-Kunstleve" Date: Tue, 20 Jul 2021 06:34:49 -0700 Subject: [PATCH 1/9] Fixing `pragma warning pop` for `__INTEL_COMPILER`. --- include/pybind11/pybind11.h | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/include/pybind11/pybind11.h b/include/pybind11/pybind11.h index 93b920d852..01eeff4978 100644 --- a/include/pybind11/pybind11.h +++ b/include/pybind11/pybind11.h @@ -10,6 +10,9 @@ #pragma once +// +// THE `push` HERE NEED TO BE KEPT IN SYNC WITH THE CORRESPONDING `pop` AT THE BOTTOM OF THIS FILE. +// #if defined(__INTEL_COMPILER) # pragma warning push # pragma warning disable 878 // incompatible exception specifications @@ -2376,8 +2379,13 @@ inline function get_overload(const T *this_ptr, const char *name) { PYBIND11_NAMESPACE_END(PYBIND11_NAMESPACE) -#if defined(_MSC_VER) && !defined(__INTEL_COMPILER) -# pragma warning(pop) +// +// THE `pop` HERE NEED TO BE KEPT IN SYNC WITH THE CORRESPONDING `push` AT THE TOP OF THIS FILE. +// +#if defined(__INTEL_COMPILER) +# pragma warning pop +#elif defined(_MSC_VER) +# pragma warning(pop) #elif defined(__GNUG__) && !defined(__clang__) && !defined(__INTEL_COMPILER) -# pragma GCC diagnostic pop +# pragma GCC diagnostic pop #endif From d7967a809f58e0953257ff1699c6a9fc1ac7bd0f Mon Sep 17 00:00:00 2001 From: "Ralf W. Grosse-Kunstleve" Date: Tue, 20 Jul 2021 07:04:47 -0700 Subject: [PATCH 2/9] Adding push/pop to 3 tests. Removing #878 from top of pybind11.h (it was/is only needed for 1 test). --- include/pybind11/pybind11.h | 1 - tests/pybind11_cross_module_tests.cpp | 7 +++++++ tests/pybind11_tests.cpp | 7 +++++++ tests/test_constants_and_functions.cpp | 7 +++++++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/include/pybind11/pybind11.h b/include/pybind11/pybind11.h index 01eeff4978..5a922abae6 100644 --- a/include/pybind11/pybind11.h +++ b/include/pybind11/pybind11.h @@ -15,7 +15,6 @@ // #if defined(__INTEL_COMPILER) # pragma warning push -# pragma warning disable 878 // incompatible exception specifications # pragma warning disable 2196 // warning #2196: routine is both "inline" and "noinline" #elif defined(_MSC_VER) # pragma warning(push) diff --git a/tests/pybind11_cross_module_tests.cpp b/tests/pybind11_cross_module_tests.cpp index 4bfd5302d5..4d58a0199c 100644 --- a/tests/pybind11_cross_module_tests.cpp +++ b/tests/pybind11_cross_module_tests.cpp @@ -16,6 +16,10 @@ #include #include +#if defined(__INTEL_COMPILER) +# pragma warning push +# pragma warning disable 2196 // warning #2196: routine is both "inline" and "noinline" +#endif PYBIND11_MODULE(pybind11_cross_module_tests, m) { m.doc() = "pybind11 cross-module test module"; @@ -149,3 +153,6 @@ PYBIND11_MODULE(pybind11_cross_module_tests, m) { m.def("missing_header_arg", [](const std::vector &) {}); m.def("missing_header_return", []() { return std::vector(); }); } +#if defined(__INTEL_COMPILER) +# pragma warning pop +#endif diff --git a/tests/pybind11_tests.cpp b/tests/pybind11_tests.cpp index 439cd40129..fb8d6a351e 100644 --- a/tests/pybind11_tests.cpp +++ b/tests/pybind11_tests.cpp @@ -62,6 +62,10 @@ void bind_ConstructorStats(py::module_ &m) { ; } +#if defined(__INTEL_COMPILER) +# pragma warning push +# pragma warning disable 2196 // warning #2196: routine is both "inline" and "noinline" +#endif PYBIND11_MODULE(pybind11_tests, m) { m.doc() = "pybind11 test module"; @@ -89,3 +93,6 @@ PYBIND11_MODULE(pybind11_tests, m) { for (const auto &initializer : initializers()) initializer(m); } +#if defined(__INTEL_COMPILER) +# pragma warning pop +#endif diff --git a/tests/test_constants_and_functions.cpp b/tests/test_constants_and_functions.cpp index e7f018540c..c0554503fa 100644 --- a/tests/test_constants_and_functions.cpp +++ b/tests/test_constants_and_functions.cpp @@ -133,7 +133,14 @@ TEST_SUBMODULE(constants_and_functions, m) { ; m.def("f1", f1); m.def("f2", f2); +#if defined(__INTEL_COMPILER) +# pragma warning push +# pragma warning disable 878 // incompatible exception specifications +#endif m.def("f3", f3); +#if defined(__INTEL_COMPILER) +# pragma warning pop +#endif m.def("f4", f4); // test_function_record_leaks From 894f6bfd1c2c0de8a0c0a52b37fe1d4bf18b22ea Mon Sep 17 00:00:00 2001 From: "Ralf W. Grosse-Kunstleve" Date: Tue, 20 Jul 2021 07:19:47 -0700 Subject: [PATCH 3/9] Trying again after CI failure, moving the push to the top of 2 tests. --- tests/pybind11_cross_module_tests.cpp | 10 ++++++---- tests/pybind11_tests.cpp | 10 ++++++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/tests/pybind11_cross_module_tests.cpp b/tests/pybind11_cross_module_tests.cpp index 4d58a0199c..d017382bd3 100644 --- a/tests/pybind11_cross_module_tests.cpp +++ b/tests/pybind11_cross_module_tests.cpp @@ -7,6 +7,11 @@ BSD-style license that can be found in the LICENSE file. */ +#if defined(__INTEL_COMPILER) +# pragma warning push +# pragma warning disable 2196 // warning #2196: routine is both "inline" and "noinline" +#endif + #include "pybind11_tests.h" #include "local_bindings.h" #include "test_exceptions.h" @@ -16,10 +21,6 @@ #include #include -#if defined(__INTEL_COMPILER) -# pragma warning push -# pragma warning disable 2196 // warning #2196: routine is both "inline" and "noinline" -#endif PYBIND11_MODULE(pybind11_cross_module_tests, m) { m.doc() = "pybind11 cross-module test module"; @@ -153,6 +154,7 @@ PYBIND11_MODULE(pybind11_cross_module_tests, m) { m.def("missing_header_arg", [](const std::vector &) {}); m.def("missing_header_return", []() { return std::vector(); }); } + #if defined(__INTEL_COMPILER) # pragma warning pop #endif diff --git a/tests/pybind11_tests.cpp b/tests/pybind11_tests.cpp index fb8d6a351e..7337d486c2 100644 --- a/tests/pybind11_tests.cpp +++ b/tests/pybind11_tests.cpp @@ -7,6 +7,11 @@ BSD-style license that can be found in the LICENSE file. */ +#if defined(__INTEL_COMPILER) +# pragma warning push +# pragma warning disable 2196 // warning #2196: routine is both "inline" and "noinline" +#endif + #include "pybind11_tests.h" #include "constructor_stats.h" @@ -62,10 +67,6 @@ void bind_ConstructorStats(py::module_ &m) { ; } -#if defined(__INTEL_COMPILER) -# pragma warning push -# pragma warning disable 2196 // warning #2196: routine is both "inline" and "noinline" -#endif PYBIND11_MODULE(pybind11_tests, m) { m.doc() = "pybind11 test module"; @@ -93,6 +94,7 @@ PYBIND11_MODULE(pybind11_tests, m) { for (const auto &initializer : initializers()) initializer(m); } + #if defined(__INTEL_COMPILER) # pragma warning pop #endif From b9785885a1df61d87a22426554e2ee7900b6d4f1 Mon Sep 17 00:00:00 2001 From: "Ralf W. Grosse-Kunstleve" Date: Wed, 21 Jul 2021 14:44:18 -0700 Subject: [PATCH 4/9] Trying more after CI failure, adding push/pop to pybind11_tests.h, constructor_stats.h. --- tests/constructor_stats.h | 9 +++++++++ tests/pybind11_cross_module_tests.cpp | 10 +++++----- tests/pybind11_tests.cpp | 10 +++++----- tests/pybind11_tests.h | 9 +++++++++ 4 files changed, 28 insertions(+), 10 deletions(-) diff --git a/tests/constructor_stats.h b/tests/constructor_stats.h index 805968a09b..1f57914ff8 100644 --- a/tests/constructor_stats.h +++ b/tests/constructor_stats.h @@ -70,6 +70,11 @@ inspection/testing in python) by using the functions with `print_` replaced with #include #include +#if defined(__INTEL_COMPILER) +# pragma warning push +# pragma warning disable 2196 // warning #2196: routine is both "inline" and "noinline" +#endif + class ConstructorStats { protected: std::unordered_map _instances; // Need a map rather than set because members can shared address with parents @@ -273,3 +278,7 @@ template void print_values(T *inst, Values &&...va print_constr_details(inst, ":", values...); track_values(inst, values...); } + +#if defined(__INTEL_COMPILER) +# pragma warning pop +#endif diff --git a/tests/pybind11_cross_module_tests.cpp b/tests/pybind11_cross_module_tests.cpp index d017382bd3..b2a9405f30 100644 --- a/tests/pybind11_cross_module_tests.cpp +++ b/tests/pybind11_cross_module_tests.cpp @@ -7,11 +7,6 @@ BSD-style license that can be found in the LICENSE file. */ -#if defined(__INTEL_COMPILER) -# pragma warning push -# pragma warning disable 2196 // warning #2196: routine is both "inline" and "noinline" -#endif - #include "pybind11_tests.h" #include "local_bindings.h" #include "test_exceptions.h" @@ -21,6 +16,11 @@ #include #include +#if defined(__INTEL_COMPILER) +# pragma warning push +# pragma warning disable 2196 // warning #2196: routine is both "inline" and "noinline" +#endif + PYBIND11_MODULE(pybind11_cross_module_tests, m) { m.doc() = "pybind11 cross-module test module"; diff --git a/tests/pybind11_tests.cpp b/tests/pybind11_tests.cpp index 7337d486c2..438fa6272d 100644 --- a/tests/pybind11_tests.cpp +++ b/tests/pybind11_tests.cpp @@ -7,17 +7,17 @@ BSD-style license that can be found in the LICENSE file. */ -#if defined(__INTEL_COMPILER) -# pragma warning push -# pragma warning disable 2196 // warning #2196: routine is both "inline" and "noinline" -#endif - #include "pybind11_tests.h" #include "constructor_stats.h" #include #include +#if defined(__INTEL_COMPILER) +# pragma warning push +# pragma warning disable 2196 // warning #2196: routine is both "inline" and "noinline" +#endif + /* For testing purposes, we define a static global variable here in a function that each individual test .cpp calls with its initialization lambda. It's convenient here because we can just not diff --git a/tests/pybind11_tests.h b/tests/pybind11_tests.h index d970ba8bd4..448a80fa2e 100644 --- a/tests/pybind11_tests.h +++ b/tests/pybind11_tests.h @@ -10,6 +10,9 @@ // We get some really long type names here which causes MSVC 2015 to emit warnings # pragma warning( \ disable : 4503) // warning C4503: decorated name length exceeded, name was truncated +#elif defined(__INTEL_COMPILER) +# pragma warning push +# pragma warning disable 2196 // warning #2196: routine is both "inline" and "noinline" #endif namespace py = pybind11; @@ -87,3 +90,9 @@ void ignoreOldStyleInitWarnings(F &&body) { body() )", py::dict(py::arg("body") = py::cpp_function(body))); } + +#if defined(_MSC_VER) && _MSC_VER < 1910 +# pragma warning(pop) +#elif defined(__INTEL_COMPILER) +# pragma warning pop +#endif From 9415e3855c9f69c9eaff9de6b10d50f385da2869 Mon Sep 17 00:00:00 2001 From: "Ralf W. Grosse-Kunstleve" Date: Wed, 21 Jul 2021 20:20:50 -0700 Subject: [PATCH 5/9] Moving ICC #2196 suppression to CMakeLists.txt --- include/pybind11/pybind11.h | 9 ++------- tests/CMakeLists.txt | 9 +++++++-- tests/constructor_stats.h | 9 --------- tests/pybind11_cross_module_tests.cpp | 9 --------- tests/pybind11_tests.cpp | 9 --------- tests/pybind11_tests.h | 9 --------- 6 files changed, 9 insertions(+), 45 deletions(-) diff --git a/include/pybind11/pybind11.h b/include/pybind11/pybind11.h index 5a922abae6..ba4d5ffa84 100644 --- a/include/pybind11/pybind11.h +++ b/include/pybind11/pybind11.h @@ -13,10 +13,7 @@ // // THE `push` HERE NEED TO BE KEPT IN SYNC WITH THE CORRESPONDING `pop` AT THE BOTTOM OF THIS FILE. // -#if defined(__INTEL_COMPILER) -# pragma warning push -# pragma warning disable 2196 // warning #2196: routine is both "inline" and "noinline" -#elif defined(_MSC_VER) +#if defined(_MSC_VER) # pragma warning(push) # pragma warning(disable: 4100) // warning C4100: Unreferenced formal parameter # pragma warning(disable: 4127) // warning C4127: Conditional expression is constant @@ -2381,9 +2378,7 @@ PYBIND11_NAMESPACE_END(PYBIND11_NAMESPACE) // // THE `pop` HERE NEED TO BE KEPT IN SYNC WITH THE CORRESPONDING `push` AT THE TOP OF THIS FILE. // -#if defined(__INTEL_COMPILER) -# pragma warning pop -#elif defined(_MSC_VER) +#if defined(_MSC_VER) # pragma warning(pop) #elif defined(__GNUG__) && !defined(__clang__) && !defined(__INTEL_COMPILER) # pragma GCC diagnostic pop diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index dc70038dba..b157d70529 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -310,8 +310,13 @@ function(pybind11_enable_warnings target_name) ${target_name} PRIVATE -Werror-all - # "Inlining inhibited by limit max-size", "Inlining inhibited by limit max-total-size" - -diag-disable 11074,11076) + # 2196: routine is both "inline" and "noinline" (no way to `pop` and not get the warning: + # https://community.intel.com/t5/Intel-C-Compiler/Inline-and-no-inline-warning/td-p/1216764) + # 11074: Inlining inhibited by limit max-size + # 11074: Inlining inhibited by limit max-total-size + # 11076: To get full report use -qopt-report=4 -qopt-report-phase ipo + -diag-disable + 2196,11074,11076) endif() endif() diff --git a/tests/constructor_stats.h b/tests/constructor_stats.h index 1f57914ff8..805968a09b 100644 --- a/tests/constructor_stats.h +++ b/tests/constructor_stats.h @@ -70,11 +70,6 @@ inspection/testing in python) by using the functions with `print_` replaced with #include #include -#if defined(__INTEL_COMPILER) -# pragma warning push -# pragma warning disable 2196 // warning #2196: routine is both "inline" and "noinline" -#endif - class ConstructorStats { protected: std::unordered_map _instances; // Need a map rather than set because members can shared address with parents @@ -278,7 +273,3 @@ template void print_values(T *inst, Values &&...va print_constr_details(inst, ":", values...); track_values(inst, values...); } - -#if defined(__INTEL_COMPILER) -# pragma warning pop -#endif diff --git a/tests/pybind11_cross_module_tests.cpp b/tests/pybind11_cross_module_tests.cpp index b2a9405f30..4bfd5302d5 100644 --- a/tests/pybind11_cross_module_tests.cpp +++ b/tests/pybind11_cross_module_tests.cpp @@ -16,11 +16,6 @@ #include #include -#if defined(__INTEL_COMPILER) -# pragma warning push -# pragma warning disable 2196 // warning #2196: routine is both "inline" and "noinline" -#endif - PYBIND11_MODULE(pybind11_cross_module_tests, m) { m.doc() = "pybind11 cross-module test module"; @@ -154,7 +149,3 @@ PYBIND11_MODULE(pybind11_cross_module_tests, m) { m.def("missing_header_arg", [](const std::vector &) {}); m.def("missing_header_return", []() { return std::vector(); }); } - -#if defined(__INTEL_COMPILER) -# pragma warning pop -#endif diff --git a/tests/pybind11_tests.cpp b/tests/pybind11_tests.cpp index 438fa6272d..439cd40129 100644 --- a/tests/pybind11_tests.cpp +++ b/tests/pybind11_tests.cpp @@ -13,11 +13,6 @@ #include #include -#if defined(__INTEL_COMPILER) -# pragma warning push -# pragma warning disable 2196 // warning #2196: routine is both "inline" and "noinline" -#endif - /* For testing purposes, we define a static global variable here in a function that each individual test .cpp calls with its initialization lambda. It's convenient here because we can just not @@ -94,7 +89,3 @@ PYBIND11_MODULE(pybind11_tests, m) { for (const auto &initializer : initializers()) initializer(m); } - -#if defined(__INTEL_COMPILER) -# pragma warning pop -#endif diff --git a/tests/pybind11_tests.h b/tests/pybind11_tests.h index 448a80fa2e..d970ba8bd4 100644 --- a/tests/pybind11_tests.h +++ b/tests/pybind11_tests.h @@ -10,9 +10,6 @@ // We get some really long type names here which causes MSVC 2015 to emit warnings # pragma warning( \ disable : 4503) // warning C4503: decorated name length exceeded, name was truncated -#elif defined(__INTEL_COMPILER) -# pragma warning push -# pragma warning disable 2196 // warning #2196: routine is both "inline" and "noinline" #endif namespace py = pybind11; @@ -90,9 +87,3 @@ void ignoreOldStyleInitWarnings(F &&body) { body() )", py::dict(py::arg("body") = py::cpp_function(body))); } - -#if defined(_MSC_VER) && _MSC_VER < 1910 -# pragma warning(pop) -#elif defined(__INTEL_COMPILER) -# pragma warning pop -#endif From ac0f078c0b57c9f9a578af7c31b7ac17186c2f36 Mon Sep 17 00:00:00 2001 From: "Ralf W. Grosse-Kunstleve" Date: Sun, 25 Jul 2021 15:05:25 -0700 Subject: [PATCH 6/9] Fixing condition for `pragma GCC diagnostic push` in pybind11.h --- include/pybind11/pybind11.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/pybind11/pybind11.h b/include/pybind11/pybind11.h index ba4d5ffa84..427c5ebaad 100644 --- a/include/pybind11/pybind11.h +++ b/include/pybind11/pybind11.h @@ -18,7 +18,7 @@ # pragma warning(disable: 4100) // warning C4100: Unreferenced formal parameter # pragma warning(disable: 4127) // warning C4127: Conditional expression is constant # pragma warning(disable: 4505) // warning C4505: 'PySlice_GetIndicesEx': unreferenced local function has been removed (PyPy only) -#elif defined(__GNUG__) && !defined(__clang__) +#elif defined(__GNUG__) && !defined(__clang__) && !defined(__INTEL_COMPILER) # pragma GCC diagnostic push # pragma GCC diagnostic ignored "-Wunused-but-set-parameter" # pragma GCC diagnostic ignored "-Wattributes" @@ -2379,7 +2379,7 @@ PYBIND11_NAMESPACE_END(PYBIND11_NAMESPACE) // THE `pop` HERE NEED TO BE KEPT IN SYNC WITH THE CORRESPONDING `push` AT THE TOP OF THIS FILE. // #if defined(_MSC_VER) -# pragma warning(pop) +# pragma warning(pop) #elif defined(__GNUG__) && !defined(__clang__) && !defined(__INTEL_COMPILER) -# pragma GCC diagnostic pop +# pragma GCC diagnostic pop #endif From e3719a9ff949b6d965849a3589a16bb193e20158 Mon Sep 17 00:00:00 2001 From: "Ralf W. Grosse-Kunstleve" Date: Mon, 26 Jul 2021 20:15:24 -0700 Subject: [PATCH 7/9] Moving `pragma warning disable 2196` to common.h --- include/pybind11/detail/common.h | 3 +++ tests/CMakeLists.txt | 9 ++------- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/include/pybind11/detail/common.h b/include/pybind11/detail/common.h index 3faf3ea327..0b4e30c18b 100644 --- a/include/pybind11/detail/common.h +++ b/include/pybind11/detail/common.h @@ -56,6 +56,9 @@ # elif __INTEL_COMPILER < 1900 && defined(PYBIND11_CPP14) # error pybind11 supports only C++11 with Intel C++ compiler v18. Use v19 or newer for C++14. # endif +/* The following pragma cannot be pop'ed: + https://community.intel.com/t5/Intel-C-Compiler/Inline-and-no-inline-warning/td-p/1216764 */ +# pragma warning disable 2196 // warning #2196: routine is both "inline" and "noinline" #elif defined(__clang__) && !defined(__apple_build_version__) # if __clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ < 3) # error pybind11 requires clang 3.3 or newer diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index b157d70529..dc70038dba 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -310,13 +310,8 @@ function(pybind11_enable_warnings target_name) ${target_name} PRIVATE -Werror-all - # 2196: routine is both "inline" and "noinline" (no way to `pop` and not get the warning: - # https://community.intel.com/t5/Intel-C-Compiler/Inline-and-no-inline-warning/td-p/1216764) - # 11074: Inlining inhibited by limit max-size - # 11074: Inlining inhibited by limit max-total-size - # 11076: To get full report use -qopt-report=4 -qopt-report-phase ipo - -diag-disable - 2196,11074,11076) + # "Inlining inhibited by limit max-size", "Inlining inhibited by limit max-total-size" + -diag-disable 11074,11076) endif() endif() From 1f418c0cf5481046a6f14bf1e8c5910e8cee44c9 Mon Sep 17 00:00:00 2001 From: "Ralf W. Grosse-Kunstleve" Date: Mon, 26 Jul 2021 23:41:31 -0700 Subject: [PATCH 8/9] Revising #ifdef to be more conservative. --- include/pybind11/pybind11.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/pybind11/pybind11.h b/include/pybind11/pybind11.h index 427c5ebaad..bc149a4851 100644 --- a/include/pybind11/pybind11.h +++ b/include/pybind11/pybind11.h @@ -13,7 +13,7 @@ // // THE `push` HERE NEED TO BE KEPT IN SYNC WITH THE CORRESPONDING `pop` AT THE BOTTOM OF THIS FILE. // -#if defined(_MSC_VER) +#if defined(_MSC_VER) && !defined(__INTEL_COMPILER) # pragma warning(push) # pragma warning(disable: 4100) // warning C4100: Unreferenced formal parameter # pragma warning(disable: 4127) // warning C4127: Conditional expression is constant @@ -2378,7 +2378,7 @@ PYBIND11_NAMESPACE_END(PYBIND11_NAMESPACE) // // THE `pop` HERE NEED TO BE KEPT IN SYNC WITH THE CORRESPONDING `push` AT THE TOP OF THIS FILE. // -#if defined(_MSC_VER) +#if defined(_MSC_VER) && !defined(__INTEL_COMPILER) # pragma warning(pop) #elif defined(__GNUG__) && !defined(__clang__) && !defined(__INTEL_COMPILER) # pragma GCC diagnostic pop From 1e785bb323e15eceb291f286c416df763a9dbde8 Mon Sep 17 00:00:00 2001 From: "Ralf W. Grosse-Kunstleve" Date: Tue, 27 Jul 2021 14:31:51 -0700 Subject: [PATCH 9/9] Undoing insertion of notes that will hopefully soon be completely obsolete anyway. --- include/pybind11/pybind11.h | 6 ------ 1 file changed, 6 deletions(-) diff --git a/include/pybind11/pybind11.h b/include/pybind11/pybind11.h index bc149a4851..41fd240f7f 100644 --- a/include/pybind11/pybind11.h +++ b/include/pybind11/pybind11.h @@ -10,9 +10,6 @@ #pragma once -// -// THE `push` HERE NEED TO BE KEPT IN SYNC WITH THE CORRESPONDING `pop` AT THE BOTTOM OF THIS FILE. -// #if defined(_MSC_VER) && !defined(__INTEL_COMPILER) # pragma warning(push) # pragma warning(disable: 4100) // warning C4100: Unreferenced formal parameter @@ -2375,9 +2372,6 @@ inline function get_overload(const T *this_ptr, const char *name) { PYBIND11_NAMESPACE_END(PYBIND11_NAMESPACE) -// -// THE `pop` HERE NEED TO BE KEPT IN SYNC WITH THE CORRESPONDING `push` AT THE TOP OF THIS FILE. -// #if defined(_MSC_VER) && !defined(__INTEL_COMPILER) # pragma warning(pop) #elif defined(__GNUG__) && !defined(__clang__) && !defined(__INTEL_COMPILER)