Browse Source

Cleaned up the additional parser options after parsing headers.

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
pull/1005/head
Dimitar Dobrev 8 years ago
parent
commit
3b43a0b168
  1. 35
      src/Generator/Driver.cs

35
src/Generator/Driver.cs

@ -126,25 +126,32 @@ namespace CppSharp @@ -126,25 +126,32 @@ namespace CppSharp
if (Options.UnityBuild)
{
var parserOptions = ParserOptions.BuildForSourceFile(Options.Modules);
using (var result = parser.ParseSourceFiles(sourceFiles, parserOptions))
Context.TargetInfo = result.TargetInfo;
if (string.IsNullOrEmpty(ParserOptions.TargetTriple))
ParserOptions.TargetTriple = parserOptions.TargetTriple;
using (var parserOptions = ParserOptions.BuildForSourceFile(
Options.Modules))
{
using (var result = parser.ParseSourceFiles(
sourceFiles, parserOptions))
Context.TargetInfo = result.TargetInfo;
if (string.IsNullOrEmpty(ParserOptions.TargetTriple))
ParserOptions.TargetTriple = parserOptions.TargetTriple;
}
}
else
{
foreach (var sourceFile in sourceFiles)
{
var parserOptions = ParserOptions.BuildForSourceFile(
Options.Modules, sourceFile);
using (ParserResult result = parser.ParseSourceFile(sourceFile, parserOptions))
if (Context.TargetInfo == null)
Context.TargetInfo = result.TargetInfo;
else
result.TargetInfo.Dispose();
if (string.IsNullOrEmpty(ParserOptions.TargetTriple))
ParserOptions.TargetTriple = parserOptions.TargetTriple;
using (var parserOptions = ParserOptions.BuildForSourceFile(
Options.Modules, sourceFile))
{
using (ParserResult result = parser.ParseSourceFile(
sourceFile, parserOptions))
if (Context.TargetInfo == null)
Context.TargetInfo = result.TargetInfo;
else
result.TargetInfo.Dispose();
if (string.IsNullOrEmpty(ParserOptions.TargetTriple))
ParserOptions.TargetTriple = parserOptions.TargetTriple;
}
}
}

Loading…
Cancel
Save