aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXusong Wang <xusongw@google.com>2021-05-04 17:14:30 -0700
committerXusong Wang <xusongw@google.com>2021-05-07 10:43:05 -0700
commit5ad64063eeff6dd6c6affce457ed169e0e7b2a03 (patch)
treeb77bdf0926442a5b1c72f42c10ae68f67f57afa8
parentfc49da6872fecb7569355542c6e76a84da3f3dc8 (diff)
downloadslang-5ad64063eeff6dd6c6affce457ed169e0e7b2a03.tar.gz
The slang compiler should be able to accept API levels up to the current platform API level. Internally, any API level larger than N should be treated as N since no new APIs added. Fixes: 187523628 Test: build renderscript migration sample with minSdkVersion = 29,30,31 Change-Id: Ib16b9750c246c3e7c5827a2730ad9b71ff5aa847
-rw-r--r--rs_cc_options.cpp10
-rw-r--r--slang_version.h5
2 files changed, 9 insertions, 6 deletions
diff --git a/rs_cc_options.cpp b/rs_cc_options.cpp
index ad1dc13..89720a3 100644
--- a/rs_cc_options.cpp
+++ b/rs_cc_options.cpp
@@ -295,13 +295,11 @@ bool ParseArguments(const llvm::ArrayRef<const char *> &ArgsIn,
if (Opts.mTargetAPI == 0) {
Opts.mTargetAPI = UINT_MAX;
- } else if (Opts.mTargetAPI == SLANG_N_MR1_TARGET_API ||
- Opts.mTargetAPI == SLANG_O_TARGET_API ||
- Opts.mTargetAPI == SLANG_O_MR1_TARGET_API ||
- Opts.mTargetAPI == SLANG_P_TARGET_API) {
+ } else if (Opts.mTargetAPI > SLANG_MAXIMUM_TARGET_API &&
+ Opts.mTargetAPI <= SLANG_MAXIMUM_CMDLINE_TARGET_API) {
// Bug: http://b/35767071
- // No new APIs for N_MR1, O, O_MR1 and P, convert to N.
- Opts.mTargetAPI = SLANG_N_TARGET_API;
+ // No new APIs after N, convert to N.
+ Opts.mTargetAPI = SLANG_MAXIMUM_TARGET_API;
}
if ((Opts.mTargetAPI < 21) || (Opts.mBitcodeStorage == BCST_CPP_CODE))
diff --git a/slang_version.h b/slang_version.h
index 7ca6230..e6e47a3 100644
--- a/slang_version.h
+++ b/slang_version.h
@@ -46,7 +46,12 @@ enum SlangTargetAPI {
SLANG_O_TARGET_API = 26,
SLANG_O_MR1_TARGET_API = 27,
SLANG_P_TARGET_API = 28,
+ SLANG_Q_TARGET_API = 29,
+ SLANG_R_TARGET_API = 30,
+ SLANG_S_TARGET_API = 31,
SLANG_MAXIMUM_TARGET_API = RS_VERSION,
+ // The maximum API level that is acceptable for the "-target-api" commandline option.
+ SLANG_MAXIMUM_CMDLINE_TARGET_API = SLANG_S_TARGET_API,
SLANG_DEVELOPMENT_TARGET_API = RS_DEVELOPMENT_API
};
// Note that RS_VERSION is defined at build time (see Android.mk for details).