rm5248 commented on code in PR #738:
URL: https://github.com/apache/logging-log4cxx/pull/738#discussion_r3852766565


##########
src/main/include/log4cxx/spi/optionhandler.h:
##########
@@ -78,8 +78,7 @@ class LOG4CXX_EXPORT OptionHandler : public virtual 
helpers::Object
                other may be activated only when #activateOptions is
                called.
                */
-               virtual void setOption(const LogString& option,
-                       const LogString& value) = 0;
+               virtual void setOption(const LogString& option, const 
LogString& value);

Review Comment:
   I think removing the `= 0` to declare the function pure virtual is causing 
the ABI check to fail.
   
   It's not entirely clear to me if this is OK or not, but I don't think it is. 
 According to the [KDE compatibility 
guidelines](https://community.kde.org/Policies/Binary_Compatibility_Issues_With_C%2B%2B):
   
   > You can...
   > Reimplement virtual functions defined in the primary base class hierarchy 
(that is, virtuals defined in the first non-virtual base class, or in that 
class's first non-virtual base class, and so forth) **if** it is safe that 
programs linked with the prior version of the library call the implementation 
in the base class rather than the derived one. This is tricky and might be 
dangerous. Think twice before doing it. Alternatively see below for a 
workaround.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to