exportc now mangles same as importc, fixes #10578 (#12144)

* fixes #10578
* add tests
* add changelog
* add {.exportcpp.}
This commit is contained in:
Timothee Cour 2019-09-06 03:54:44 -07:00 • committed by Andreas Rumpf
commit 32769c478b
7 changed files with 76 additions and 34 deletions

View file

@ -1039,7 +1039,8 @@ proc requiresExternC(m: BModule; sym: PSym): bool {.inline.} =
result = (sfCompileToCpp in m.module.flags and
sfCompileToCpp notin sym.getModule().flags and
m.config.cmd != cmdCompileToCpp) or (
sym.flags * {sfImportc, sfInfixCall, sfCompilerProc} == {sfImportc} and
sym.flags * {sfInfixCall, sfCompilerProc, sfMangleCpp} == {} and
sym.flags * {sfImportc, sfExportc} != {} and
sym.magic == mNone and
m.config.cmd == cmdCompileToCpp)