Skip to content

Commit

Permalink
should be good for now
Browse files Browse the repository at this point in the history
  • Loading branch information
metagn committed Nov 14, 2024
1 parent f4cafe7 commit cc95dfa
Show file tree
Hide file tree
Showing 3 changed files with 176 additions and 111 deletions.
12 changes: 12 additions & 0 deletions compiler/cbuilderdecls.nim
Original file line number Diff line number Diff line change
Expand Up @@ -468,6 +468,18 @@ proc addUnnamedParam(builder: var Builder, params: var ProcParamBuilder, typ: Sn
params.needsComma = true
builder.add(typ)

proc addProcTypedParam(builder: var Builder, paramBuilder: var ProcParamBuilder, callConv: TCallingConvention, name: string, rettype, params: Snippet) =
if paramBuilder.needsComma:
builder.add(", ")
else:
paramBuilder.needsComma = true
builder.add(CallingConvToStr[callConv])
builder.add("_PTR(")
builder.add(rettype)
builder.add(", ")
builder.add(name)
builder.add(params)

proc addVarargsParam(builder: var Builder, params: var ProcParamBuilder) =
# does not exist in NIFC, needs to be proc pragma
if params.needsComma:
Expand Down
3 changes: 0 additions & 3 deletions compiler/cbuilderexprs.nim
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,6 @@ proc procPtrTypeUnnamedNimCall(rettype, params: Snippet): Snippet =
proc procPtrTypeUnnamed(callConv: TCallingConvention, rettype, params: Snippet): Snippet =
CallingConvToStr[callConv] & "_PTR(" & rettype & ", )" & params

proc procPtrType(callConv: TCallingConvention, rettype, name, params: Snippet): Snippet =
CallingConvToStr[callConv] & "_PTR(" & rettype & ", " & name & ")" & params

type CppCaptureKind = enum None, ByReference, ByCopy

template addCppLambda(builder: var Builder, captures: CppCaptureKind, params: Snippet, body: typed) =
Expand Down
Loading

0 comments on commit cc95dfa

Please sign in to comment.