Hello FPC, Saturday, December 31, 2011, 3:39:59 PM, you wrote:
SG> r19668 affects codegeneration of constructors and custom enumerators, and fixes SG> http://bugs.freepascal.org/view.php?id=20827 SG> The reported location of crash in your case is likely SG> unrelated to the actual location of problem. SG> At least, function WindowProc from win32callback.inc is not SG> affected by r19668, as it isn't a SG> constructor and doesn't involve exception handling in unmodified form. SG> If your code contains constructors which use interfaces, I'd SG> suggest them as the place to look at or SG> try to modify. Reverting this change in r19668, line 700: begin { Constructors need the destroy-on-exception code even if they don't use managed variables/temps. } //if (cs_implicit_exceptions in current_settings.moduleswitches) and // (is_class(procdef.struct) and (procdef.proctypeoption=potype_constructor)) then // maybe_add_constructor_wrapper(code,true) //else maybe_add_constructor_wrapper(code,false); addstatement(newstatement,loadpara_asmnode); Makes everything work fine again. The if..else was added by you in 19668. Maybe a forgotten situation to generate stackframe ? -- Best regards, José _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel