Commits

Devin Coughlin committed 02f542c2d06
[Sema]Suppress availability diagnostics inside synthesized functions. This commit suppresses errors for references to unavailable symbols inside implicit functions. This is a quick hack to fix a hit-listed radar <rdar://problem/20007266> where the compiler was emitting spurious errors for enums explicitly marked unavailable in Objective-C and whose nil literal conformance is synthesized by the importer. These errors could occur when user code made no apparent reference to the enum in question and instead only referred to an imported class that itself referred to the enum in a method signature. We will need to do something systematic about availability and deprecation diagnostics in synthesized code. In particular, we should make sure that: (1) we never emit code that references explicitly unavailable symbols; (2) that the user never gets an error about symbol that they did not explicitly type; and (3) that errors can dealt with via the appropriate availability check or annotation. I'm tracking this with radar rdar://problem/20024980. rdar://problem/20007266 Swift SVN r26251