Thread overview
[Issue 18433] rdmd doesn't respect DFLAGS for its cache hash
[Issue 18433] rdmd ignores DFLAGS
Feb 13, 2018
Jonathan Marler
Mar 27, 2018
Seb
Mar 27, 2018
Seb
Mar 27, 2018
Seb
Jan 09, 2021
Mathias LANG
February 13, 2018
https://issues.dlang.org/show_bug.cgi?id=18433

Jonathan Marler <johnnymarler@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Hardware|x86                         |All
                 OS|Windows                     |All

--
March 27, 2018
https://issues.dlang.org/show_bug.cgi?id=18433

Seb <greensunny12@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |greensunny12@gmail.com
            Summary|rdmd ignores DFLAGS         |rdmd doesn't respect DFLAGS
                   |                            |for its cache hash

--- Comment #1 from Seb <greensunny12@gmail.com> ---
Hmm I think the problem is more in DMD not respecting everything from DFLAGS: However, this has been in master:

cat > foo.d << EOF
void main(){
    import std.stdio;
    version(Foo)
    {
        "foo".writeln;
    }
    else
    {
        "bar".writeln;
    }
}
EOF


```
> dmd -version=Foo foo.d && ./foo
foo
> DFLAGS="-version=Foo" dmd foo.d && ./foo
bar
> DFLAGS="-version=Foo" rdmd --force foo.d
bar
```

(with ~master this correctly yields foo for all commands)

But it looks like rdmd's caching doesn't include a hash of DFLAGS.

```
DFLAGS="-version=Foo" rdmddev foo.d
foo
DFLAGS="-version=Bar" rdmddev foo.d
foo
```

(so I'm renaming this)

--
March 27, 2018
https://issues.dlang.org/show_bug.cgi?id=18433

--- Comment #2 from Seb <greensunny12@gmail.com> ---
Argh, apparently this hasn't been fixed in master and DFLAGS is only looked at when -conf= is set:

```
> DFLAGS="-version=Foo" ../dmd/generated/linux/release/64/dmd -v foo.d && ./foo
predefs   DigitalMars Posix linux ELFv1 LittleEndian D_Version2 all D_SIMD
D_InlineAsm_X86_64 X86_64 CRuntime_Glibc D_LP64 D_PIC assert D_HardFloat
binary    ../dmd/generated/linux/release/64/dmd
version   v2.079.0-284-g23b2e2e0d
config    ../dmd/generated/linux/release/64/dmd.conf
DFLAGS    -I../dmd/generated/linux/release/64/../../../../../druntime/import
-I../dmd/generated/linux/release/64/../../../../../phobos
-L-L../dmd/generated/linux/release/64/../../../../../phobos/generated/linux/release/64
-L--export-dynamic -fPIC
```


```
> DFLAGS="-version=Foo" dmd -conf= -I~/dlang/phobos -I~/dlang/druntime/import -c -v foo.d
predefs   Foo DigitalMars Posix linux ELFv1 LittleEndian D_Version2 all D_SIMD
D_InlineAsm_X86_64 X86_64 CRuntime_Glibc D_LP64 D_PIC assert D_HardFloat
binary    /home/seb/dlang/dmd/generated/linux/release/64/dmd
version   v2.079.0-284-g23b2e2e0d
config
DFLAGS    -version=Foo
```

--
March 27, 2018
https://issues.dlang.org/show_bug.cgi?id=18433

--- Comment #3 from Seb <greensunny12@gmail.com> ---
https://github.com/dlang/tools/pull/343

--
January 09, 2021
https://issues.dlang.org/show_bug.cgi?id=18433

Mathias LANG <pro.mathias.lang@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |pro.mathias.lang@gmail.com
         Resolution|---                         |MOVED

--- Comment #4 from Mathias LANG <pro.mathias.lang@gmail.com> ---
Moved to https://github.com/dlang/tools/issues/424

--