www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 20699] New: -lowmem does nothing with dmd if passed via dub


          Issue ID: 20699
           Summary: -lowmem does nothing with dmd if passed via dub
           Product: D
           Version: D2
          Hardware: x86
                OS: All
            Status: NEW
          Severity: normal
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: zorael gmail.com

Created attachment 1778
  --> https://issues.dlang.org/attachment.cgi?id=1778&action=edit
example build commands and their memory use

Manjaro/Arch x86_64, dmd 2.091.0, dub 1.19.0.

NG discussion:
https://forum.dlang.org/post/lnmkeqlpjpqtpkfzfczs forum.dlang.org

-lowmem has no effect with dmd when the flag is passed via dub, when set in
dub.sdl or dub.json as a dflag. This is despite it being included in the
command printed when invoked with dub build -v.

 Most likely because dub doesn't actually invoke the listed command,
 but uses a response file to work around cmdline length limits.
 -lowmem in response files is ignored by DMD (needs to be parsed and
 set before druntime initialization, but response file parsing needs
 druntime + GC). It works for LDC though.
Steven Schveighoffer:
 Very annoying. If there's not a bug on this yet, I'd say there needs
 to be (on DMD I would say).
Mar 25 2020