Description: Fix incompatible-pointer-types error in GCC-14 GCC no longer allows implicitly casting all pointer types to all other pointer types.Therefore, this patch make the explicit casting to the expected type where required. Author: Miriam EspaƱa Acebal Forwarded: https://github.com/vermaseren/form/pull/549 Last-Update: 2024-08-01 --- --- a/sources/compcomm.c +++ b/sources/compcomm.c @@ -122,19 +122,19 @@ ,{"threadsortfilesynch",&(AC.ThreadSortFileSynch),1, 0} ,{"threadstats", &(AC.ThreadStats),1, 0} ,{"finalstats", &(AC.FinalStats),1, 0} - ,{"fewerstats", &(AC.ShortStatsMax), 10, 0} - ,{"fewerstatistics",&(AC.ShortStatsMax), 10, 0} + ,{"fewerstats", (int *)&(AC.ShortStatsMax), 10, 0} + ,{"fewerstatistics",(int *)&(AC.ShortStatsMax), 10, 0} ,{"processstats", &(AC.ProcessStats),1, 0} ,{"oldparallelstats",&(AC.OldParallelStats),1,0} ,{"parallel", &(AC.parallelflag),PARALLELFLAG,NOPARALLEL_USER} ,{"nospacesinnumbers",&(AO.NoSpacesInNumbers),1,0} - ,{"indentspace", &(AO.IndentSpace),INDENTSPACE,0} + ,{"indentspace", (int *)&(AO.IndentSpace),INDENTSPACE,0} ,{"totalsize", &(AM.PrintTotalSize), 1, 0} ,{"flag", (int *)&(AC.debugFlags), 1, 0} ,{"oldfactarg", &(AC.OldFactArgFlag), 1, 0} ,{"memdebugflag", &(AC.MemDebugFlag), 1, 0} ,{"oldgcd", &(AC.OldGCDflag), 1, 0} - ,{"innertest", &(AC.InnerTest), 1, 0} + ,{"innertest", (int *)&(AC.InnerTest), 1, 0} ,{"wtimestats", &(AC.WTimeStatsFlag), 1, 0} }; --- a/sources/reshuf.c +++ b/sources/reshuf.c @@ -2144,7 +2144,7 @@ passed on. */ SHback = AN.SHvar; - SH->finishuf = &FinishShuffle; + SH->finishuf = (FINISHUFFLE) &FinishShuffle; SH->do_uffle = &DoShuffle; SH->outterm = AT.WorkPointer; AT.WorkPointer += *term; @@ -2638,7 +2638,7 @@ *AN.RepPoint = 1; SHback = AN.SHvar; - SH->finishuf = &FinishStuffle; + SH->finishuf = (FINISHUFFLE) &FinishStuffle; SH->do_uffle = &DoStuffle; SH->outterm = AT.WorkPointer; AT.WorkPointer += *term; @@ -2737,9 +2737,9 @@ */ SH->stop1 = SH->ststop1; SH->stop2 = SH->ststop2; - SH->finishuf = &FinishShuffle; + SH->finishuf = (FINISHUFFLE) &FinishShuffle; if ( Shuffle(from1,from2,to) ) goto stuffcall; - SH->finishuf = &FinishStuffle; + SH->finishuf = (FINISHUFFLE) &FinishStuffle; /* Now we have to select a pair, one from 1 and one from 2. */ --- a/sources/float.c +++ b/sources/float.c @@ -2321,15 +2321,15 @@ */ AT.WorkPointer += depth; if ( first ) { - if ( *t == MZV ) CalculateMZV(aux4,indexes,depth); - else if ( *t == EULER ) CalculateEuler(aux4,indexes,depth); - else if ( *t == MZVHALF ) CalculateMZVhalf(aux4,indexes,depth); + if ( *t == MZV ) CalculateMZV(aux4,(int *)indexes,depth); + else if ( *t == EULER ) CalculateEuler(aux4,(int *)indexes,depth); + else if ( *t == MZVHALF ) CalculateMZVhalf(aux4,(int *)indexes,depth); first = 0; } else { - if ( *t == MZV ) CalculateMZV(aux5,indexes,depth); - else if ( *t == EULER ) CalculateEuler(aux5,indexes,depth); - else if ( *t == MZVHALF ) CalculateMZVhalf(aux5,indexes,depth); + if ( *t == MZV ) CalculateMZV(aux5,(int *)indexes,depth); + else if ( *t == EULER ) CalculateEuler(aux5,(int *)indexes,depth); + else if ( *t == MZVHALF ) CalculateMZVhalf(aux5,(int *)indexes,depth); mpf_mul(aux4,aux4,aux5); } *t = 0;