+cc maintainer

On Mon, Apr 16 2018, Alexander Bluhm <alexander.bl...@gmx.net> wrote:
> Hi,
>
> This fixes facter build with clang6.
>
> /usr/include/c++/v1/memory:2541:13: error: delete called on 
> 'facter::facts::external::resolver' that is abstract but has non-virtual 
> destructor [-Werror,-Wdelete-non-virtual-dtor]
>             delete __ptr;
>             ^
> /usr/include/c++/v1/memory:2541:13: error: delete called on non-final 
> 'facter::facts::collection' that has virtual functions but non-virtual 
> destructor [-Werror,-Wdelete-non-virtual-dtor]
>             delete __ptr;
>             ^
>
> ok?

We should really stop using -Werror (iiuc those CFLAGS come from
leatherman) but the fix looks right anyway.  ok jca@

> bluhm
>
> Index: sysutils/facter/patches/patch-lib_inc_facter_facts_collection_hpp
> ===================================================================
> RCS file: sysutils/facter/patches/patch-lib_inc_facter_facts_collection_hpp
> diff -N sysutils/facter/patches/patch-lib_inc_facter_facts_collection_hpp
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ sysutils/facter/patches/patch-lib_inc_facter_facts_collection_hpp 15 Apr 
> 2018 22:36:22 -0000
> @@ -0,0 +1,14 @@
> +$OpenBSD$
> +
> +Index: lib/inc/facter/facts/collection.hpp
> +--- lib/inc/facter/facts/collection.hpp.orig
> ++++ lib/inc/facter/facts/collection.hpp
> +@@ -101,7 +101,7 @@ namespace facter { namespace facts {
> +         /**
> +          * Destructor for fact collection.
> +          */
> +-        ~collection();
> ++        virtual ~collection();
> + 
> +         /**
> +          * Prevents the fact collection from being copied.
> Index: 
> sysutils/facter/patches/patch-lib_inc_facter_facts_external_resolver_hpp
> ===================================================================
> RCS file: 
> sysutils/facter/patches/patch-lib_inc_facter_facts_external_resolver_hpp
> diff -N 
> sysutils/facter/patches/patch-lib_inc_facter_facts_external_resolver_hpp
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ sysutils/facter/patches/patch-lib_inc_facter_facts_external_resolver_hpp  
> 16 Apr 2018 00:07:52 -0000
> @@ -0,0 +1,17 @@
> +$OpenBSD$
> +
> +Index: lib/inc/facter/facts/external/resolver.hpp
> +--- lib/inc/facter/facts/external/resolver.hpp.orig
> ++++ lib/inc/facter/facts/external/resolver.hpp
> +@@ -44,6 +44,11 @@ namespace facter { namespace facts { namespace externa
> +          * @param facts The fact collection to populate the external facts 
> into.
> +          */
> +         virtual void resolve(std::string const& path, collection& facts) 
> const = 0;
> ++
> ++        /**
> ++         * Destructor for external resolver.
> ++         */
> ++        virtual ~resolver() {}
> +     };
> + 
> + }}}  // namespace facter::facts::external
>

-- 
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply via email to