@@ -868,164 +868,181 @@ TEST(TripleTest, ParsedIDs) {
868
868
869
869
T = Triple (" dxil-unknown-shadermodel-pixel" );
870
870
EXPECT_EQ (Triple::dxil, T.getArch ());
871
+ EXPECT_EQ (Triple::NoSubArch, T.getSubArch ());
871
872
EXPECT_EQ (Triple::UnknownVendor, T.getVendor ());
872
873
EXPECT_EQ (Triple::ShaderModel, T.getOS ());
873
874
EXPECT_EQ (Triple::Pixel, T.getEnvironment ());
874
875
EXPECT_FALSE (T.supportsCOMDAT ());
875
876
876
877
T = Triple (" dxil-unknown-shadermodel-vertex" );
877
878
EXPECT_EQ (Triple::dxil, T.getArch ());
879
+ EXPECT_EQ (Triple::NoSubArch, T.getSubArch ());
878
880
EXPECT_EQ (Triple::UnknownVendor, T.getVendor ());
879
881
EXPECT_EQ (Triple::ShaderModel, T.getOS ());
880
882
EXPECT_EQ (Triple::Vertex, T.getEnvironment ());
881
883
EXPECT_FALSE (T.supportsCOMDAT ());
882
884
883
885
T = Triple (" dxil-unknown-shadermodel-geometry" );
884
886
EXPECT_EQ (Triple::dxil, T.getArch ());
887
+ EXPECT_EQ (Triple::NoSubArch, T.getSubArch ());
885
888
EXPECT_EQ (Triple::UnknownVendor, T.getVendor ());
886
889
EXPECT_EQ (Triple::ShaderModel, T.getOS ());
887
890
EXPECT_EQ (Triple::Geometry, T.getEnvironment ());
888
891
EXPECT_FALSE (T.supportsCOMDAT ());
889
892
890
893
T = Triple (" dxil-unknown-shadermodel-hull" );
891
894
EXPECT_EQ (Triple::dxil, T.getArch ());
895
+ EXPECT_EQ (Triple::NoSubArch, T.getSubArch ());
892
896
EXPECT_EQ (Triple::UnknownVendor, T.getVendor ());
893
897
EXPECT_EQ (Triple::ShaderModel, T.getOS ());
894
898
EXPECT_EQ (Triple::Hull, T.getEnvironment ());
895
899
EXPECT_FALSE (T.supportsCOMDAT ());
896
900
897
901
T = Triple (" dxil-unknown-shadermodel-domain" );
898
902
EXPECT_EQ (Triple::dxil, T.getArch ());
903
+ EXPECT_EQ (Triple::NoSubArch, T.getSubArch ());
899
904
EXPECT_EQ (Triple::UnknownVendor, T.getVendor ());
900
905
EXPECT_EQ (Triple::ShaderModel, T.getOS ());
901
906
EXPECT_EQ (Triple::Domain, T.getEnvironment ());
902
907
EXPECT_FALSE (T.supportsCOMDAT ());
903
908
904
909
T = Triple (" dxil-unknown-shadermodel-compute" );
905
910
EXPECT_EQ (Triple::dxil, T.getArch ());
911
+ EXPECT_EQ (Triple::NoSubArch, T.getSubArch ());
906
912
EXPECT_EQ (Triple::UnknownVendor, T.getVendor ());
907
913
EXPECT_EQ (Triple::ShaderModel, T.getOS ());
908
914
EXPECT_EQ (Triple::Compute, T.getEnvironment ());
909
915
EXPECT_FALSE (T.supportsCOMDAT ());
910
916
911
917
T = Triple (" dxil-unknown-shadermodel-library" );
912
918
EXPECT_EQ (Triple::dxil, T.getArch ());
919
+ EXPECT_EQ (Triple::NoSubArch, T.getSubArch ());
913
920
EXPECT_EQ (Triple::UnknownVendor, T.getVendor ());
914
921
EXPECT_EQ (Triple::ShaderModel, T.getOS ());
915
922
EXPECT_EQ (Triple::Library, T.getEnvironment ());
916
923
EXPECT_FALSE (T.supportsCOMDAT ());
917
924
918
925
T = Triple (" dxil-unknown-shadermodel-raygeneration" );
919
926
EXPECT_EQ (Triple::dxil, T.getArch ());
927
+ EXPECT_EQ (Triple::NoSubArch, T.getSubArch ());
920
928
EXPECT_EQ (Triple::UnknownVendor, T.getVendor ());
921
929
EXPECT_EQ (Triple::ShaderModel, T.getOS ());
922
930
EXPECT_EQ (Triple::RayGeneration, T.getEnvironment ());
923
931
EXPECT_FALSE (T.supportsCOMDAT ());
924
932
925
933
T = Triple (" dxil-unknown-shadermodel-intersection" );
926
934
EXPECT_EQ (Triple::dxil, T.getArch ());
935
+ EXPECT_EQ (Triple::NoSubArch, T.getSubArch ());
927
936
EXPECT_EQ (Triple::UnknownVendor, T.getVendor ());
928
937
EXPECT_EQ (Triple::ShaderModel, T.getOS ());
929
938
EXPECT_EQ (Triple::Intersection, T.getEnvironment ());
930
939
EXPECT_FALSE (T.supportsCOMDAT ());
931
940
932
941
T = Triple (" dxil-unknown-shadermodel-anyhit" );
933
942
EXPECT_EQ (Triple::dxil, T.getArch ());
943
+ EXPECT_EQ (Triple::NoSubArch, T.getSubArch ());
934
944
EXPECT_EQ (Triple::UnknownVendor, T.getVendor ());
935
945
EXPECT_EQ (Triple::ShaderModel, T.getOS ());
936
946
EXPECT_EQ (Triple::AnyHit, T.getEnvironment ());
937
947
EXPECT_FALSE (T.supportsCOMDAT ());
938
948
939
949
T = Triple (" dxil-unknown-shadermodel-closesthit" );
940
950
EXPECT_EQ (Triple::dxil, T.getArch ());
951
+ EXPECT_EQ (Triple::NoSubArch, T.getSubArch ());
941
952
EXPECT_EQ (Triple::UnknownVendor, T.getVendor ());
942
953
EXPECT_EQ (Triple::ShaderModel, T.getOS ());
943
954
EXPECT_EQ (Triple::ClosestHit, T.getEnvironment ());
944
955
EXPECT_FALSE (T.supportsCOMDAT ());
945
956
946
957
T = Triple (" dxil-unknown-shadermodel-miss" );
947
958
EXPECT_EQ (Triple::dxil, T.getArch ());
959
+ EXPECT_EQ (Triple::NoSubArch, T.getSubArch ());
948
960
EXPECT_EQ (Triple::UnknownVendor, T.getVendor ());
949
961
EXPECT_EQ (Triple::ShaderModel, T.getOS ());
950
962
EXPECT_EQ (Triple::Miss, T.getEnvironment ());
951
963
EXPECT_FALSE (T.supportsCOMDAT ());
952
964
953
965
T = Triple (" dxil-unknown-shadermodel-callable" );
954
966
EXPECT_EQ (Triple::dxil, T.getArch ());
967
+ EXPECT_EQ (Triple::NoSubArch, T.getSubArch ());
955
968
EXPECT_EQ (Triple::UnknownVendor, T.getVendor ());
956
969
EXPECT_EQ (Triple::ShaderModel, T.getOS ());
957
970
EXPECT_EQ (Triple::Callable, T.getEnvironment ());
958
971
EXPECT_FALSE (T.supportsCOMDAT ());
959
972
960
973
T = Triple (" dxil-unknown-shadermodel-mesh" );
961
974
EXPECT_EQ (Triple::dxil, T.getArch ());
975
+ EXPECT_EQ (Triple::NoSubArch, T.getSubArch ());
962
976
EXPECT_EQ (Triple::UnknownVendor, T.getVendor ());
963
977
EXPECT_EQ (Triple::ShaderModel, T.getOS ());
964
978
EXPECT_EQ (Triple::Mesh, T.getEnvironment ());
965
979
EXPECT_FALSE (T.supportsCOMDAT ());
966
980
967
981
T = Triple (" dxil-unknown-shadermodel-amplification" );
968
982
EXPECT_EQ (Triple::dxil, T.getArch ());
983
+ EXPECT_EQ (Triple::NoSubArch, T.getSubArch ());
969
984
EXPECT_EQ (Triple::UnknownVendor, T.getVendor ());
970
985
EXPECT_EQ (Triple::ShaderModel, T.getOS ());
971
986
EXPECT_EQ (Triple::Amplification, T.getEnvironment ());
972
987
EXPECT_FALSE (T.supportsCOMDAT ());
973
988
974
989
T = Triple (" dxilv1.0-unknown-unknown" );
975
990
EXPECT_EQ (Triple::dxil, T.getArch ());
976
- EXPECT_EQ (Triple::DXILSubArch_v10 , T.getSubArch ());
991
+ EXPECT_EQ (Triple::DXILSubArch_v1_0 , T.getSubArch ());
977
992
EXPECT_EQ (Triple::UnknownVendor, T.getVendor ());
978
993
EXPECT_EQ (Triple::UnknownOS, T.getOS ());
979
994
980
995
T = Triple (" dxilv1.1-unknown-unknown" );
981
996
EXPECT_EQ (Triple::dxil, T.getArch ());
982
- EXPECT_EQ (Triple::DXILSubArch_v11 , T.getSubArch ());
997
+ EXPECT_EQ (Triple::DXILSubArch_v1_1 , T.getSubArch ());
983
998
EXPECT_EQ (Triple::UnknownVendor, T.getVendor ());
984
999
EXPECT_EQ (Triple::UnknownOS, T.getOS ());
985
1000
986
1001
T = Triple (" dxilv1.2-unknown-unknown" );
987
1002
EXPECT_EQ (Triple::dxil, T.getArch ());
988
- EXPECT_EQ (Triple::DXILSubArch_v12 , T.getSubArch ());
1003
+ EXPECT_EQ (Triple::DXILSubArch_v1_2 , T.getSubArch ());
989
1004
EXPECT_EQ (Triple::UnknownVendor, T.getVendor ());
990
1005
EXPECT_EQ (Triple::UnknownOS, T.getOS ());
991
1006
992
1007
T = Triple (" dxilv1.3-unknown-unknown" );
993
1008
EXPECT_EQ (Triple::dxil, T.getArch ());
994
- EXPECT_EQ (Triple::DXILSubArch_v13 , T.getSubArch ());
1009
+ EXPECT_EQ (Triple::DXILSubArch_v1_3 , T.getSubArch ());
995
1010
EXPECT_EQ (Triple::UnknownVendor, T.getVendor ());
996
1011
EXPECT_EQ (Triple::UnknownOS, T.getOS ());
997
1012
998
1013
T = Triple (" dxilv1.4-unknown-unknown" );
999
1014
EXPECT_EQ (Triple::dxil, T.getArch ());
1000
- EXPECT_EQ (Triple::DXILSubArch_v14 , T.getSubArch ());
1015
+ EXPECT_EQ (Triple::DXILSubArch_v1_4 , T.getSubArch ());
1001
1016
EXPECT_EQ (Triple::UnknownVendor, T.getVendor ());
1002
1017
EXPECT_EQ (Triple::UnknownOS, T.getOS ());
1003
1018
1004
1019
T = Triple (" dxilv1.5-unknown-unknown" );
1005
1020
EXPECT_EQ (Triple::dxil, T.getArch ());
1006
- EXPECT_EQ (Triple::DXILSubArch_v15 , T.getSubArch ());
1021
+ EXPECT_EQ (Triple::DXILSubArch_v1_5 , T.getSubArch ());
1007
1022
EXPECT_EQ (Triple::UnknownVendor, T.getVendor ());
1008
1023
EXPECT_EQ (Triple::UnknownOS, T.getOS ());
1009
1024
1010
1025
T = Triple (" dxilv1.6-unknown-unknown" );
1011
1026
EXPECT_EQ (Triple::dxil, T.getArch ());
1012
- EXPECT_EQ (Triple::DXILSubArch_v16 , T.getSubArch ());
1027
+ EXPECT_EQ (Triple::DXILSubArch_v1_6 , T.getSubArch ());
1013
1028
EXPECT_EQ (Triple::UnknownVendor, T.getVendor ());
1014
1029
EXPECT_EQ (Triple::UnknownOS, T.getOS ());
1015
1030
1016
1031
T = Triple (" dxilv1.7-unknown-unknown" );
1017
1032
EXPECT_EQ (Triple::dxil, T.getArch ());
1018
- EXPECT_EQ (Triple::DXILSubArch_v17 , T.getSubArch ());
1033
+ EXPECT_EQ (Triple::DXILSubArch_v1_7 , T.getSubArch ());
1019
1034
EXPECT_EQ (Triple::UnknownVendor, T.getVendor ());
1020
1035
EXPECT_EQ (Triple::UnknownOS, T.getOS ());
1021
1036
1022
1037
T = Triple (" dxilv1.8-unknown-unknown" );
1023
1038
EXPECT_EQ (Triple::dxil, T.getArch ());
1024
- EXPECT_EQ (Triple::DXILSubArch_v18 , T.getSubArch ());
1039
+ EXPECT_EQ (Triple::DXILSubArch_v1_8 , T.getSubArch ());
1025
1040
EXPECT_EQ (Triple::UnknownVendor, T.getVendor ());
1026
1041
EXPECT_EQ (Triple::UnknownOS, T.getOS ());
1027
1042
1028
- T = Triple (" dxilv1.9-unknown-unknown" );
1043
+ // Check specification of unknown SubArch results in
1044
+ // unknown architecture.
1045
+ T = Triple (" dxilv1.999-unknown-unknown" );
1029
1046
EXPECT_EQ (Triple::UnknownArch, T.getArch ());
1030
1047
EXPECT_EQ (Triple::NoSubArch, T.getSubArch ());
1031
1048
EXPECT_EQ (Triple::UnknownVendor, T.getVendor ());
0 commit comments