November 03, 2020
https://issues.dlang.org/show_bug.cgi?id=21361

          Issue ID: 21361
           Summary: dmd's -o- switch suppresses shared library as well
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P1
         Component: dmd
          Assignee: nobody@puremagic.com
          Reporter: acehreli@yahoo.com

1) Have a trivial D file named deneme.d:

// deneme.d
void foo() {
}

2) Compile a shared library with the -o- switch:

dmd -o- -shared -of=deneme.so deneme.d


Desired behavior: The .so file should exist but the .o file should be missing per my understanding of the documentation: https://dlang.org/dmd-linux.html

Observed behavior: No file exists.


Note: Perhaps only the documentation needs to be made more clear from the current "Useful in conjuction with -D or -H flags."

Still, lack of the .so file should be considered a bug, and so here it is! :)

--