Browse Source

Check symbols in tests

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
check-symbols-tests
Dimitar Dobrev 5 years ago
parent
commit
553e9e0e10
  1. 1
      src/Generator.Tests/GeneratorTest.cs
  2. 3
      src/Generator/Passes/FindSymbolsPass.cs

1
src/Generator.Tests/GeneratorTest.cs

@ -30,6 +30,7 @@ namespace CppSharp.Utils
options.Quiet = true; options.Quiet = true;
options.GenerateDebugOutput = true; options.GenerateDebugOutput = true;
options.GenerateSequentialLayout = true; options.GenerateSequentialLayout = true;
options.CheckSymbols = true;
var testModule = options.AddModule(name); var testModule = options.AddModule(name);
testModule.SharedLibraryName = $"{name}.Native"; testModule.SharedLibraryName = $"{name}.Native";

3
src/Generator/Passes/FindSymbolsPass.cs

@ -95,6 +95,9 @@ namespace CppSharp.Passes
{ {
if (!Context.Symbols.FindLibraryBySymbol(mangledDecl.Mangled, out _)) if (!Context.Symbols.FindLibraryBySymbol(mangledDecl.Mangled, out _))
{ {
if (mangledDecl is Variable variable && variable.IsConstExpr)
return true;
Diagnostics.Warning("Symbol not found: {0}", mangledDecl.Mangled); Diagnostics.Warning("Symbol not found: {0}", mangledDecl.Mangled);
return false; return false;
} }

Loading…
Cancel
Save