Open
Description
Description
With retroactive versioning and deployment targets, it is possible to use a pattern of:
extern int kVersion;
extern int kVersion1; // equivalent to `kVersion`
extern int kVersion2;
#if DEPLOYMENT_TARGET_IS_NEW
#define kVersion kVersion2
#else
#define kVersion kVersion1
#endif
This allows a source compatible upgrade based upon the deployment target and uses shadowing of kVersion
.
Reproduction
lit ClangImporter.versioning
Expected behavior
It should be possible to either qualify and select or allow shadowing.
Environment
Swift version 6.2-dev (LLVM b28ed49a05cd0fb, Swift eb47489e6606d96)
Target: x86_64-unknown-windows-msvc
Build config: +assertions
Additional information
No response