clean-up some library and linkage problems
the object VTable is typically emitted when the compiler encounters the first non-static non-inline function of the class or a derived class. Sometimes this happens within the wrong library and so the compiler needs a nudge to emit those infrastructure functions. But in most cases this works out of the box and need no further magic incanctations, which might have a downside. Especially because also a non-inline dtor does incur a call overhead, whereas an inline dtor can be trivially elided.
This commit is contained in:
parent
5b0d58518e
commit
7f51a01631
5 changed files with 2 additions and 7 deletions
|
|
@ -48,9 +48,6 @@ namespace lib {
|
|||
namespace time {
|
||||
|
||||
|
||||
TCode::~TCode() { } // emit VTable here....
|
||||
|
||||
|
||||
namespace format { /* ================= Timecode implementation details ======== */
|
||||
|
||||
LUMIERA_ERROR_DEFINE (INVALID_TIMECODE, "timecode format error, illegal value encountered");
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ namespace time {
|
|||
{
|
||||
|
||||
public:
|
||||
virtual ~TCode();
|
||||
virtual ~TCode() { }
|
||||
|
||||
operator string() const { return show(); }
|
||||
string describe() const { return string(tcID()); }
|
||||
|
|
|
|||
|
|
@ -181,8 +181,6 @@ namespace engine{
|
|||
/* ===== Quality-of-Service ===== */
|
||||
|
||||
|
||||
EngineService::Quality::~Quality() { } // emit vtables here...
|
||||
|
||||
enum CalcType {
|
||||
PLAYBACK,
|
||||
RENDER,
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@ namespace engine{
|
|||
class Quality
|
||||
{
|
||||
public:
|
||||
virtual ~Quality(); ///< this is an Interface
|
||||
virtual ~Quality() { }; ///< this is an Interface
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue