diff options
| author | Bob Wilson <bob.wilson@apple.com> | 2016-07-18 20:29:14 +0000 |
|---|---|---|
| committer | Bob Wilson <bob.wilson@apple.com> | 2016-07-18 20:29:14 +0000 |
| commit | 4cf27c4d6f15ebc2603128a1426c9684bb1e6b6d (patch) | |
| tree | a5d5470b2cda11f26f121f220bb594844e711f9f /clang/lib/Basic | |
| parent | 258a651f3a361af977bbb8a2daeaa7452142fd92 (diff) | |
| download | bcm5719-llvm-4cf27c4d6f15ebc2603128a1426c9684bb1e6b6d.tar.gz bcm5719-llvm-4cf27c4d6f15ebc2603128a1426c9684bb1e6b6d.zip | |
Allow iOS and tvOS version numbers with 2-digit major version numbers.
rdar://problem/26921601
llvm-svn: 275905
Diffstat (limited to 'clang/lib/Basic')
| -rw-r--r-- | clang/lib/Basic/Targets.cpp | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index c3ca8c8af5d..909c7dd00ac 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -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 |

