diff --git a/include/fastcdr/xcdr/optional.hpp b/include/fastcdr/xcdr/optional.hpp index f96a9506..684f2b5d 100644 --- a/include/fastcdr/xcdr/optional.hpp +++ b/include/fastcdr/xcdr/optional.hpp @@ -91,7 +91,12 @@ class optional } //! Destructor - ~optional() = default; + ~optional() +#if defined(__GNUC__) && __GNUC__ == 12 + __attribute__( + (noinline)) +#endif // if defined(__GNUC__) && __GNUC__ == 12 + = default; /*! * @brief Constructs the contained value in-place @@ -224,6 +229,10 @@ class optional //! Assigns content from an optional. optional& operator =( optional&& opt) +#if defined(__GNUC__) && __GNUC__ == 12 + __attribute__( + (noinline)) +#endif // if defined(__GNUC__) && __GNUC__ == 12 { reset(); storage_.engaged_ = opt.storage_.engaged_;