Type checking: validate attributes when a type is needed.
Type checking: validate attributes when a type is needed.

This is necessary for [objc], which can change linkage.

Swift SVN r8647

adrfer/swift,natecook1000/swift,allevato/swift,slavapestov/swift,rudkx/swift,khizkhiz/swift,OscarSwanros/swift,shajrawi/swift,tinysun212/swift-windows,rudkx/swift,russbishop/swift,xwu/swift,cbrentharris/swift,felix91gr/swift,mightydeveloper/swift,zisko/swift,kusl/swift,manavgabhawala/swift,austinzheng/swift,roambotics/swift,jopamer/swift,parkera/swift,amraboelela/swift,Ivacker/swift,brentdax/swift,modocache/swift,shahmishal/swift,tkremenek/swift,roambotics/swift,swiftix/swift.old,roambotics/swift,kentya6/swift,OscarSwanros/swift,JGiola/swift,kperryua/swift,jmgc/swift,natecook1000/swift,huonw/swift,gottesmm/swift,alblue/swift,MukeshKumarS/Swift,natecook1000/swift,ken0nek/swift,ben-ng/swift,practicalswift/swift,gottesmm/swift,emilstahl/swift,ken0nek/swift,benlangmuir/swift,uasys/swift,swiftix/swift,bitjammer/swift,manavgabhawala/swift,nathawes/swift,Jnosh/swift,gmilos/swift,slavapestov/swift,jtbandes/swift,MukeshKumarS/Swift,frootloops/swift,russbishop/swift,swiftix/swift.old,JaSpa/swift,gmilos/swift,sdulal/swift,kstaring/swift,djwbrown/swift,stephentyrone/swift,dduan/swift,return/swift,huonw/swift,devincoughlin/swift,milseman/swift,uasys/swift,hooman/swift,apple/swift,calebd/swift,lorentey/swift,kstaring/swift,LeoShimonaka/swift,hooman/swift,johnno1962d/swift,kentya6/swift,bitjammer/swift,manavgabhawala/swift,MukeshKumarS/Swift,kperryua/swift,ben-ng/swift,tjw/swift,gottesmm/swift,IngmarStein/swift,adrfer/swift,cbrentharris/swift,return/swift,nathawes/swift,calebd/swift,Jnosh/swift,devincoughlin/swift,tjw/swift,stephentyrone/swift,atrick/swift,ben-ng/swift,felix91gr/swift,glessard/swift,adrfer/swift,cbrentharris/swift,uasys/swift,khizkhiz/swift,harlanhaskins/swift,austinzheng/swift,devincoughlin/swift,tkremenek/swift,therealbnut/swift,milseman/swift,ben-ng/swift,kstaring/swift,gregomni/swift,glessard/swift,khizkhiz/swift,zisko/swift,bitjammer/swift,hooman/swift,amraboelela/swift,jckarter/swift,IngmarStein/swift,xedin/swift,adrfer/swift,swiftix/swift,tjw/swift,apple/swift,lorentey/swift,johnno1962d/swift,hughbe/swift,return/swift,danielmartin/swift,gribozavr/swift,xedin/swift,stephentyrone/swift,jopamer/swift,johnno1962d/swift,return/swift,codestergit/swift,codestergit/swift,Ivacker/swift,Ivacker/swift,LeoShimonaka/swift,natecook1000/swift,LeoShimonaka/swift,stephentyrone/swift,return/swift,arvedviehweger/swift,amraboelela/swift,djwbrown/swift,gribozavr/swift,airspeedswift/swift,arvedviehweger/swift,jopamer/swift,felix91gr/swift,SwiftAndroid/swift,shajrawi/swift,ben-ng/swift,arvedviehweger/swift,rudkx/swift,rudkx/swift,aschwaighofer/swift,shahmishal/swift,swiftix/swift.old,xwu/swift,tjw/swift,jckarter/swift,dduan/swift,karwa/swift,JGiola/swift,gribozavr/swift,ken0nek/swift,Ivacker/swift,SwiftAndroid/swift,aschwaighofer/swift,swiftix/swift,practicalswift/swift,stephentyrone/swift,xwu/swift,JGiola/swift,slavapestov/swift,kusl/swift,tkremenek/swift,gmilos/swift,gregomni/swift,calebd/swift,practicalswift/swift,johnno1962d/swift,sdulal/swift,kentya6/swift,nathawes/swift,jtbandes/swift,gregomni/swift,bitjammer/swift,CodaFi/swift,arvedviehweger/swift,danielmartin/swift,kentya6/swift,alblue/swift,shajrawi/swift,russbishop/swift,lorentey/swift,kstaring/swift,frootloops/swift,swiftix/swift,therealbnut/swift,CodaFi/swift,benlangmuir/swift,MukeshKumarS/Swift,Ivacker/swift,alblue/swift,tjw/swift,hooman/swift,OscarSwanros/swift,harlanhaskins/swift,xedin/swift,jckarter/swift,return/swift,danielmartin/swift,danielmartin/swift,shajrawi/swift,tardieu/swift,hooman/swift,austinzheng/swift,jopamer/swift,swiftix/swift.old,brentdax/swift,codestergit/swift,natecook1000/swift,gregomni/swift,ahoppen/swift,modocache/swift,slavapestov/swift,IngmarStein/swift,milseman/swift,Ivacker/swift,bitjammer/swift,SwiftAndroid/swift,JGiola/swift,practicalswift/swift,deyton/swift,Ivacker/swift,emilstahl/swift,swiftix/swift.old,nathawes/swift,alblue/swift,huonw/swift,gregomni/swift,emilstahl/swift,gregomni/swift,devincoughlin/swift,austinzheng/swift,aschwaighofer/swift,LeoShimonaka/swift,kusl/swift,allevato/swift,hooman/swift,khizkhiz/swift,practicalswift/swift,calebd/swift,milseman/swift,tardieu/swift,KrishMunot/swift,codestergit/swift,russbishop/swift,zisko/swift,atrick/swift,sdulal/swift,adrfer/swift,kstaring/swift,sschiau/swift,tjw/swift,aschwaighofer/swift,roambotics/swift,deyton/swift,mightydeveloper/swift,airspeedswift/swift,karwa/swift,natecook1000/swift,deyton/swift,glessard/swift,manavgabhawala/swift,manavgabhawala/swift,calebd/swift,codestergit/swift,russbishop/swift,KrishMunot/swift,djwbrown/swift,dduan/swift,arvedviehweger/swift,deyton/swift,jmgc/swift,hooman/swift,swiftix/swift.old,devincoughlin/swift,emilstahl/swift,modocache/swift,hughbe/swift,alblue/swift,CodaFi/swift,sschiau/swift,djwbrown/swift,allevato/swift,SwiftAndroid/swift,brentdax/swift,ken0nek/swift,LeoShimonaka/swift,jtbandes/swift,JaSpa/swift,johnno1962d/swift,adrfer/swift,kperryua/swift,airspeedswift/swift,Jnosh/swift,ben-ng/swift,dreamsxin/swift,JGiola/swift,glessard/swift,gottesmm/swift,tinysun212/swift-windows,shahmishal/swift,modocache/swift,rudkx/swift,swiftix/swift.old,kentya6/swift,karwa/swift,allevato/swift,felix91gr/swift,atrick/swift,uasys/swift,hughbe/swift,JaSpa/swift,kstaring/swift,adrfer/swift,lorentey/swift,codestergit/swift,hughbe/swift,IngmarStein/swift,gribozavr/swift,xedin/swift,sdulal/swift,shajrawi/swift,tardieu/swift,deyton/swift,CodaFi/swift,jckarter/swift,uasys/swift,mightydeveloper/swift,ahoppen/swift,zisko/swift,KrishMunot/swift,frootloops/swift,xwu/swift,OscarSwanros/swift,gottesmm/swift,ahoppen/swift,dduan/swift,tinysun212/swift-windows,jopamer/swift,apple/swift,karwa/swift,manavgabhawala/swift,gmilos/swift,sschiau/swift,shahmishal/swift,swiftix/swift.old,MukeshKumarS/Swift,zisko/swift,harlanhaskins/swift,ahoppen/swift,ken0nek/swift,roambotics/swift,modocache/swift,gottesmm/swift,amraboelela/swift,xwu/swift,djwbrown/swift,Jnosh/swift,amraboelela/swift,calebd/swift,apple/swift,SwiftAndroid/swift,parkera/swift,brentdax/swift,airspeedswift/swift,IngmarStein/swift,uasys/swift,jmgc/swift,tinysun212/swift-windows,tinysun212/swift-windows,karwa/swift,therealbnut/swift,calebd/swift,mightydeveloper/swift,Jnosh/swift,KrishMunot/swift,lorentey/swift,benlangmuir/swift,Ivacker/swift,jmgc/swift,shahmishal/swift,khizkhiz/swift,IngmarStein/swift,tkremenek/swift,cbrentharris/swift,amraboelela/swift,kentya6/swift,kusl/swift,aschwaighofer/swift,slavapestov/swift,huonw/swift,KrishMunot/swift,emilstahl/swift,russbishop/swift,ahoppen/swift,danielmartin/swift,mightydeveloper/swift,milseman/swift,MukeshKumarS/Swift,JGiola/swift,LeoShimonaka/swift,devincoughlin/swift,aschwaighofer/swift,shahmishal/swift,rudkx/swift,frootloops/swift,huonw/swift,emilstahl/swift,gribozavr/swift,bitjammer/swift,russbishop/swift,felix91gr/swift,glessard/swift,jtbandes/swift,airspeedswift/swift,devincoughlin/swift,Jnosh/swift,therealbnut/swift,cbrentharris/swift,airspeedswift/swift,parkera/swift,xedin/swift,benlangmuir/swift,sschiau/swift,parkera/swift,djwbrown/swift,allevato/swift,swiftix/swift,practicalswift/swift,LeoShimonaka/swift,jckarter/swift,shahmishal/swift,kperryua/swift,KrishMunot/swift,lorentey/swift,frootloops/swift,johnno1962d/swift,kusl/swift,kperryua/swift,tjw/swift,IngmarStein/swift,swiftix/swift,gribozavr/swift,JaSpa/swift,ben-ng/swift,tardieu/swift,JaSpa/swift,frootloops/swift,therealbnut/swift,zisko/swift,MukeshKumarS/Swift,sdulal/swift,aschwaighofer/swift,harlanhaskins/swift,brentdax/swift,uasys/swift,harlanhaskins/swift,milseman/swift,tinysun212/swift-windows,huonw/swift,gmilos/swift,xwu/swift,atrick/swift,hughbe/swift,bitjammer/swift,alblue/swift,tkremenek/swift,parkera/swift,shajrawi/swift,apple/swift,xedin/swift,nathawes/swift,ken0nek/swift,sschiau/swift,devincoughlin/swift,tardieu/swift,karwa/swift,tardieu/swift,OscarSwanros/swift,stephentyrone/swift,khizkhiz/swift,deyton/swift,JaSpa/swift,lorentey/swift,OscarSwanros/swift,dreamsxin/swift,frootloops/swift,benlangmuir/swift,gmilos/swift,felix91gr/swift,therealbnut/swift,nathawes/swift,atrick/swift,glessard/swift,gmilos/swift,gribozavr/swift,SwiftAndroid/swift,kperryua/swift,gribozavr/swift,austinzheng/swift,kstaring/swift,therealbnut/swift,parkera/swift,zisko/swift,CodaFi/swift,hughbe/swift,tardieu/swift,brentdax/swift,shajrawi/swift,cbrentharris/swift,JaSpa/swift,jmgc/swift,danielmartin/swift,sschiau/swift,practicalswift/swift,KrishMunot/swift,sdulal/swift,allevato/swift,jckarter/swift,austinzheng/swift,lorentey/swift,CodaFi/swift,modocache/swift,kusl/swift,alblue/swift,gottesmm/swift,sdulal/swift,brentdax/swift,harlanhaskins/swift,Jnosh/swift,xedin/swift,jopamer/swift,xedin/swift,jopamer/swift,tkremenek/swift,sschiau/swift,harlanhaskins/swift,manavgabhawala/swift,austinzheng/swift,kentya6/swift,kusl/swift,mightydeveloper/swift,swiftix/swift,practicalswift/swift,huonw/swift,deyton/swift,LeoShimonaka/swift,shahmishal/swift,danielmartin/swift,emilstahl/swift,cbrentharris/swift,airspeedswift/swift,jtbandes/swift,slavapestov/swift,sschiau/swift,johnno1962d/swift,ken0nek/swift,cbrentharris/swift,mightydeveloper/swift,stephentyrone/swift,nathawes/swift,natecook1000/swift,kentya6/swift,tinysun212/swift-windows,jmgc/swift,karwa/swift,apple/swift,milseman/swift,parkera/swift,jtbandes/swift,ahoppen/swift,atrick/swift,CodaFi/swift,hughbe/swift,jtbandes/swift,return/swift,tkremenek/swift,SwiftAndroid/swift,OscarSwanros/swift,djwbrown/swift,slavapestov/swift,mightydeveloper/swift,modocache/swift,xwu/swift,arvedviehweger/swift,karwa/swift,codestergit/swift,dduan/swift,roambotics/swift,sdulal/swift,kperryua/swift,shajrawi/swift,dduan/swift,dduan/swift,jckarter/swift,kusl/swift,jmgc/swift,felix91gr/swift,emilstahl/swift,parkera/swift,arvedviehweger/swift,khizkhiz/swift,benlangmuir/swift,amraboelela/swift,allevato/swift