Bug 22382 – gdmd cannot build tools

Status
RESOLVED
Resolution
FIXED
Severity
major
Priority
P1
Component
tools
Product
D
Version
D2
Platform
x86_64
OS
Other
Creation time
2021-10-13T13:27:46Z
Last change time
2021-10-30T01:00:08Z
Assigned to
No Owner
Creator
Brian Callahan

Comments

Comment #0 by bcallah — 2021-10-13T13:27:46Z
Hello -- gdc 11.2 is unable to build tool 2.098.0 Here is the build failure: /usr/local/bin/gdmd -O -release -inline -w -de -version=Dlang_Tools DustMite/dustmite.d DustMite/splitter.d DustMite/polyhash.d -ofdustmite DustMite/polyhash.d-mixin-289:293:13: error: 'low' must be surrounded by parentheses DustMite/polyhash.d-mixin-289:293:23: error: 'high' must be surrounded by parentheses DustMite/polyhash.d-mixin-289:294:12: error: 'a' must be surrounded by parentheses DustMite/polyhash.d-mixin-289:294:20: error: 'b' must be surrounded by parentheses DustMite/polyhash.d:165:37: error: template instance polyhash.longMul!ulong error instantiating 165 | this.value = longMul(this.value, operand.value).longDiv(q).remainder; | ^ DustMite/polyhash.d:32:35: note: instantiated from here: opOpAssign!"*" 32 | v *= v; | ^ DustMite/splitter.d:50:28: note: instantiated from here: PolynomialHash!(ModQ!(ulong, 18446744073709551557LU)) 50 | alias EntityHash = PolynomialHash!(ModQ!(ulong, largest64bitPrime)); | ^ DustMite/polyhash.d-mixin-362:366:13: error: 'quotient' must be surrounded by parentheses DustMite/polyhash.d-mixin-362:366:28: error: 'remainder' must be surrounded by parentheses DustMite/polyhash.d-mixin-362:367:12: error: 'low' must be surrounded by parentheses DustMite/polyhash.d-mixin-362:367:21: error: 'high' must be surrounded by parentheses DustMite/polyhash.d-mixin-362:367:32: error: 'b' must be surrounded by parentheses DustMite/polyhash.d:165:72: error: template instance polyhash.longDiv!(ulong, LongInt!(64u, false)) error instantiating 165 | this.value = longMul(this.value, operand.value).longDiv(q).remainder; | ^ DustMite/polyhash.d:32:35: note: instantiated from here: opOpAssign!"*" 32 | v *= v; | ^ DustMite/splitter.d:50:28: note: instantiated from here: PolynomialHash!(ModQ!(ulong, 18446744073709551557LU)) 50 | alias EntityHash = PolynomialHash!(ModQ!(ulong, largest64bitPrime)); | ^ gmake: *** [posix.mak:44: dustmite] Error 1 Unfortunately, the OpenBSD package of the tools will have to go without DustMite until this is resolved, since I would like to use gdmd so that all our platforms can benefit from having a package of the D tools.
Comment #1 by dlang-bugzilla — 2021-10-13T13:35:52Z
Comment #2 by bcallah — 2021-10-13T13:53:05Z
Thanks so much for the quick fix. I can confirm this works. I'll be shipping the OpenBSD package now with dustmite.
Comment #3 by bcallah — 2021-10-30T01:00:08Z
This has been fixed upstream.