Make slang able to take target API level 27 and 28

  - Add enums corresponding O-MR1 and P.
  - Internally, treat them as N since no new APIs added.

Bug: 72969487
Test: mm
Test: llvm-rs-cc can take target api 27 and 28, and generated code works
on N emulator and ToT walleye.

Change-Id: I37979fe359aee117229182cdd198f5305dd22cd1
diff --git a/rs_cc_options.cpp b/rs_cc_options.cpp
index 6746f17..f84294b 100644
--- a/rs_cc_options.cpp
+++ b/rs_cc_options.cpp
@@ -291,9 +291,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_TARGET_API ||
+             Opts.mTargetAPI == SLANG_O_MR1_TARGET_API ||
+             Opts.mTargetAPI == SLANG_P_TARGET_API) {
     // Bug: http://b/35767071
-    // No new APIs for N_MR1 or O, convert to N.
+    // No new APIs for N_MR1, O, O_MR1 and P, convert to N.
     Opts.mTargetAPI = SLANG_N_TARGET_API;
   }
 
diff --git a/slang_version.h b/slang_version.h
index aae7d04..7ca6230 100644
--- a/slang_version.h
+++ b/slang_version.h
@@ -44,6 +44,8 @@
   SLANG_N_TARGET_API = 24,
   SLANG_N_MR1_TARGET_API = 25,
   SLANG_O_TARGET_API = 26,
+  SLANG_O_MR1_TARGET_API = 27,
+  SLANG_P_TARGET_API = 28,
   SLANG_MAXIMUM_TARGET_API = RS_VERSION,
   SLANG_DEVELOPMENT_TARGET_API = RS_DEVELOPMENT_API
 };