@@ -223,7 +223,8 @@ class Triple {
223
223
WASI, // Experimental WebAssembly OS
224
224
Emscripten,
225
225
ShaderModel, // DirectX ShaderModel
226
- LastOSType = ShaderModel
226
+ LiteOS,
227
+ LastOSType = LiteOS
227
228
};
228
229
enum EnvironmentType {
229
230
UnknownEnvironment,
@@ -273,8 +274,8 @@ class Triple {
273
274
Callable,
274
275
Mesh,
275
276
Amplification,
276
-
277
- LastEnvironmentType = Amplification
277
+ OpenHOS,
278
+ LastEnvironmentType = OpenHOS
278
279
};
279
280
enum ObjectFormatType {
280
281
UnknownObjectFormat,
@@ -740,9 +741,18 @@ class Triple {
740
741
return getEnvironment () == Triple::Musl ||
741
742
getEnvironment () == Triple::MuslEABI ||
742
743
getEnvironment () == Triple::MuslEABIHF ||
743
- getEnvironment () == Triple::MuslX32;
744
+ getEnvironment () == Triple::MuslX32 ||
745
+ getEnvironment () == Triple::OpenHOS || isOSLiteOS ();
744
746
}
745
747
748
+ // / Tests whether the target is OHOS
749
+ // / LiteOS default enviroment is also OHOS, but omited on triple.
750
+ bool isOHOSFamily () const { return isOpenHOS () || isOSLiteOS (); }
751
+
752
+ bool isOpenHOS () const { return getEnvironment () == Triple::OpenHOS; }
753
+
754
+ bool isOSLiteOS () const { return getOS () == Triple::LiteOS; }
755
+
746
756
// / Tests whether the target is DXIL.
747
757
bool isDXIL () const {
748
758
return getArch () == Triple::dxil;
@@ -789,6 +799,7 @@ class Triple {
789
799
getEnvironment () == Triple::MuslEABI ||
790
800
getEnvironment () == Triple::EABIHF ||
791
801
getEnvironment () == Triple::GNUEABIHF ||
802
+ getEnvironment () == Triple::OpenHOS ||
792
803
getEnvironment () == Triple::MuslEABIHF || isAndroid ()) &&
793
804
isOSBinFormatELF ();
794
805
}
0 commit comments