From cd9ce377f886ddfb81efc7d81f2ad3b7930ad045 Mon Sep 17 00:00:00 2001 From: ringabout <43030857+ringabout@users.noreply.github.com> Date: Sat, 16 Nov 2024 05:51:58 +0800 Subject: [PATCH] fixes #24434; C gen issue using nim-lang/opengl (#24435) fixes #24434 In https://github.com/nim-lang/Nim/pull/24432 ```nim let ex = "NIM_EXTERNC N_NIMCALL(void, nimLoadProcs$1)(void) {$2}$N$N" % [(i.ord - '0'.ord).rope, extract(el)] ``` ```nim procs.addDeclWithVisibility(ExternC): procs.addProcHeader(ccNimCall, "nimLoadProcs" & $(i.ord - '0'.ord), "void", cProcParams()) ``` extern "C" makes a function-name in C++ have C linkage; it should be effaced with C compiler --- compiler/cbuilderdecls.nim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/cbuilderdecls.nim b/compiler/cbuilderdecls.nim index 0a605f31e4..f458c160c0 100644 --- a/compiler/cbuilderdecls.nim +++ b/compiler/cbuilderdecls.nim @@ -404,7 +404,7 @@ proc addVisibilityPrefix(builder: var Builder, visibility: DeclVisibility) = of Extern: builder.add("extern ") of ExternC: - builder.add("extern \"C\" ") + builder.add("NIM_EXTERNC ") of ImportLib: builder.add("N_LIB_IMPORT ") of ExportLib: