Bug 19249 – Trying to build DMD for windows with LDC fails

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
All
OS
Windows
Creation time
2018-09-16T03:19:06Z
Last change time
2019-05-26T08:11:46Z
Assigned to
No Owner
Creator
Manu

Comments

Comment #0 by turkeyman — 2018-09-16T03:19:06Z
Trying to build DMD for windows using LDC: Build 32bit: 1>..\dmd\root\longdouble.d(164): error : static assert: "usupported type" 1>..\dmd\constfold.d(1123): instantiated from here: `opCast!(__c_long)` Build 64bit: 1>..\dmd\backend\cod4.d(291): Deprecation: integral promotion not done for `~modregrm(0u, 7u, 0u)`, use '-transition=intpromote' switch or `~cast(int)(modregrm(0u, 7u, 0u))` 1>..\dmd\backend\cod4.d(48): error : Global variable type does not match previous declaration with same mangled name: `?dblreg@@3PAIB` 1>..\dmd\backend\cod4.d(48): Previous IR type: [4 x i32] 1>..\dmd\backend\cod4.d(48): New IR type: [4 x i32]
Comment #1 by iamthewilsonator — 2018-09-20T11:57:58Z
Comment #2 by iamthewilsonator — 2018-09-20T12:05:41Z
Hmm, for 64-bit module dmd.backend.cod4; enum { BX, DX, CX } extern (C++): __gshared const uint[4] dblreg = [ BX,DX,cast(uint)-1,CX ]; void main() { } does not reproduce. Any odd flags being used?
Comment #3 by kinke — 2018-09-20T20:23:06Z
Comment #4 by kinke — 2018-09-29T19:04:27Z
Should be working with LDC v1.12-beta2 again.