Browse Source

Fixed missing symbols for templates when there are no inlined functions.

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
pull/890/head
Dimitar Dobrev 8 years ago
parent
commit
8bb567c49e
  1. 7
      src/Generator/Passes/GenerateSymbolsPass.cs

7
src/Generator/Passes/GenerateSymbolsPass.cs

@ -40,11 +40,9 @@ namespace CppSharp.Passes
private void GenerateSymbols() private void GenerateSymbols()
{ {
var modules = (from module in Options.Modules var modules = Options.Modules.Where(symbolsCodeGenerators.ContainsKey).ToList();
where symbolsCodeGenerators.ContainsKey(module)
select module).ToList();
remainingCompilationTasks = modules.Count; remainingCompilationTasks = modules.Count;
foreach (var module in modules.Where(symbolsCodeGenerators.ContainsKey)) foreach (var module in modules)
{ {
var symbolsCodeGenerator = symbolsCodeGenerators[module]; var symbolsCodeGenerator = symbolsCodeGenerators[module];
if (specializations.ContainsKey(module)) if (specializations.ContainsKey(module))
@ -205,6 +203,7 @@ namespace CppSharp.Passes
else specs = specializations[specialization.TranslationUnit.Module] = else specs = specializations[specialization.TranslationUnit.Module] =
new HashSet<ClassTemplateSpecialization>(); new HashSet<ClassTemplateSpecialization>();
specs.Add(specialization); specs.Add(specialization);
GetSymbolsCodeGenerator(specialization.TranslationUnit.Module);
} }
private int RemainingCompilationTasks private int RemainingCompilationTasks

Loading…
Cancel
Save