[IRGen][runtime] Prepare to change the is-Swift bit in class metadata. (#13595)

Swift class metadata has a bit to distinguish it from non-Swift Objective-C
classes. The stable ABI will use a different bit so that stable Swift and
pre-stable Swift can be distinguished from each other.

No bits are actually changed yet. Enabling the new bit needs to wait for
other coordination such as libobjc.

rdar://35767811
This commit is contained in:
Greg Parker
2017-12-22 00:52:00 -08:00
committed by GitHub
parent f39d1cd6b6
commit c677a5dc11
19 changed files with 78 additions and 34 deletions

View File

@@ -1184,6 +1184,12 @@ static bool ParseLangArgs(LangOptions &Opts, ArgList &Args,
Target.isOSDarwin());
Opts.EnableSILOpaqueValues |= Args.hasArg(OPT_enable_sil_opaque_values);
#if SWIFT_DARWIN_ENABLE_STABLE_ABI_BIT
Opts.UseDarwinPreStableABIBit = false;
#else
Opts.UseDarwinPreStableABIBit = true;
#endif
// Must be processed after any other language options that could affect
// platform conditions.
bool UnsupportedOS, UnsupportedArch;