IRGen: Emit reflection metadata for certain builtin types when -enable-reflection-builtins flag is passed in

These types are not directly referenced as fields of aggregate types,
but are needed for reflection type lowering.

Also, use a SetVector to collect referenced builtin types, instead of
a SmallPtrSet, to ensure compiler output is deterministic.
This commit is contained in:
Slava Pestov
2016-04-22 22:02:03 -07:00
parent 02a6be6d01
commit 0d34bc21ef
5 changed files with 31 additions and 10 deletions

View File

@@ -1282,6 +1282,9 @@ static bool ParseIRGenArgs(IRGenOptions &Opts, ArgList &Args,
if (Args.hasArg(OPT_enable_reflection_names)) {
Opts.EnableReflectionNames = true;
}
if (Args.hasArg(OPT_enable_reflection_builtins)) {
Opts.EnableReflectionBuiltins = true;
}
}
return false;