www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 22382] New: gdmd cannot build tools

https://issues.dlang.org/show_bug.cgi?id=22382

          Issue ID: 22382
           Summary: gdmd cannot build tools
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Other
            Status: NEW
          Severity: major
          Priority: P1
         Component: tools
          Assignee: nobody puremagic.com
          Reporter: bcallah openbsd.org

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.

--
Oct 13 2021