@@ -52,6 +52,9 @@ static ABI getTripleABI(const Triple &TT) {
52
52
bool Is64Bit = TT.isArch64Bit ();
53
53
ABI TripleABI;
54
54
switch (TT.getEnvironment ()) {
55
+ case llvm::Triple::EnvironmentType::UnknownEnvironment:
56
+ TripleABI = ABI_Unknown;
57
+ break ;
55
58
case llvm::Triple::EnvironmentType::GNUSF:
56
59
case llvm::Triple::EnvironmentType::MuslSF:
57
60
TripleABI = Is64Bit ? ABI_LP64S : ABI_ILP32S;
@@ -96,7 +99,7 @@ ABI computeTargetABI(const Triple &TT, const FeatureBitset &FeatureBits,
96
99
97
100
// 1. If the '-target-abi' is valid, use it.
98
101
if (IsABIValidForFeature (ArgProvidedABI)) {
99
- if (TT. hasEnvironment ( ) && ArgProvidedABI != TripleABI)
102
+ if (IsABIValidForFeature (TripleABI ) && ArgProvidedABI != TripleABI)
100
103
errs ()
101
104
<< " warning: triple-implied ABI conflicts with provided target-abi '"
102
105
<< ABIName << " ', using target-abi\n " ;
@@ -164,10 +167,7 @@ ABI computeTargetABI(const Triple &TT, const FeatureBitset &FeatureBits,
164
167
return Is64Bit ? ABI_LP64F : ABI_ILP32F;
165
168
return Is64Bit ? ABI_LP64S : ABI_ILP32S;
166
169
};
167
- if (ABIName.empty ())
168
- errs () << " warning: the triple-implied ABI is invalid, ignoring and using "
169
- " feature-implied ABI\n " ;
170
- else
170
+ if (!ABIName.empty ())
171
171
errs () << " warning: both target-abi and the triple-implied ABI are "
172
172
" invalid, ignoring and using feature-implied ABI\n " ;
173
173
return checkABIStandardized (GetFeatureABI ());
0 commit comments