summary refs log tree commit diff stats
path: root/compiler
diff options
context:
space:
mode:
authormetagn <metagngn@gmail.com>2023-08-28 22:41:18 +0300
committerGitHub <noreply@github.com>2023-08-28 21:41:18 +0200
commit6b955ac4af834fb9765b5b2a2588a5feb1de31f0 (patch)
tree12018f543f4e17221debcbc079a71e1f770ab42a /compiler
parent3de8d755135d94983ca087f448ad76832c341eaa (diff)
downloadNim-6b955ac4af834fb9765b5b2a2588a5feb1de31f0.tar.gz
properly fold constants for dynlib pragma (#22575)
fixes #12929
Diffstat (limited to 'compiler')
-rw-r--r--compiler/pragmas.nim2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/pragmas.nim b/compiler/pragmas.nim
index 6a371ba06..49b3b819e 100644
--- a/compiler/pragmas.nim
+++ b/compiler/pragmas.nim
@@ -333,7 +333,7 @@ proc expectDynlibNode(c: PContext, n: PNode): PNode =
     # {.dynlib: myGetProcAddr(...).}
     result = c.semExpr(c, n[1])
     if result.kind == nkSym and result.sym.kind == skConst:
-      result = result.sym.astdef # look it up
+      result = c.semConstExpr(c, result) # fold const
     if result.typ == nil or result.typ.kind notin {tyPointer, tyString, tyProc}:
       localError(c.config, n.info, errStringLiteralExpected)
       result = newEmptyStrNode(c, n)