// /*--------------------------------------------------------*\ // | Main Program: Unchecked pointer test // \*--------------------------------------------------------*/ ///------------------------------------------------------------- /// Global Context --------------------------------------------- ///------------------------------------------------------------- #include "RESOLVE_Foundation.h" ///------------------------------------------------------------- /// Interface -------------------------------------------------- ///------------------------------------------------------------- program_body main () { object Pointer p1, p2, p3; New (p1); New (p2); New (p3); (*p1) = 59; (*p2)++; (*p3) = 2 * ((*p1) + (*p2)); debug ("(*p1) = " << (*p1)); debug ("(*p2) = " << (*p2)); debug ("(*p3) = " << (*p3)); p2 = NULL; p2 = p1; // creating memory leak trace; (*p3) = 2 * ((*p1) + (*p2)); debug ("(*p1) = " << (*p1)); debug ("(*p2) = " << (*p2)); debug ("(*p3) = " << (*p3)); if (p3 == NULL) { debug ("surprise"); } Delete (p1); Delete (p2); // deleting dead pointer trace; Delete (p3); Report_Storage_Allocation (); // does nothing without Pointer_C }