Bug 20210 – version blocks with boolean operators

Status
RESOLVED
Resolution
DUPLICATE
Severity
enhancement
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2019-09-13T10:57:21Z
Last change time
2019-09-16T09:00:39Z
Assigned to
No Owner
Creator
a11e99z

Comments

Comment #0 by black80 — 2019-09-13T10:57:21Z
OT: add to version check blocks some boolean operators cuz next is more clear than indented monster at the bottom version (Dip1000 || DIP1000 || dip1000) { pragma( msg, "D1000"); } else { pragma( msg, "no D1000"); } // current state only supports && and !&& version(A) version(B) { // replacement only for A && B } else { /* !A || !B */ } version (Dip1000) { pragma( msg, "D1000"); // same logic many times } else { version (DIP1000) { pragma( msg, "D1000"); } else { version (dip1000) { pragma( msg, "D1000"); } else { pragma( msg, "no D1000"); } } }
Comment #1 by black80 — 2019-09-13T11:10:33Z
this issue comes from https://issues.dlang.org/show_bug.cgi?id=20211 where I tried to determine probably existing version "OT:" comes from issue:20211 too. then I decided to split issues. so just ignore "OT:" in header
Comment #2 by dfj1esp02 — 2019-09-16T09:00:39Z
see workaround in issue 19495 *** This issue has been marked as a duplicate of issue 7417 ***