Consider:
---main.d
import std.stdio;
void main()
{
writeln("Hello, World!");
}
`dmd main.d` generates a `main.o` object file and a `main` executable.
`dmd -o- main.d` generates nothing
I think `dmd -o- main.d` should generate the `main` executable, but not the `main.o` object file.
Comment #1 by greensunny12 — 2018-04-03T03:19:34Z
AFAIK `-o-` became the "undocumented" way to turn DMD's entire backend off.
> I think `dmd -o- main.d` should generate the `main` executable, but not the `main.o` object file.
Hmm, how would you turn off object generation then?
Note that dmd -ofmain main.d won't generate an object file, but only the main executable.
Comment #2 by slavo5150 — 2018-04-03T06:32:30Z
The "help" output currently says:
> -o- do not write object file
I was under the assumption that that meant it would not generate the intermediate object files when generating the executable. I suppose this issue could be resolved by clarifying that it doesn't generate any binary output. Maybe "disable object code generation", if that's what it actually does.
Comment #3 by slavo5150 — 2018-04-03T06:44:06Z
I don't feel like dealing with such an insignificant issue. Since I now understand what was meant, I'm going to close this as invalid.