Bug 9486 – Alias parameter breaks between modules for AA on x64

Status
NEW
Severity
normal
Priority
P3
Component
dmd
Product
D
Version
D2
Platform
x86_64
OS
All
Creation time
2013-02-08T10:28:02Z
Last change time
2024-12-13T18:04:06Z
Keywords
link-failure
Assigned to
No Owner
Creator
Dicebot
Moved to GitHub: dmd#18520 →

Comments

Comment #0 by public — 2013-02-08T10:28:02Z
I am not sure what is exactly to blame and this could not find if there exists issue on topic. Simple reproducible test case: == mod.d == void func(alias arr)() { arr["key"] = 43; } == test.d == import mod; void main() { auto arr = [ "key" : 42 ]; func!(arr)(); } == shell == $ rdmd test.d .../test.o: In function `_D4test4mainFZv36__T4funcS24_D4test4mainFZv3arrHAyaiZ4funcMFZv': test.d:(.text._D4test4mainFZv36__T4funcS24_D4test4mainFZv3arrHAyaiZ4funcMFZv+0x3e): undefined reference to `_D3mod7__arrayZ' collect2: ld returned 1 exit status --- errorlevel 1 It will work if I do _any one_ following: * Move func to test.d * Alias integer variable * Compile for x32 Linux But on x64 this exact code results in provided error message upon linking.
Comment #1 by robert.schadek — 2024-12-13T18:04:06Z
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/18520 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB