Skip to content

Commit 564dae9

Browse files
authored
Merge pull request #1027 from ACSimon33/fix_lto_type_mismatch
Fix lto type mismatch
2 parents dbc2fbd + ed17a25 commit 564dae9

22 files changed

+588
-151
lines changed

CBLAS/examples/cblas_example2_64.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
/* cblas_example2.c */
22

3+
#define CBLAS_API64
4+
#define F77_INT int64_t
5+
36
#include <stdio.h>
47
#include <stdlib.h>
58
#include "cblas_64.h"
6-
#define CBLAS_API64
7-
#define F77_INT int64_t
89
#include "cblas_f77.h"
910

1011
#define INVALID -1

CBLAS/include/cblas_f77.h

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -884,7 +884,7 @@ void F77_chpr_base(FCHAR, FINT, const float *, const void *, FINT, void *
884884
, FORTRAN_STRLEN
885885
#endif
886886
);
887-
void F77_chpr2_base(FCHAR, FINT, const float *, const void *, FINT, const void *, FINT, void *
887+
void F77_chpr2_base(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, void *
888888
#ifdef BLAS_FORTRAN_STRLEN_END
889889
, FORTRAN_STRLEN
890890
#endif
@@ -964,7 +964,7 @@ void F77_zhpr_base(FCHAR, FINT, const double *, const void *, FINT, void *
964964
, FORTRAN_STRLEN
965965
#endif
966966
);
967-
void F77_zhpr2_base(FCHAR, FINT, const double *, const void *, FINT, const void *, FINT, void *
967+
void F77_zhpr2_base(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, void *
968968
#ifdef BLAS_FORTRAN_STRLEN_END
969969
, FORTRAN_STRLEN
970970
#endif
@@ -1042,95 +1042,95 @@ void F77_dtrsm_base(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, cons
10421042

10431043
/* Single Complex Precision */
10441044

1045-
void F77_cgemm_base(FCHAR, FCHAR, FINT, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT
1045+
void F77_cgemm_base(FCHAR, FCHAR, FINT, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT
10461046
#ifdef BLAS_FORTRAN_STRLEN_END
10471047
, FORTRAN_STRLEN, FORTRAN_STRLEN
10481048
#endif
10491049
);
1050-
void F77_csymm_base(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT
1050+
void F77_csymm_base(FCHAR, FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT
10511051
#ifdef BLAS_FORTRAN_STRLEN_END
10521052
, FORTRAN_STRLEN, FORTRAN_STRLEN
10531053
#endif
10541054
);
1055-
void F77_chemm_base(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT
1055+
void F77_chemm_base(FCHAR, FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT
10561056
#ifdef BLAS_FORTRAN_STRLEN_END
10571057
, FORTRAN_STRLEN, FORTRAN_STRLEN
10581058
#endif
10591059
);
1060-
void F77_csyrk_base(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, float *, FINT
1060+
void F77_csyrk_base(FCHAR, FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, void *, FINT
10611061
#ifdef BLAS_FORTRAN_STRLEN_END
10621062
, FORTRAN_STRLEN, FORTRAN_STRLEN
10631063
#endif
10641064
);
1065-
void F77_cherk_base(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, float *, FINT
1065+
void F77_cherk_base(FCHAR, FCHAR, FINT, FINT, const float *, const void *, FINT, const float *, void *, FINT
10661066
#ifdef BLAS_FORTRAN_STRLEN_END
10671067
, FORTRAN_STRLEN, FORTRAN_STRLEN
10681068
#endif
10691069
);
1070-
void F77_csyr2k_base(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT
1070+
void F77_csyr2k_base(FCHAR, FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT
10711071
#ifdef BLAS_FORTRAN_STRLEN_END
10721072
, FORTRAN_STRLEN, FORTRAN_STRLEN
10731073
#endif
10741074
);
1075-
void F77_cher2k_base(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT
1075+
void F77_cher2k_base(FCHAR, FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const float *, void *, FINT
10761076
#ifdef BLAS_FORTRAN_STRLEN_END
10771077
, FORTRAN_STRLEN, FORTRAN_STRLEN
10781078
#endif
10791079
);
1080-
void F77_ctrmm_base(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT
1080+
void F77_ctrmm_base(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, const void *, FINT, void *, FINT
10811081
#ifdef BLAS_FORTRAN_STRLEN_END
10821082
, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
10831083
#endif
10841084
);
1085-
void F77_ctrsm_base(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT
1085+
void F77_ctrsm_base(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, const void *, FINT, void *, FINT
10861086
#ifdef BLAS_FORTRAN_STRLEN_END
10871087
, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
10881088
#endif
10891089
);
10901090

10911091
/* Double Complex Precision */
10921092

1093-
void F77_zgemm_base(FCHAR, FCHAR, FINT, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT
1093+
void F77_zgemm_base(FCHAR, FCHAR, FINT, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT
10941094
#ifdef BLAS_FORTRAN_STRLEN_END
10951095
, FORTRAN_STRLEN, FORTRAN_STRLEN
10961096
#endif
10971097
);
1098-
void F77_zsymm_base(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT
1098+
void F77_zsymm_base(FCHAR, FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT
10991099
#ifdef BLAS_FORTRAN_STRLEN_END
11001100
, FORTRAN_STRLEN, FORTRAN_STRLEN
11011101
#endif
11021102
);
1103-
void F77_zhemm_base(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT
1103+
void F77_zhemm_base(FCHAR, FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT
11041104
#ifdef BLAS_FORTRAN_STRLEN_END
11051105
, FORTRAN_STRLEN, FORTRAN_STRLEN
11061106
#endif
11071107
);
1108-
void F77_zsyrk_base(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, double *, FINT
1108+
void F77_zsyrk_base(FCHAR, FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, void *, FINT
11091109
#ifdef BLAS_FORTRAN_STRLEN_END
11101110
, FORTRAN_STRLEN, FORTRAN_STRLEN
11111111
#endif
11121112
);
1113-
void F77_zherk_base(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, double *, FINT
1113+
void F77_zherk_base(FCHAR, FCHAR, FINT, FINT, const double *, const void *, FINT, const double *, void *, FINT
11141114
#ifdef BLAS_FORTRAN_STRLEN_END
11151115
, FORTRAN_STRLEN, FORTRAN_STRLEN
11161116
#endif
11171117
);
1118-
void F77_zsyr2k_base(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT
1118+
void F77_zsyr2k_base(FCHAR, FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT
11191119
#ifdef BLAS_FORTRAN_STRLEN_END
11201120
, FORTRAN_STRLEN, FORTRAN_STRLEN
11211121
#endif
11221122
);
1123-
void F77_zher2k_base(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT
1123+
void F77_zher2k_base(FCHAR, FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const double *, void *, FINT
11241124
#ifdef BLAS_FORTRAN_STRLEN_END
11251125
, FORTRAN_STRLEN, FORTRAN_STRLEN
11261126
#endif
11271127
);
1128-
void F77_ztrmm_base(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT
1128+
void F77_ztrmm_base(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, const void *, FINT, void *, FINT
11291129
#ifdef BLAS_FORTRAN_STRLEN_END
11301130
, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
11311131
#endif
11321132
);
1133-
void F77_ztrsm_base(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT
1133+
void F77_ztrsm_base(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, const void *, FINT, void *, FINT
11341134
#ifdef BLAS_FORTRAN_STRLEN_END
11351135
, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN, FORTRAN_STRLEN
11361136
#endif

CBLAS/include/cblas_test.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,15 @@
77
#include "cblas.h"
88
#include "cblas_mangling.h"
99

10+
/* It seems all current Fortran compilers put strlen at end.
11+
* Some historical compilers put strlen after the str argument
12+
* or make the str argument into a struct. */
13+
#define BLAS_FORTRAN_STRLEN_END
14+
15+
#ifndef FORTRAN_STRLEN
16+
#define FORTRAN_STRLEN size_t
17+
#endif
18+
1019
#define TRUE 1
1120
#define PASSED 1
1221
#define TEST_ROW_MJR 1

CBLAS/testing/c_c2chke.c

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,14 @@ CBLAS_INT link_xerbla=TRUE;
88
char *cblas_rout;
99

1010
#ifdef F77_Char
11-
void F77_xerbla(F77_Char F77_srname, void *vinfo);
11+
void F77_xerbla(F77_Char F77_srname, void *vinfo
1212
#else
13-
void F77_xerbla(char *srname, void *vinfo);
13+
void F77_xerbla(char *srname, void *vinfo
1414
#endif
15+
#ifdef BLAS_FORTRAN_STRLEN_END
16+
, FORTRAN_STRLEN
17+
#endif
18+
);
1519

1620
void chkxer(void) {
1721
extern CBLAS_INT cblas_ok, cblas_lerr, cblas_info;
@@ -24,7 +28,11 @@ void chkxer(void) {
2428
cblas_lerr = 1 ;
2529
}
2630

27-
void F77_c2chke(char *rout) {
31+
void F77_c2chke(char *rout
32+
#ifdef BLAS_FORTRAN_STRLEN_END
33+
, FORTRAN_STRLEN
34+
#endif
35+
) {
2836
char *sf = ( rout ) ;
2937
float A[2] = {0.0,0.0},
3038
X[2] = {0.0,0.0},
@@ -40,7 +48,7 @@ void F77_c2chke(char *rout) {
4048
if (link_xerbla) /* call these first to link */
4149
{
4250
cblas_xerbla(cblas_info,cblas_rout,"");
43-
F77_xerbla(cblas_rout,&cblas_info);
51+
F77_xerbla(cblas_rout,&cblas_info, 1);
4452
}
4553
#endif
4654

CBLAS/testing/c_c3chke.c

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,14 @@ CBLAS_INT link_xerbla=TRUE;
88
char *cblas_rout;
99

1010
#ifdef F77_Char
11-
void F77_xerbla(F77_Char F77_srname, void *vinfo);
11+
void F77_xerbla(F77_Char F77_srname, void *vinfo
1212
#else
13-
void F77_xerbla(char *srname, void *vinfo);
13+
void F77_xerbla(char *srname, void *vinfo
1414
#endif
15+
#ifdef BLAS_FORTRAN_STRLEN_END
16+
, FORTRAN_STRLEN
17+
#endif
18+
);
1519

1620
void chkxer(void) {
1721
extern CBLAS_INT cblas_ok, cblas_lerr, cblas_info;
@@ -24,7 +28,11 @@ void chkxer(void) {
2428
cblas_lerr = 1 ;
2529
}
2630

27-
void F77_c3chke(char * rout) {
31+
void F77_c3chke(char * rout
32+
#ifdef BLAS_FORTRAN_STRLEN_END
33+
, FORTRAN_STRLEN
34+
#endif
35+
) {
2836
char *sf = ( rout ) ;
2937
float A[4] = {0.0,0.0,0.0,0.0},
3038
B[4] = {0.0,0.0,0.0,0.0},
@@ -43,7 +51,7 @@ void F77_c3chke(char * rout) {
4351
if (link_xerbla) /* call these first to link */
4452
{
4553
cblas_xerbla(cblas_info,cblas_rout,"");
46-
F77_xerbla(cblas_rout,&cblas_info);
54+
F77_xerbla(cblas_rout,&cblas_info, 1);
4755
}
4856
#endif
4957

0 commit comments

Comments
 (0)