@@ -2187,17 +2187,20 @@ void Darwin::AddDeploymentTarget(DerivedArgList &Args) const {
2187
2187
2188
2188
unsigned Major, Minor, Micro;
2189
2189
bool HadExtra;
2190
+ // The major version should not be over this number.
2191
+ const unsigned MajorVersionLimit = 1000 ;
2190
2192
// Set the tool chain target information.
2191
2193
if (Platform == MacOS) {
2192
2194
if (!Driver::GetReleaseVersion (OSTarget->getOSVersion (), Major, Minor,
2193
2195
Micro, HadExtra) ||
2194
- HadExtra || Major < 10 || Major >= 100 || Minor >= 100 || Micro >= 100 )
2196
+ HadExtra || Major < 10 || Major >= MajorVersionLimit || Minor >= 100 ||
2197
+ Micro >= 100 )
2195
2198
getDriver ().Diag (diag::err_drv_invalid_version_number)
2196
2199
<< OSTarget->getAsString (Args, Opts);
2197
2200
} else if (Platform == IPhoneOS) {
2198
2201
if (!Driver::GetReleaseVersion (OSTarget->getOSVersion (), Major, Minor,
2199
2202
Micro, HadExtra) ||
2200
- HadExtra || Major >= 100 || Minor >= 100 || Micro >= 100 )
2203
+ HadExtra || Major >= MajorVersionLimit || Minor >= 100 || Micro >= 100 )
2201
2204
getDriver ().Diag (diag::err_drv_invalid_version_number)
2202
2205
<< OSTarget->getAsString (Args, Opts);
2203
2206
;
@@ -2229,19 +2232,20 @@ void Darwin::AddDeploymentTarget(DerivedArgList &Args) const {
2229
2232
} else if (Platform == TvOS) {
2230
2233
if (!Driver::GetReleaseVersion (OSTarget->getOSVersion (), Major, Minor,
2231
2234
Micro, HadExtra) ||
2232
- HadExtra || Major >= 100 || Minor >= 100 || Micro >= 100 )
2235
+ HadExtra || Major >= MajorVersionLimit || Minor >= 100 || Micro >= 100 )
2233
2236
getDriver ().Diag (diag::err_drv_invalid_version_number)
2234
2237
<< OSTarget->getAsString (Args, Opts);
2235
2238
} else if (Platform == WatchOS) {
2236
2239
if (!Driver::GetReleaseVersion (OSTarget->getOSVersion (), Major, Minor,
2237
2240
Micro, HadExtra) ||
2238
- HadExtra || Major >= 10 || Minor >= 100 || Micro >= 100 )
2241
+ HadExtra || Major >= MajorVersionLimit || Minor >= 100 || Micro >= 100 )
2239
2242
getDriver ().Diag (diag::err_drv_invalid_version_number)
2240
2243
<< OSTarget->getAsString (Args, Opts);
2241
2244
} else if (Platform == DriverKit) {
2242
2245
if (!Driver::GetReleaseVersion (OSTarget->getOSVersion (), Major, Minor,
2243
2246
Micro, HadExtra) ||
2244
- HadExtra || Major < 19 || Major >= 100 || Minor >= 100 || Micro >= 100 )
2247
+ HadExtra || Major < 19 || Major >= MajorVersionLimit || Minor >= 100 ||
2248
+ Micro >= 100 )
2245
2249
getDriver ().Diag (diag::err_drv_invalid_version_number)
2246
2250
<< OSTarget->getAsString (Args, Opts);
2247
2251
} else
0 commit comments