File tree 1 file changed +34
-1
lines changed
1 file changed +34
-1
lines changed Original file line number Diff line number Diff line change @@ -1770,7 +1770,7 @@ L1:
1770
1770
L2:
1771
1771
return 1
1772
1772
1773
- [case testI64Cast ]
1773
+ [case testI64Cast_64bit ]
1774
1774
from typing import cast
1775
1775
from mypy_extensions import i64
1776
1776
@@ -1811,6 +1811,39 @@ L2:
1811
1811
L3:
1812
1812
return r3
1813
1813
1814
+ [case testI64Cast_32bit]
1815
+ from typing import cast
1816
+ from mypy_extensions import i64
1817
+
1818
+ def cast_int(x: int) -> i64:
1819
+ return cast(i64, x)
1820
+ [out]
1821
+ def cast_int(x):
1822
+ x :: int
1823
+ r0 :: native_int
1824
+ r1 :: bit
1825
+ r2, r3, r4 :: int64
1826
+ r5 :: ptr
1827
+ r6 :: c_ptr
1828
+ r7 :: int64
1829
+ L0:
1830
+ r0 = x & 1
1831
+ r1 = r0 == 0
1832
+ if r1 goto L1 else goto L2 :: bool
1833
+ L1:
1834
+ r2 = extend signed x: builtins.int to int64
1835
+ r3 = r2 >> 1
1836
+ r4 = r3
1837
+ goto L3
1838
+ L2:
1839
+ r5 = x ^ 1
1840
+ r6 = r5
1841
+ r7 = CPyLong_AsInt64(r6)
1842
+ r4 = r7
1843
+ keep_alive x
1844
+ L3:
1845
+ return r4
1846
+
1814
1847
[case testI64ExplicitConversionFromVariousTypes]
1815
1848
from mypy_extensions import i64
1816
1849
You can’t perform that action at this time.
0 commit comments