Snap for 7347062 from 5ad64063eeff6dd6c6affce457ed169e0e7b2a03 to sc-release am: 9bf59e91d2

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/compile/slang/+/14474018

Change-Id: I9633956ebb683c852f700613fce71a8952a549ed
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 @@
 
   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 @@
   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).