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(&notifyComplete_blob);
> }
> ```
> 

This also started with r11-6508-gabb1b6058c09a7c0.

@Martin: Can you please take a look?

Reply via email to