Skip to content

Commit

Permalink
fix for gcc >=14 and -std=gnu23
Browse files Browse the repository at this point in the history
  • Loading branch information
edoapra committed Feb 19, 2025
1 parent 8ad8869 commit 55f0d20
Show file tree
Hide file tree
Showing 64 changed files with 142 additions and 620 deletions.
75 changes: 75 additions & 0 deletions src/peigs/h/peigs_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -379,11 +379,86 @@ void tresidf_ (Integer *n, Integer *m, DoublePrecision *d, DoublePrecision *e, D

void dcopy_(Integer *, DoublePrecision *, Integer *, DoublePrecision *, Integer *);
void daxpy_(Integer *, DoublePrecision *, DoublePrecision *, Integer *, DoublePrecision *, Integer *);
void dscal_(Integer *, DoublePrecision *, DoublePrecision *, Integer *);
DoublePrecision ddot_(Integer *, DoublePrecision *, Integer *, DoublePrecision *, Integer *);
DoublePrecision dnrm2_(Integer *, DoublePrecision *, Integer *);
void dlarnv_(Integer *, Integer *, Integer *, DoublePrecision *);
void dlasq1_(Integer *, DoublePrecision *, DoublePrecision *, DoublePrecision *, Integer *);
DoublePrecision dasum_(Integer *, DoublePrecision *, Integer *);
void dsterf_(Integer *, DoublePrecision *, DoublePrecision *, Integer *);
void dlagts_(Integer *, Integer *, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *,
Integer *, DoublePrecision *, DoublePrecision *, Integer *);
void dlagtf_(Integer *,
DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *,
Integer *, Integer *);
Integer idamax_(Integer *, DoublePrecision *, Integer *);

void xerbla_ (char *ptr, Integer *m);
void mxpend_();
Integer mxmynd_();
Integer mxnprc_();
Integer mxread_(DoublePrecision *, Integer *,Integer *, Integer *);
Integer mxwrit_(DoublePrecision *, Integer *,Integer *, Integer *);
void mgs_3(Integer *n, DoublePrecision **, Integer *, Integer *, Integer *, Integer *, Integer *, DoublePrecision *, Integer *, DoublePrecision *);
Integer inv_it3( Integer *, Integer *, Integer *, Integer *, Integer *, Integer *, Integer *, Integer *, DoublePrecision **, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, Integer *, DoublePrecision *);
Integer mgscs(Integer *, DoublePrecision **, Integer *, Integer, Integer, Integer, Integer, Integer *, DoublePrecision *);
void xstop_(Integer *);
Integer clustrfix_(Integer, DoublePrecision *, DoublePrecision *, Integer, DoublePrecision *, Integer *, Integer, Integer *, Integer *, Integer *);
Integer clustrinv4_(Integer *, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, Integer *, Integer *, Integer *, Integer *, DoublePrecision **, Integer *, Integer *, Integer *, Integer *, DoublePrecision *);
Integer clustrf5_(Integer *, DoublePrecision *, DoublePrecision *, Integer *, DoublePrecision *, Integer *, DoublePrecision **, Integer *, Integer *, Integer *, DoublePrecision *, Integer *, Integer *, Integer *, Integer *, Integer *, Integer *, Integer *);
Integer clustrinv5_(Integer *, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *,
DoublePrecision *, DoublePrecision *, Integer *, Integer *, Integer *,
Integer *, DoublePrecision **, Integer *, Integer *,
Integer *, Integer *, DoublePrecision *);
void mat_max ( Integer *, Integer *, DoublePrecision **, Integer *, DoublePrecision *, Integer *, DoublePrecision *);
Integer indxL(Integer, Integer, Integer *);
void pairup_(Integer *, Integer *, Integer *, Integer *);
Integer mxcombv1_ (Integer *, Integer (*callback)(Integer *, Integer *, Integer *, Integer *) , Integer *,
Integer *, Integer *, Integer *,
Integer *, Integer *);
DoublePrecision damax_(Integer *, DoublePrecision *, Integer *);
Integer reduce_list4(Integer, Integer *,Integer *,Integer *);
Integer peigs_cmod_(Integer *,Integer *);
Integer mapchk_(Integer *,Integer *);
void dshellsort_(Integer *, DoublePrecision *);
void dshellsort2_(Integer *, DoublePrecision *, Integer *);
void sorteig(Integer *, Integer *, DoublePrecision **, Integer *, DoublePrecision *, Integer *, DoublePrecision *);
void pstebz10_(Integer *, Integer *, DoublePrecision *, DoublePrecision *, Integer *, Integer *, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, Integer *, Integer *,
Integer *, DoublePrecision *, Integer *, Integer *, DoublePrecision *, Integer *, Integer *);
void pstein5(Integer *, DoublePrecision *,DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, Integer *, DoublePrecision *, Integer *, Integer *, Integer *,
Integer *, DoublePrecision **, Integer *, DoublePrecision *, Integer *, Integer **, Integer *);
void pstein4(Integer *, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, Integer *, DoublePrecision *, Integer *, Integer *, Integer *,
Integer *, DoublePrecision **, Integer *, DoublePrecision *, Integer *, Integer **, Integer *);
void pstebz_(Integer *, Integer *, DoublePrecision *, DoublePrecision *, Integer *, Integer *, DoublePrecision *, DoublePrecision *, DoublePrecision *,
DoublePrecision *, DoublePrecision *,
Integer *, Integer *, Integer *, DoublePrecision *, Integer *, Integer *,
DoublePrecision *, Integer *, Integer *);
void heapsort_(Integer *, DoublePrecision *);
Integer neblw2_(Integer *, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, Integer * );
Integer mxbrod_(int *, Integer *, Integer *, Integer *, Integer *, Integer *);
Integer menode_(Integer *, Integer * );
void peigs_tldlfact(Integer *, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *);
void peigs_dlasq1(Integer , DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, Integer *);
void dstebz3_(Integer *, Integer *, Integer *, DoublePrecision *, DoublePrecision *, Integer *, Integer *,
DoublePrecision *, DoublePrecision *, DoublePrecision *,
Integer *, Integer *, DoublePrecision *, Integer *, Integer *,
DoublePrecision *, Integer *, Integer *);
void dgetavec_(Integer *, DoublePrecision *, DoublePrecision *, Integer *,
Integer *, Integer *, DoublePrecision *, DoublePrecision *, DoublePrecision *,
DoublePrecision *, DoublePrecision *,
DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, Integer *,
DoublePrecision *, Integer *, Integer *, Integer *, Integer *);
void dgetavec2_(Integer *, DoublePrecision *, DoublePrecision *, Integer *,
Integer *, Integer *, DoublePrecision *, DoublePrecision *, DoublePrecision *,
DoublePrecision *, DoublePrecision *,
DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, Integer *,
DoublePrecision *, Integer *, Integer *, Integer *, Integer *);
void dgetavec3_(DoublePrecision *, DoublePrecision *, Integer *,
Integer *, Integer *, DoublePrecision *, DoublePrecision *, DoublePrecision *,
DoublePrecision *, DoublePrecision *,
DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *, Integer *,
DoublePrecision *, Integer *, Integer *, Integer *, Integer *);
void peigs_tri_mult(Integer *, DoublePrecision *, DoublePrecision *, DoublePrecision *, DoublePrecision *);

/*
void mxcombv1_(char *buf, Integer *sum(), Integer *isize, Integer *items, Integer *n, Integer *list, Integer *msgtype, char *work);
Expand Down
20 changes: 0 additions & 20 deletions src/peigs/src/c/b_ortho.c
Original file line number Diff line number Diff line change
Expand Up @@ -145,28 +145,8 @@ void b_ortho ( n, colB, mapB, m, colZ, mapZ, ibuffptr, iwork, work, ort, info)
DoublePrecision *ptr, *scrat;
DoublePrecision **vecZ1, **vecZ2; /* copies of the vecZ matrix */

/*
blas call
*/

extern DoublePrecision dnrm2_();
extern void mxm88();
extern void mxm25();
extern DoublePrecision ddot_();
extern void dcopy_();
extern void daxpy_();

extern Integer mxwrit_(), mxread_();
extern Integer menode_(), mxmynd_();
extern void mdiff1_(), bbcast00();

extern void chol_pipe_bcast();
extern Integer fil_mapvec_();
extern Integer reduce_list2();
extern Integer count_list();
extern void fil_dbl_lst();
extern void mat_max();

/*
usual story about error handling
*/
Expand Down
11 changes: 3 additions & 8 deletions src/peigs/src/c/chol_bcst.c
Original file line number Diff line number Diff line change
Expand Up @@ -96,15 +96,10 @@ scratch = (integer scratch array) length(k_indx + 1)
Integer num_indx, me;
Integer *junk, k, isize;

extern Integer in_list();
extern Integer qqsort();
extern void qshellsort_ ();

extern Integer mxmync_ ();
extern Integer mxmynd_ ();
extern Integer mxwrit_ ();
extern Integer mxread_ ();
extern Integer reduce_list22();

/*
reduce the list of processors to the minimum list holding
Expand Down Expand Up @@ -158,14 +153,14 @@ scratch = (integer scratch array) length(k_indx + 1)
#endif

if ( me == root ) {
isize = mxwrit_ ( buf, &len, &junk[1], &type);
isize = mxwrit_ ( (DoublePrecision *) buf, &len, &junk[1], &type);
}

for ( k = 1; k < num_indx; k++ ){
if ( me == junk[k] ) {
isize = mxread_ ( buf, &len, &junk[k-1] , &type);
isize = mxread_ ( (DoublePrecision *) buf, &len, &junk[k-1] , &type);
if ( k < ( num_indx - 1 ) ){
isize = mxwrit_ ( buf, &len, &junk[k+1] , &type);
isize = mxwrit_ ( (DoublePrecision *) buf, &len, &junk[k+1] , &type);
}
}
}
Expand Down
13 changes: 1 addition & 12 deletions src/peigs/src/c/choleski9.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
#include <math.h>

#include "globalp.c.h"
#include <string.h>

void choleski( n, vecA, mapA, iscratch, scratch, info )

Expand Down Expand Up @@ -134,11 +135,7 @@ void choleski( n, vecA, mapA, iscratch, scratch, info )
*/

extern Integer mxmynd_(), mxnprc_();
extern Integer count_list(), fil_mapvec_(), reduce_list(), reduce_list2();
extern void bbcast00();

void sub_chol0() ;
extern char *strcpy();

/*
* ---------------------------------------------------------------
Expand Down Expand Up @@ -291,14 +288,6 @@ void sub_chol0( me, n, col, map, ncols, mycols, i_scratch, scratch, info )
DoublePrecision t, *q;
long length, root;

/*
* External Procedures
*/

extern void dscal_(), daxpy_(), dcopy_();
extern void chol_pipe_bcast();
extern Integer reduce_list2();
extern void bbcast00();

/*
extern void iCC_bcast(), iCC_work_init();
Expand Down
4 changes: 0 additions & 4 deletions src/peigs/src/c/ci_entry.c
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,6 @@ Integer ci_entry (me, n, i, j, map)
{
Integer indx, jndx, label;
Integer *iptr;
extern void xerbla_();

/*
PeIGS utility routine
Expand Down Expand Up @@ -175,7 +174,6 @@ Integer ci_entry_(me, n, i, j, map)
{
Integer indx, jndx, label, idummy, idummy2;
Integer *iptr;
extern void xerbla_();
extern Integer mxmynd_();

/*
Expand Down Expand Up @@ -305,7 +303,6 @@ Integer ci_size_(me, n, map)
Integer indx, jndx, kndx;
Integer *ptr, iam;

extern void xerbla_();
extern Integer mxnprc_();
extern Integer mxmynd_();

Expand Down Expand Up @@ -389,7 +386,6 @@ Integer fil_mapvec_( me, n, map, mapvec)
extern Integer mxnprc_();
extern Integer mxmynd_();

extern void xerbla_();

if ( me == NULL ) {
i = -1;
Expand Down
22 changes: 1 addition & 21 deletions src/peigs/src/c/clustrf5.c
Original file line number Diff line number Diff line change
Expand Up @@ -187,30 +187,10 @@ Integer clustrf5_ (n, d, e, m, w, mapZ, vecZ, iblock, nsplit, isplit, ptbeval, n
DoublePrecision xjm, eps1;
DoublePrecision ortol, xj, sepfine;

Integer clustr_check();
extern Integer count_list();
extern Integer reduce_list2();
extern Integer menode_ ();
extern Integer idamax_(), mxmynd_ (), mypid();
extern void fil_int_lst();
extern void fil_dbl_lst();
extern Integer mxmynd_ (), mypid();

/*
intrinsic DoublePrecision precision
*/

/*
blas calls
*/

extern void dcopy_(), dscal_(), daxpy_();
extern DoublePrecision ddot_(), dasum_(), dnrm2_();

/*
lapack calls
*/

extern void xerbla_(), dlagts_(), dlagtf_(), dlarnv_();

me = mxmynd_ ();
num_eig = *m;
Expand Down
30 changes: 3 additions & 27 deletions src/peigs/src/c/clustrfix.c
Original file line number Diff line number Diff line change
Expand Up @@ -137,34 +137,10 @@ Integer clustrfix_ (n, d, e, m, w, iblock, nsplit, isplit, num_clustr, clustr_in
Integer clustr_size=-1, iii, jjj;

DoublePrecision eps, xj1, xj2;
DoublePrecision xj, relgap(), delta1, delta2;

Integer clustr_check();
extern Integer count_list();
extern Integer reduce_list2();
DoublePrecision xj, relgap(DoublePrecision, DoublePrecision), delta1, delta2;

extern Integer menode_ ();
extern Integer idamax_(), mxmynd_ (), mypid();
extern void fil_int_lst();
extern void fil_dbl_lst();

/*
intrinsic DoublePrecision precision
*/


/*
blas calls
*/

extern void dcopy_(), dscal_(), daxpy_();
extern DoublePrecision ddot_(), dasum_(), dnrm2_();

/*
lapack calls
*/

extern DoublePrecision dlamch_();
extern void xerbla_(), dlagts_(), dlagtf_(), dlarnv_();
extern Integer mxmynd_ (), mypid();

me = mxmynd_ ();
num_eig = m;
Expand Down
11 changes: 2 additions & 9 deletions src/peigs/src/c/clustrxx4.c
Original file line number Diff line number Diff line change
Expand Up @@ -84,16 +84,9 @@ Integer clustrinv4_(n, d, e, dplus, lplus, ld, lld, eval, schedule, num_clustr,
DoublePrecision eps;
DoublePrecision *dscrat;

extern void xerbla_();
extern Integer idamax_(), mclock_(), succ_(), mxmynd_(), mxnprc_();
extern DoublePrecision dasum_(), dnrm2_(), ddot_(), dlarnd_();
extern void dlagtf_(), dlarnv_();
extern void printff_(), mgs_3();
extern void mgspnl_(), dscal_(), dlagts_();
extern void dcopy_(), daxpy_();
extern Integer count_list ();
extern void mgs (), mgscs();
extern void fil_dbl_lst ();
extern void printff_();
extern void mgspnl_();

/*
Function Body
Expand Down
17 changes: 5 additions & 12 deletions src/peigs/src/c/clustrxx5.c
Original file line number Diff line number Diff line change
Expand Up @@ -131,18 +131,11 @@ Integer clustrinv5_(n, d, e, dplus, lplus, ld, lld,
DoublePrecision tmp, *dscrat, *first_buf;


extern void xerbla_();
extern Integer idamax_(), mclock_(), succ_(), mxmynd_(), mxnprc_();
extern DoublePrecision dasum_(), dnrm2_(), ddot_(), dlarnd_();
extern void dlagtf_(), dlarnv_();
extern void printff_(), mgs_3();
extern void mgspnl_(), dscal_(), dlagts_();
extern Integer mxread_(), mxwrit_();
extern void dcopy_(), daxpy_();
extern Integer count_list ();
extern Integer inv_it3(), inverm_();
extern void mgs ();
extern void fil_dbl_lst ();
extern Integer mclock_(), succ_(), mxmynd_(), mxnprc_();
extern DoublePrecision dasum_();
extern void printff_();
extern void mgspnl_();
extern Integer inverm_();

/*
Function Body
Expand Down
3 changes: 0 additions & 3 deletions src/peigs/src/c/conjug22.c
Original file line number Diff line number Diff line change
Expand Up @@ -95,10 +95,7 @@ void lsl_conjugation2 ( n, vecA, mapA, vecB, mapB, iwork, work, buff_ptr )
Integer *iscrat, *mapvecA, *mapvecB, *iptr;
DoublePrecision *dscrat, **bufptr;
extern Integer mxmynd_();
extern Integer fil_mapvec_ ();

extern void pmmlsl2();
extern void lu_mxm();

/*
extern void pmmLUL();
Expand Down
9 changes: 0 additions & 9 deletions src/peigs/src/c/de_sym.c
Original file line number Diff line number Diff line change
Expand Up @@ -91,19 +91,10 @@ void de_sym(n, msgtype, buffer, matrix, map, matrix2, iwork, buf_ptr )
Integer nvecs, *iscrat, ip, ig, lenb, i, me_indx, idest;
Integer me, nprocs, ngroup, nvecs_out;
Integer *mapvec, *map_out, *proclist;
Integer load_up(), un_load(), un_load_size();
DoublePrecision *read_buffer, *write_buffer;

extern Integer mxnprc_ (), mxmynd_ ();
extern void mxread_ (), mxwrit_();

extern void pairup_ ();
extern Integer fil_mapvec_ ();
extern Integer reduce_list2();
extern Integer indxL();
extern void pairup_ ();
extern Integer ci_size_ ();

me = mxmynd_();

iscrat = iwork;
Expand Down
10 changes: 2 additions & 8 deletions src/peigs/src/c/exit.c
Original file line number Diff line number Diff line change
Expand Up @@ -127,11 +127,6 @@ void g_exit_( n, array, procmap, len, iwork, work )
Integer nprocs, me, maxprocs;
Integer *iscrat, *proclist;

extern Integer reduce_list2();
extern Integer indxL ();
extern Integer mxwrit_ (), mxread_ ();
extern Integer qqsort();
extern void gi_sum();
extern void xerbl2_ ();
extern Integer mxcmp();
extern void mxpend_ ();
Expand Down Expand Up @@ -184,12 +179,11 @@ void gi_sum(buf, items, msgtype, root, snumprocs, plist, work)
DoublePrecision *work; /* workspace containing at least bufsiz bytes (see cmbbrf.h) */
{
Integer isize;
extern Integer sumiv_();
extern Integer mxcombv1_();
extern Integer sumiv_(Integer *, Integer *, Integer *, Integer *);

isize = sizeof(Integer);

mxcombv1_ ( (char *) buf, sumiv_ , &isize, &items, &snumprocs, plist, &msgtype, (char *)work);
mxcombv1_ ( (Integer *) buf, sumiv_ , &isize, &items, &snumprocs, plist, &msgtype, (Integer *)work);

return;
}
Expand Down
Loading

0 comments on commit 55f0d20

Please sign in to comment.