Index: src/date.c ================================================================== --- src/date.c +++ src/date.c @@ -353,11 +353,11 @@ Z = (int)((p->iJD + 43200000)/86400000); A = (int)((Z - 1867216.25)/36524.25); A = Z + 1 + A - (A/4); B = A + 1524; C = (int)((B - 122.1)/365.25); - D = (36525*C)/100; + D = (36525*(C&32767))/100; E = (int)((B-D)/30.6001); X1 = (int)(30.6001*E); p->D = B - D - X1; p->M = E<14 ? E-1 : E-13; p->Y = p->M>2 ? C - 4716 : C - 4715; Index: src/test1.c ================================================================== --- src/test1.c +++ src/test1.c @@ -271,10 +271,13 @@ int res = 0; #if defined(__has_feature) # if __has_feature(address_sanitizer) res = 1; # endif +#endif +#ifdef __SANITIZE_ADDRESS__ + res = 1; #endif if( res==0 && getenv("OMIT_MISUSE")!=0 ) res = 1; Tcl_SetObjResult(interp, Tcl_NewIntObj(res)); return TCL_OK; }