Index: generic/nsfStack.c =================================================================== diff -u -r77104533a2105611e79a6723ece344e0ae6dc016 -r30e93c21e2be453a9e192b270844d86e04378c45 --- generic/nsfStack.c (.../nsfStack.c) (revision 77104533a2105611e79a6723ece344e0ae6dc016) +++ generic/nsfStack.c (.../nsfStack.c) (revision 30e93c21e2be453a9e192b270844d86e04378c45) @@ -100,9 +100,16 @@ } static void Nsf_PopFrameObj(Tcl_Interp *interp, Tcl_CallFrame *framePtr) { + /*fprintf(stderr,"POP OBJECT_FRAME (Nsf_PopFrameObj) frame %p, vartable %p set to NULL, already %d\n", framePtr, Tcl_CallFrame_varTablePtr(framePtr), Tcl_CallFrame_varTablePtr(framePtr) == NULL);*/ - Tcl_CallFrame_varTablePtr(framePtr) = NULL; + + /* gcc 4.4.4 strict-aliasing rule does not like + Tcl_CallFrame_varTablePtr(framePtr) = NULL; + */ + CallFrame *callFrame = (CallFrame *)framePtr; + callFrame->varTablePtr = NULL; + Tcl_PopCallFrame(interp); }