# HG changeset patch # User akira noda # Date 1440176752 14400 # Node ID 9851a296cf878daef81a42c11ff93880d54b4cd6 # Parent e6e09cebd3b260c916bc8e04f35c76676e8b7d85 Fix compilation of classdef with the clang compiler (bug #41178) * ov-classdef.cc, ov-classdef.h (cdef_object_scalar::mark_as_constructed): Move function definition out of header file to avoid dependency on incomplete type, compilation error with clang. diff -r e6e09cebd3b2 -r 9851a296cf87 libinterp/octave-value/ov-classdef.cc --- a/libinterp/octave-value/ov-classdef.cc Fri Dec 11 11:30:25 2015 -0500 +++ b/libinterp/octave-value/ov-classdef.cc Fri Aug 21 13:05:52 2015 -0400 @@ -1937,6 +1937,12 @@ return true; } +void +cdef_object_scalar::mark_as_constructed (const cdef_class& cls) +{ + ctor_list.erase (cls); +} + handle_cdef_object::~handle_cdef_object (void) { #if DEBUG_TRACE diff -r e6e09cebd3b2 -r 9851a296cf87 libinterp/octave-value/ov-classdef.h --- a/libinterp/octave-value/ov-classdef.h Fri Dec 11 11:30:25 2015 -0500 +++ b/libinterp/octave-value/ov-classdef.h Fri Aug 21 13:05:52 2015 -0400 @@ -438,7 +438,7 @@ void mark_as_constructed (void) { ctor_list.clear (); } - void mark_as_constructed (const cdef_class& cls) { ctor_list.erase (cls); } + void mark_as_constructed (const cdef_class& cls); bool is_constructed (void) const { return ctor_list.empty (); }