Avoid <= in version checks as it is then easy to miss MR releases.
We had a check for Lollipop VMs that was checking that the
min sdk version was <= L(21). However, that is incorrect, as
L_MR1(22) is also Lollipop and has a larger sdk version.
Updating to always use < on the next version number so that
we check that the min sdk version is < M(23) which then
includes all MR releases.
R=christofferqa@google.com
Bug: 111146567
Change-Id: I4ec2b5ec22bb63a0d5753603958edc34ae841e28
diff --git a/src/main/java/com/android/tools/r8/utils/AndroidApiLevel.java b/src/main/java/com/android/tools/r8/utils/AndroidApiLevel.java
index 127debe..135e961 100644
--- a/src/main/java/com/android/tools/r8/utils/AndroidApiLevel.java
+++ b/src/main/java/com/android/tools/r8/utils/AndroidApiLevel.java
@@ -9,6 +9,7 @@
* Android API level description
*/
public enum AndroidApiLevel {
+ Q(29), // Speculative, this can change.
P(28),
O_MR1(27),
O(26),
diff --git a/src/main/java/com/android/tools/r8/utils/InternalOptions.java b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
index 93a80b6..ae99990 100644
--- a/src/main/java/com/android/tools/r8/utils/InternalOptions.java
+++ b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
@@ -537,7 +537,7 @@
//
// See b/69364976 and b/77996377.
public boolean canHaveBoundsCheckEliminationBug() {
- return minApiLevel <= AndroidApiLevel.L.getLevel();
+ return minApiLevel < AndroidApiLevel.M.getLevel();
}
// MediaTek JIT compilers for KitKat phones did not implement the not
@@ -631,7 +631,7 @@
//
// See b/78493232 and b/80118070.
public boolean canHaveArtStringNewInitBug() {
- return minApiLevel <= AndroidApiLevel.P.getLevel();
+ return minApiLevel < AndroidApiLevel.Q.getLevel();
}
// Dalvik tracing JIT may perform invalid optimizations when int/float values are converted to
@@ -639,6 +639,6 @@
//
// See b/77496850.
public boolean canHaveNumberConversionRegisterAllocationBug() {
- return minApiLevel <= AndroidApiLevel.K.getLevel();
+ return minApiLevel < AndroidApiLevel.L.getLevel();
}
}