Allow passing arbitrary enums as diagnostic arguments.
Allow passing arbitrary enums as diagnostic arguments.

Unless treated specially by the diagnostic system, the enum value will be
converted to its underlying type and treated as an integer. This is useful
for diagnostics that %select between a fixed set of choices.

Removes two special cases; also used by following commit.

Swift SVN r28848

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