@@ -36,7 +36,7 @@ namespace clang {
36
36
IntrusiveRefCntPtr<llvm::vfs::FileSystem> FS; // Only used for debug info.
37
37
const HeaderSearchOptions &HeaderSearchOpts; // Only used for debug info.
38
38
const PreprocessorOptions &PreprocessorOpts; // Only used for debug info.
39
- const CodeGenOptions & CodeGenOpts;
39
+ CodeGenOptions CodeGenOpts; // Intentionally copied in.
40
40
41
41
unsigned HandlingTopLevelDecls;
42
42
@@ -261,6 +261,13 @@ namespace clang {
261
261
return M.get ();
262
262
}
263
263
264
+ llvm::Module *StartModule (llvm::StringRef ModuleName,
265
+ llvm::LLVMContext& C,
266
+ const CodeGenOptions& CGO) {
267
+ CodeGenOpts = CGO;
268
+ return StartModule (ModuleName, C);
269
+ }
270
+
264
271
void forgetGlobal (llvm::GlobalValue* GV) {
265
272
for (auto I = Builder->ConstantStringMap .begin (),
266
273
E = Builder->ConstantStringMap .end (); I != E; ++I) {
@@ -487,6 +494,12 @@ llvm::Module *CodeGenerator::StartModule(llvm::StringRef ModuleName,
487
494
return static_cast <CodeGeneratorImpl*>(this )->StartModule (ModuleName, C);
488
495
}
489
496
497
+ llvm::Module *CodeGenerator::StartModule (llvm::StringRef ModuleName,
498
+ llvm::LLVMContext& C,
499
+ const CodeGenOptions& CGO) {
500
+ return static_cast <CodeGeneratorImpl*>(this )->StartModule (ModuleName, C, CGO);
501
+ }
502
+
490
503
void CodeGenerator::forgetGlobal (llvm::GlobalValue* GV) {
491
504
static_cast <CodeGeneratorImpl*>(this )->forgetGlobal (GV);
492
505
}
0 commit comments