Commit fc92d82b by Wenzel Jakob

added [[noreturn]] attribute to pybind11_fail

parent 87810d8e
...@@ -56,7 +56,6 @@ public: ...@@ -56,7 +56,6 @@ public:
/* This function has no arguments. The trailing comma /* This function has no arguments. The trailing comma
in the previous line is needed for some compilers */ in the previous line is needed for some compilers */
); );
throw std::runtime_error("this will never be reached");
} }
virtual void pure_virtual() { virtual void pure_virtual() {
......
...@@ -324,7 +324,7 @@ struct error_already_set : public std::runtime_error { public: error_already_set ...@@ -324,7 +324,7 @@ struct error_already_set : public std::runtime_error { public: error_already_set
/// Thrown when pybind11::cast or handle::call fail due to a type casting error /// Thrown when pybind11::cast or handle::call fail due to a type casting error
struct cast_error : public std::runtime_error { public: cast_error(const std::string &w = "") : std::runtime_error(w) {} }; struct cast_error : public std::runtime_error { public: cast_error(const std::string &w = "") : std::runtime_error(w) {} };
PYBIND11_NOINLINE inline void pybind11_fail(const char *reason) { throw std::runtime_error(reason); } [[noreturn]] PYBIND11_NOINLINE inline void pybind11_fail(const char *reason) { throw std::runtime_error(reason); }
PYBIND11_NOINLINE inline void pybind11_fail(const std::string &reason) { throw std::runtime_error(reason); } [[noreturn]] PYBIND11_NOINLINE inline void pybind11_fail(const std::string &reason) { throw std::runtime_error(reason); }
NAMESPACE_END(pybind11) NAMESPACE_END(pybind11)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment