Commits

Devin Coughlin committed 4f366b1ff6a
Do not treat iOS as active on tvOS. Change the active-platform availability logic to not consider iOS as active on tvOS. We want all of the messiness of the fact that tvOS was branched from iOS to be handled in clang, which "transcribes" iOS availability attributes to their corresponding tvOS counterparts as long as there is not an existing explicit tvOS availability attribute on the declaration. This change exposed several places where I needed to add explicit handling of of tvOS and where we will need to handle watchOS as well. rdar://problem/20774229 tracks adding logic and tests to handle watchOS in these places. It is also unfortunately the case that llvm::triple returns true when isiOS() is called on tvOS. This means that to test whether an llvm:triple target is really iOS, we need to check for iOS then check explicitly that it is not tvOS. We will eventually change llvm's behavior here so that the double check is not needed. Swift SVN r28013