Skip to content

Commit 77b2aff

Browse files
authoredNov 2, 2021
Merge pull request #1011 from Thrameos/ssize_t
Fix for ssize_t issue on windows
2 parents 9c210eb + 9325d37 commit 77b2aff

25 files changed

+47
-45
lines changed
 

‎.azure/build.yml

+9-9
Original file line numberDiff line numberDiff line change
@@ -22,27 +22,27 @@ variables:
2222
jobs:
2323
- job: Deps
2424
pool:
25-
vmImage: "ubuntu-16.04"
25+
vmImage: "ubuntu-latest"
2626
steps:
2727
- template: scripts/ivy.yml
2828

2929
- job: Documentation
3030
pool:
31-
vmImage: "ubuntu-16.04"
31+
vmImage: "ubuntu-latest"
3232
steps:
3333
- template: scripts/documentation.yml
3434

3535
- job: Coverage
3636
pool:
37-
vmImage: "ubuntu-16.04"
37+
vmImage: "ubuntu-latest"
3838
dependsOn: Deps
3939
steps:
4040
- template: scripts/deps.yml
4141
- template: scripts/coverage.yml
4242

4343
- job: Tracing
4444
pool:
45-
vmImage: "ubuntu-16.04"
45+
vmImage: "ubuntu-latest"
4646
steps:
4747
- template: scripts/tracing.yml
4848

@@ -51,19 +51,19 @@ jobs:
5151
strategy:
5252
matrix:
5353
linux-3.5:
54-
imageName: "ubuntu-16.04"
54+
imageName: "ubuntu-latest"
5555
python.version: '3.5'
5656
linux-3.6:
57-
imageName: "ubuntu-16.04"
57+
imageName: "ubuntu-latest"
5858
python.version: '3.6'
5959
linux-3.7:
60-
imageName: "ubuntu-16.04"
60+
imageName: "ubuntu-latest"
6161
python.version: '3.7'
6262
linux-3.8:
63-
imageName: "ubuntu-16.04"
63+
imageName: "ubuntu-latest"
6464
python.version: '3.8'
6565
linux-3.9:
66-
imageName: "ubuntu-16.04"
66+
imageName: "ubuntu-latest"
6767
python.version: '3.9'
6868
windows-3.5:
6969
imageName: "vs2017-win2016"

‎doc/CHANGELOG.rst

+3
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ This changelog *only* contains changes from the *first* pypi release (0.5.4.3) o
55

66
Latest Changes:
77
- **1.3.1_dev0 - 2021-06-05**
8+
9+
- Fixed issue with ssize_t on Windows for Python 3.10.
10+
811
- **1.3.0 - 2021-05-19**
912

1013
- Fixes for memory issues found when upgrading to Python 3.10 beta.

‎native/common/include/jp_booleantype.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ class JPBooleanType : public JPPrimitiveType
8484
virtual void getView(JPArrayView& view) override;
8585
virtual void releaseView(JPArrayView& view) override;
8686
virtual const char* getBufferFormat() override;
87-
virtual ssize_t getItemSize() override;
87+
virtual Py_ssize_t getItemSize() override;
8888
virtual void copyElements(JPJavaFrame &frame,
8989
jarray a, jsize start, jsize len,
9090
void* memory, int offset) override;
@@ -94,4 +94,4 @@ class JPBooleanType : public JPPrimitiveType
9494

9595
} ;
9696

97-
#endif // _JP_BOOLEAN_TYPE_H_
97+
#endif // _JP_BOOLEAN_TYPE_H_

‎native/common/include/jp_bytetype.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ class JPByteType : public JPPrimitiveType
8787
virtual void getView(JPArrayView& view) override;
8888
virtual void releaseView(JPArrayView& view) override;
8989
virtual const char* getBufferFormat() override;
90-
virtual ssize_t getItemSize() override;
90+
virtual Py_ssize_t getItemSize() override;
9191
virtual void copyElements(JPJavaFrame &frame,
9292
jarray a, jsize start, jsize len,
9393
void* memory, int offset) override;
@@ -100,4 +100,4 @@ class JPByteType : public JPPrimitiveType
100100
static const jlong _Byte_Max = -128;
101101
} ;
102102

103-
#endif // _JPBYTE_TYPE_H_
103+
#endif // _JPBYTE_TYPE_H_

‎native/common/include/jp_chartype.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ class JPCharType : public JPPrimitiveType
8080
virtual void getView(JPArrayView& view) override;
8181
virtual void releaseView(JPArrayView& view) override;
8282
virtual const char* getBufferFormat() override;
83-
virtual ssize_t getItemSize() override;
83+
virtual Py_ssize_t getItemSize() override;
8484
virtual void copyElements(JPJavaFrame &frame,
8585
jarray a, jsize start, jsize len,
8686
void* memory, int offset) override;
@@ -90,4 +90,4 @@ class JPCharType : public JPPrimitiveType
9090

9191
} ;
9292

93-
#endif // _JP-CHAR_TYPE_H_
93+
#endif // _JP-CHAR_TYPE_H_

‎native/common/include/jp_doubletype.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ class JPDoubleType : public JPPrimitiveType
8484
virtual void getView(JPArrayView& view) override;
8585
virtual void releaseView(JPArrayView& view) override;
8686
virtual const char* getBufferFormat() override;
87-
virtual ssize_t getItemSize() override;
87+
virtual Py_ssize_t getItemSize() override;
8888
virtual void copyElements(JPJavaFrame &frame,
8989
jarray a, jsize start, jsize len,
9090
void* memory, int offset) override;
@@ -93,4 +93,4 @@ class JPDoubleType : public JPPrimitiveType
9393
JPPyBuffer& view, int subs, int base, jobject dims) override;
9494
} ;
9595

96-
#endif // _JP_DOUBLE_TYPE_H_
96+
#endif // _JP_DOUBLE_TYPE_H_

‎native/common/include/jp_floattype.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ class JPFloatType : public JPPrimitiveType
8484
virtual void getView(JPArrayView& view) override;
8585
virtual void releaseView(JPArrayView& view) override;
8686
virtual const char* getBufferFormat() override;
87-
virtual ssize_t getItemSize() override;
87+
virtual Py_ssize_t getItemSize() override;
8888
virtual void copyElements(JPJavaFrame &frame,
8989
jarray a, jsize start, jsize len,
9090
void* memory, int offset) override;
@@ -94,4 +94,4 @@ class JPFloatType : public JPPrimitiveType
9494

9595
} ;
9696

97-
#endif // _JP_FLOAT_TYPE_H_
97+
#endif // _JP_FLOAT_TYPE_H_

‎native/common/include/jp_inttype.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ class JPIntType : public JPPrimitiveType
8989
virtual void getView(JPArrayView& view) override;
9090
virtual void releaseView(JPArrayView& view) override;
9191
virtual const char* getBufferFormat() override;
92-
virtual ssize_t getItemSize() override;
92+
virtual Py_ssize_t getItemSize() override;
9393
virtual void copyElements(JPJavaFrame &frame,
9494
jarray a, jsize start, jsize len,
9595
void* memory, int offset) override;
@@ -99,4 +99,4 @@ class JPIntType : public JPPrimitiveType
9999

100100
} ;
101101

102-
#endif // _JP_INT_TYPE_H_
102+
#endif // _JP_INT_TYPE_H_

‎native/common/include/jp_longtype.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ class JPLongType : public JPPrimitiveType
8888
virtual void getView(JPArrayView& view) override;
8989
virtual void releaseView(JPArrayView& view) override;
9090
virtual const char* getBufferFormat() override;
91-
virtual ssize_t getItemSize() override;
91+
virtual Py_ssize_t getItemSize() override;
9292
virtual void copyElements(JPJavaFrame &frame,
9393
jarray a, jsize start, jsize len,
9494
void* memory, int offset) override;
@@ -98,4 +98,4 @@ class JPLongType : public JPPrimitiveType
9898

9999
} ;
100100

101-
#endif // _JP_LONG_TYPE_H_
101+
#endif // _JP_LONG_TYPE_H_

‎native/common/include/jp_primitivetype.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class JPPrimitiveType : public JPClass
4141
virtual void getView(JPArrayView& view) = 0;
4242
virtual void releaseView(JPArrayView& view) = 0;
4343
virtual const char* getBufferFormat() = 0;
44-
virtual ssize_t getItemSize() = 0;
44+
virtual Py_ssize_t getItemSize() = 0;
4545
virtual void copyElements(JPJavaFrame &frame,
4646
jarray a, jsize start, jsize len,
4747
void* memory, int offset) = 0;
@@ -53,4 +53,4 @@ class JPPrimitiveType : public JPClass
5353
PyObject *convertLong(PyTypeObject* wrapper, PyLongObject* tmp);
5454
} ;
5555

56-
#endif
56+
#endif

‎native/common/include/jp_shorttype.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ class JPShortType : public JPPrimitiveType
8888
virtual void getView(JPArrayView& view) override;
8989
virtual void releaseView(JPArrayView& view) override;
9090
virtual const char* getBufferFormat() override;
91-
virtual ssize_t getItemSize() override;
91+
virtual Py_ssize_t getItemSize() override;
9292
virtual void copyElements(JPJavaFrame &frame,
9393
jarray a, jsize start, jsize len,
9494
void* memory, int offset) override;
@@ -98,4 +98,4 @@ class JPShortType : public JPPrimitiveType
9898

9999
} ;
100100

101-
#endif // _JP_SHORT_TYPE_H_
101+
#endif // _JP_SHORT_TYPE_H_

‎native/common/include/jp_voidtype.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,12 @@ class JPVoidType : public JPPrimitiveType
5454
virtual void getView(JPArrayView& view) override;
5555
virtual void releaseView(JPArrayView& view) override;
5656
virtual const char* getBufferFormat() override;
57-
virtual ssize_t getItemSize() override;
57+
virtual Py_ssize_t getItemSize() override;
5858
virtual void copyElements(JPJavaFrame &frame,
5959
jarray a, jsize start, jsize len,
6060
void* memory, int offset) override;
6161
virtual PyObject *newMultiArray(JPJavaFrame &frame,
6262
JPPyBuffer& view, int subs, int base, jobject dims) override;
6363
} ;
6464

65-
#endif // _JP_VOID_TYPE_H_
65+
#endif // _JP_VOID_TYPE_H_

‎native/common/jp_array.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -178,8 +178,8 @@ JPArrayView::JPArrayView(JPArray* array, jobject collection)
178178
// Second element is the shape of the array from which we compute the
179179
// memory size, the shape, and strides
180180
int dims;
181-
ssize_t itemsize;
182-
ssize_t sz;
181+
Py_ssize_t itemsize;
182+
Py_ssize_t sz;
183183
{
184184
JPPrimitiveArrayAccessor<jintArray, jint*> accessor(frame, (jintArray) item1,
185185
&JPJavaFrame::GetIntArrayElements, &JPJavaFrame::ReleaseIntArrayElements);

‎native/common/jp_booleantype.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@ const char* JPBooleanType::getBufferFormat()
333333
return "?";
334334
}
335335

336-
ssize_t JPBooleanType::getItemSize()
336+
Py_ssize_t JPBooleanType::getItemSize()
337337
{
338338
return sizeof (jboolean);
339339
}

‎native/common/jp_bytetype.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ const char* JPByteType::getBufferFormat()
271271
return "b";
272272
}
273273

274-
ssize_t JPByteType::getItemSize()
274+
Py_ssize_t JPByteType::getItemSize()
275275
{
276276
return sizeof (jbyte);
277277
}

‎native/common/jp_chartype.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ const char* JPCharType::getBufferFormat()
274274
return "H";
275275
}
276276

277-
ssize_t JPCharType::getItemSize()
277+
Py_ssize_t JPCharType::getItemSize()
278278
{
279279
return sizeof (jchar);
280280
}

‎native/common/jp_class.cpp

-1
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,6 @@ void JPClass::getConversionInfo(JPConversionInfo &info)
424424
JP_TRACE_OUT;
425425
}
426426

427-
428427
//</editor-fold>
429428
//<editor-fold desc="hierarchy" defaultstate="collapsed">
430429

‎native/common/jp_doubletype.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,7 @@ const char* JPDoubleType::getBufferFormat()
312312
return "d";
313313
}
314314

315-
ssize_t JPDoubleType::getItemSize()
315+
Py_ssize_t JPDoubleType::getItemSize()
316316
{
317317
return sizeof (jdouble);
318318
}

‎native/common/jp_floattype.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ const char* JPFloatType::getBufferFormat()
295295
return "f";
296296
}
297297

298-
ssize_t JPFloatType::getItemSize()
298+
Py_ssize_t JPFloatType::getItemSize()
299299
{
300300
return sizeof (jfloat);
301301
}

‎native/common/jp_gc.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -234,9 +234,9 @@ void JPGarbageCollection::onEnd()
234234
}
235235

236236
// Predict if we will cross the limit soon.
237-
ssize_t pred = current + 2 * (current - last);
237+
Py_ssize_t pred = current + 2 * (current - last);
238238
last = current;
239-
if ((ssize_t) pred > (ssize_t) limit)
239+
if ((Py_ssize_t) pred > (Py_ssize_t) limit)
240240
run_gc = 2;
241241

242242
// printf("consider gc %d (%ld, %ld, %ld, %ld) %ld\n", run_gc,

‎native/common/jp_inttype.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ const char* JPIntType::getBufferFormat()
298298
return "i";
299299
}
300300

301-
ssize_t JPIntType::getItemSize()
301+
Py_ssize_t JPIntType::getItemSize()
302302
{
303303
return sizeof (jfloat);
304304
}

‎native/common/jp_longtype.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@ const char* JPLongType::getBufferFormat()
297297
return "q";
298298
}
299299

300-
ssize_t JPLongType::getItemSize()
300+
Py_ssize_t JPLongType::getItemSize()
301301
{
302302
return sizeof (jlong);
303303
}

‎native/common/jp_shorttype.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,7 @@ const char* JPShortType::getBufferFormat()
294294
return "h";
295295
}
296296

297-
ssize_t JPShortType::getItemSize()
297+
Py_ssize_t JPShortType::getItemSize()
298298
{
299299
return sizeof (jshort);
300300
}

‎native/common/jp_voidtype.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ const char* JPVoidType::getBufferFormat()
122122
return NULL;
123123
}
124124

125-
ssize_t JPVoidType::getItemSize()
125+
Py_ssize_t JPVoidType::getItemSize()
126126
{
127127
return 0;
128128
}
@@ -154,4 +154,4 @@ PyObject *JPVoidType::newMultiArray(JPJavaFrame &frame,
154154
return NULL;
155155
}
156156

157-
// GCOVR_EXCL_STOP
157+
// GCOVR_EXCL_STOP

‎native/python/include/jp_pythontypes.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ class JPPyObjectVector
281281
return m_Contents.size();
282282
}
283283

284-
PyObject* operator[](ssize_t i)
284+
PyObject* operator[](Py_ssize_t i)
285285
{
286286
return m_Contents[i].get();
287287
}

0 commit comments

Comments
 (0)
Please sign in to comment.