https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98597
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|unassigned at gcc dot gnu.org |msebor at gcc dot gnu.org --- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> --- > ```c++ > struct QQmlRefCount { > void release() const; > virtual ~QQmlRefCount(); > }; > QQmlRefCount::~QQmlRefCount() {} > void QQmlRefCount::release() const { delete this; } > struct QQmlJavaScriptExpression { > virtual int sourceLocation(); > }; > struct QQmlBoundSignalExpression : QQmlJavaScriptExpression, QQmlRefCount {}; > struct QQmlProfilerDefinitions { > enum RangeType { HandlingSignal }; > }; > struct QQmlProfiler : QQmlProfilerDefinitions { > struct RefLocation { > RefLocation() { > switch (locationType) > case HandlingSignal: > boundSignal->release(); > } > RangeType locationType; > QQmlBoundSignalExpression *boundSignal; > }; > void startCompiling() { RefLocation(); } > }; > struct QQmlCompilingProfiler { > QQmlProfiler QQmlCompilingProfiler_profiler; > QQmlCompilingProfiler(int *) { > QQmlCompilingProfiler_profiler.startCompiling(); > } > }; > int notifyComplete_blob; > void QQmlDataBlobnotifyComplete() { > QQmlCompilingProfiler prof(¬ifyComplete_blob); > } > ``` > This also started with r11-6508-gabb1b6058c09a7c0. @Martin: Can you please take a look?