Disallow this meaningless combination. Doing so simplifies analysis of LLVM code w.r.t t DLL storage-class, and prevents mistakes with DLL storage class.
- Change the assembler to reject DLL storage class on symbols with local linkage.
- Change the bitcode reader to clear the DLL Storage class when the linkage is local for auto-upgrading
- Update LangRef.
There is an existing restriction on non-default visibility and local linkage which this is modelled on.
llvm::GlobalValue::isLocalLinkage(Linkage) ?
This change is to make CodeGenCXX/reference-temporary-ms.cpp work