https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66487
--- Comment #10 from Martin Liška <marxin at gcc dot gnu.org> --- _ZL33nsSafeFileOutputStreamConstructorP11nsISupportsRK4nsIDPPv.part.50 (const struct nsIID & aIID, void * * aResult) { nsresult rv; struct nsSafeFileOutputStream * inst; void * D.4108055; struct nsISupports * aOuter; <bb 5>: <bb 2>: _1 = moz_xmalloc (96); MEM[(struct nsSafeFileOutputStream *)_1] = {}; _2 = &MEM[(struct nsFileOutputStream *)_1].D.310165; __base_ctor (_2); MEM[(struct nsCOMPtr_base *)_1 + 72B].mRawPtr = 0B; MEM[(struct nsCOMPtr_base *)_1 + 80B].mRawPtr = 0B; MEM[(struct nsAtomicFileOutputStream *)_1].mTargetFileExists = 1; MEM[(struct nsAtomicFileOutputStream *)_1].mWriteResult = 0; MEM[(struct nsSafeFileOutputStream *)_1].D.311327.D.310176.D.310165.D.310152.D.135481._vptr.nsISupports = &MEM[(void *)&_ZTV22nsSafeFileOutputStream + 16B]; MEM[(struct nsSafeFileOutputStream *)_1].D.311327.D.310176.D.310165.D.310151.D.309908._vptr.nsISupports = &MEM[(void *)&_ZTV22nsSafeFileOutputStream + 184B]; MEM[(struct nsSafeFileOutputStream *)_1].D.311327.D.310176.D.310164.D.121781.D.40458._vptr.nsISupports = &MEM[(void *)&_ZTV22nsSafeFileOutputStream + 240B]; MEM[(struct nsSafeFileOutputStream *)_1].D.311327.D.310175.D.121735._vptr.nsISupports = &MEM[(void *)&_ZTV22nsSafeFileOutputStream + 336B]; if (_1 == 0B) goto <bb 4>; else goto <bb 3>; <bb 3>: _3 = &MEM[(struct nsSafeFileOutputStream *)_1].D.311327; _4 = MEM[(int (*__vtbl_ptr_type) () *)&_ZTV22nsSafeFileOutputStream + 24B]; OBJ_TYPE_REF(_4;(struct nsAtomicFileOutputStream)_3->1) (_3); _5 = MEM[(struct nsSafeFileOutputStream *)_1].D.311327.D.310176.D.310165.D.310152.D.135481._vptr.nsISupports; _6 = *_5; rv_9 = OBJ_TYPE_REF(_6;(struct nsAtomicFileOutputStream)_3->0) (_3, aIID_7(D), aResult_8(D)); _10 = MEM[(struct nsSafeFileOutputStream *)_1].D.311327.D.310176.D.310165.D.310152.D.135481._vptr.nsISupports; _11 = MEM[(int (*__vtbl_ptr_type) () *)_10 + 16B]; OBJ_TYPE_REF(_11;(struct nsAtomicFileOutputStream)_3->2) (_3); <bb 4>: # _12 = PHI <2147942414(2), rv_9(3)> return _12; }