Add missing virtual destructors (#1149)
* Add -Wnon-virtual-dtor -Woverloaded-virtual compiler options Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com> * Add missing virtual dtors Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com> * please linter Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com>
This commit is contained in:
parent
819612aec6
commit
769a9d0439
8 changed files with 11 additions and 4 deletions
|
@ -23,7 +23,7 @@ if(NOT CMAKE_CXX_STANDARD)
|
||||||
set(CMAKE_CXX_STANDARD 14)
|
set(CMAKE_CXX_STANDARD 14)
|
||||||
endif()
|
endif()
|
||||||
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||||
add_compile_options(-Wall -Wextra -Wpedantic)
|
add_compile_options(-Wall -Wextra -Wpedantic -Wnon-virtual-dtor -Woverloaded-virtual)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(${PROJECT_NAME}_SRCS
|
set(${PROJECT_NAME}_SRCS
|
||||||
|
|
|
@ -31,6 +31,7 @@ class RateBase
|
||||||
public:
|
public:
|
||||||
RCLCPP_SMART_PTR_DEFINITIONS_NOT_COPYABLE(RateBase)
|
RCLCPP_SMART_PTR_DEFINITIONS_NOT_COPYABLE(RateBase)
|
||||||
|
|
||||||
|
virtual ~RateBase() {}
|
||||||
virtual bool sleep() = 0;
|
virtual bool sleep() = 0;
|
||||||
virtual bool is_steady() const = 0;
|
virtual bool is_steady() const = 0;
|
||||||
virtual void reset() = 0;
|
virtual void reset() = 0;
|
||||||
|
|
|
@ -62,6 +62,7 @@ public:
|
||||||
|
|
||||||
/// TimerBase destructor
|
/// TimerBase destructor
|
||||||
RCLCPP_PUBLIC
|
RCLCPP_PUBLIC
|
||||||
|
virtual
|
||||||
~TimerBase();
|
~TimerBase();
|
||||||
|
|
||||||
/// Cancel the timer.
|
/// Cancel the timer.
|
||||||
|
|
|
@ -13,7 +13,7 @@ if(NOT CMAKE_CXX_STANDARD)
|
||||||
set(CMAKE_CXX_STANDARD 14)
|
set(CMAKE_CXX_STANDARD 14)
|
||||||
endif()
|
endif()
|
||||||
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||||
add_compile_options(-Wall -Wextra -Wpedantic)
|
add_compile_options(-Wall -Wextra -Wpedantic -Wnon-virtual-dtor -Woverloaded-virtual)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(${PROJECT_NAME}_SRCS
|
set(${PROJECT_NAME}_SRCS
|
||||||
|
|
|
@ -7,7 +7,7 @@ if(NOT CMAKE_CXX_STANDARD)
|
||||||
set(CMAKE_CXX_STANDARD 14)
|
set(CMAKE_CXX_STANDARD 14)
|
||||||
endif()
|
endif()
|
||||||
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||||
add_compile_options(-Wall -Wextra -Wpedantic)
|
add_compile_options(-Wall -Wextra -Wpedantic -Wnon-virtual-dtor -Woverloaded-virtual)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_package(ament_cmake_ros REQUIRED)
|
find_package(ament_cmake_ros REQUIRED)
|
||||||
|
|
|
@ -7,7 +7,7 @@ if(NOT CMAKE_CXX_STANDARD)
|
||||||
set(CMAKE_CXX_STANDARD 14)
|
set(CMAKE_CXX_STANDARD 14)
|
||||||
endif()
|
endif()
|
||||||
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||||
add_compile_options(-Wall -Wextra -Wpedantic)
|
add_compile_options(-Wall -Wextra -Wpedantic -Wnon-virtual-dtor -Woverloaded-virtual)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_package(ament_cmake_ros REQUIRED)
|
find_package(ament_cmake_ros REQUIRED)
|
||||||
|
|
|
@ -36,6 +36,7 @@ namespace rclcpp_lifecycle
|
||||||
class LifecyclePublisherInterface
|
class LifecyclePublisherInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
virtual ~LifecyclePublisherInterface() {}
|
||||||
virtual void on_activate() = 0;
|
virtual void on_activate() = 0;
|
||||||
virtual void on_deactivate() = 0;
|
virtual void on_deactivate() = 0;
|
||||||
virtual bool is_activated() = 0;
|
virtual bool is_activated() = 0;
|
||||||
|
|
|
@ -100,6 +100,10 @@ public:
|
||||||
RCLCPP_LIFECYCLE_PUBLIC
|
RCLCPP_LIFECYCLE_PUBLIC
|
||||||
virtual CallbackReturn
|
virtual CallbackReturn
|
||||||
on_error(const State & previous_state);
|
on_error(const State & previous_state);
|
||||||
|
|
||||||
|
RCLCPP_LIFECYCLE_PUBLIC
|
||||||
|
virtual
|
||||||
|
~LifecycleNodeInterface() {}
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace node_interfaces
|
} // namespace node_interfaces
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue