@@ -1279,13 +1279,12 @@ for (fname, elty) in ((:dger_,:Float64),
1279
1279
if m != length (x) || n != length (y)
1280
1280
throw (DimensionMismatch (" A has size ($m ,$n ), x has length $(length (x)) , y has length $(length (y)) " ))
1281
1281
end
1282
- ccall ((@blasfunc ($ fname), libblastrampoline), Cvoid,
1282
+ (px, stx), (py, sty) = ptrst1 (x), ptrst1 (y)
1283
+ GC. @preserve x y ccall ((@blasfunc ($ fname), libblastrampoline), Cvoid,
1283
1284
(Ref{BlasInt}, Ref{BlasInt}, Ref{$ elty}, Ptr{$ elty},
1284
1285
Ref{BlasInt}, Ptr{$ elty}, Ref{BlasInt}, Ptr{$ elty},
1285
1286
Ref{BlasInt}),
1286
- m, n, α, x,
1287
- stride (x, 1 ), y, stride (y, 1 ), A,
1288
- max (1 ,stride (A,2 )))
1287
+ m, n, α, px, stx, py, sty, A, max (1 ,stride (A,2 )))
1289
1288
A
1290
1289
end
1291
1290
end
@@ -1312,11 +1311,11 @@ for (fname, elty, lib) in ((:dsyr_,:Float64,libblastrampoline),
1312
1311
if length (x) != n
1313
1312
throw (DimensionMismatch (" A has size ($n ,$n ), x has length $(length (x)) " ))
1314
1313
end
1315
- ccall ((@blasfunc ($ fname), $ lib), Cvoid,
1314
+ px, stx = ptrst1 (x)
1315
+ GC. @preserve x ccall ((@blasfunc ($ fname), $ lib), Cvoid,
1316
1316
(Ref{UInt8}, Ref{BlasInt}, Ref{$ elty}, Ptr{$ elty},
1317
1317
Ref{BlasInt}, Ptr{$ elty}, Ref{BlasInt}),
1318
- uplo, n, α, x,
1319
- stride (x, 1 ), A, max (1 ,stride (A, 2 )))
1318
+ uplo, n, α, px, stx, A, max (1 ,stride (A, 2 )))
1320
1319
A
1321
1320
end
1322
1321
end
@@ -1342,11 +1341,11 @@ for (fname, elty, relty) in ((:zher_,:ComplexF64, :Float64),
1342
1341
if length (x) != n
1343
1342
throw (DimensionMismatch (" A has size ($n ,$n ), x has length $(length (x)) " ))
1344
1343
end
1345
- ccall ((@blasfunc ($ fname), libblastrampoline), Cvoid,
1344
+ px, stx = ptrst1 (x)
1345
+ GC. @preserve x ccall ((@blasfunc ($ fname), libblastrampoline), Cvoid,
1346
1346
(Ref{UInt8}, Ref{BlasInt}, Ref{$ relty}, Ptr{$ elty},
1347
1347
Ref{BlasInt}, Ptr{$ elty}, Ref{BlasInt}, Clong),
1348
- uplo, n, α, x,
1349
- stride (x, 1 ), A, max (1 ,stride (A,2 )), 1 )
1348
+ uplo, n, α, px, stx, A, max (1 ,stride (A,2 )), 1 )
1350
1349
A
1351
1350
end
1352
1351
end
0 commit comments