|
@@ -158,14 +158,25 @@ static void getDarwinDefines(MacroBuilder &Builder, const LangOptions &Opts,
|
|
|
|
|
|
// Set the appropriate OS version define.
|
|
|
if (Triple.isiOS()) {
|
|
|
- assert(Maj < 10 && Min < 100 && Rev < 100 && "Invalid version!");
|
|
|
- char Str[6];
|
|
|
- Str[0] = '0' + Maj;
|
|
|
- Str[1] = '0' + (Min / 10);
|
|
|
- Str[2] = '0' + (Min % 10);
|
|
|
- Str[3] = '0' + (Rev / 10);
|
|
|
- Str[4] = '0' + (Rev % 10);
|
|
|
- Str[5] = '\0';
|
|
|
+ assert(Maj < 100 && Min < 100 && Rev < 100 && "Invalid version!");
|
|
|
+ char Str[7];
|
|
|
+ if (Maj < 10) {
|
|
|
+ Str[0] = '0' + Maj;
|
|
|
+ Str[1] = '0' + (Min / 10);
|
|
|
+ Str[2] = '0' + (Min % 10);
|
|
|
+ Str[3] = '0' + (Rev / 10);
|
|
|
+ Str[4] = '0' + (Rev % 10);
|
|
|
+ Str[5] = '\0';
|
|
|
+ } else {
|
|
|
+ // Handle versions >= 10.
|
|
|
+ Str[0] = '0' + (Maj / 10);
|
|
|
+ Str[1] = '0' + (Maj % 10);
|
|
|
+ Str[2] = '0' + (Min / 10);
|
|
|
+ Str[3] = '0' + (Min % 10);
|
|
|
+ Str[4] = '0' + (Rev / 10);
|
|
|
+ Str[5] = '0' + (Rev % 10);
|
|
|
+ Str[6] = '\0';
|
|
|
+ }
|
|
|
if (Triple.isTvOS())
|
|
|
Builder.defineMacro("__ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__", Str);
|
|
|
else
|