Commits

Jordan Rose committed 859e5054613
[IRGen] Don't eagerly look up and cache "NSString". The type checker is long gone at this point, so if we /haven't/ imported NSString yet we won't do the proper post-processing for it. That's not so bad unless the current ASTContext survives to emit more decls later... which is exactly what LLDB does. We use this Swift-to-Clang type mapping for property metadata, so we can't just ignore Swift types that ought to be bridged when it comes to actual code. However, if we actually see one of them /and/ they've been marked @objc, we've almost certainly seen the real NSString (or NSArray, etc.) by this point. We just don't want to trigger this on non-@objc code or @objc code that /doesn't/ use one of these types. No test case because the normal Swift compiler doesn't have any problems doing this. We can't add an assertion yet because SIL can do this too, and sometimes it squeaks by. (See rdar://problem/19978257.) rdar://problem/21081792 Swift SVN r28944