dmd -o- option meaning changed recently? Now not creating OBJ but also not creating EXE

A D dev via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sun Oct 2 14:05:25 PDT 2016


On Sunday, 2 October 2016 at 20:47:44 UTC, ag0aep6g wrote:

> I think you may be misremembering things. I've checked versions 
> back to 2.051 (from 2010, oldest I've got lying around). None 
> of them wrote an executable with -o-.

1.

Thanks a lot for all that checking and for your reply.

2.

> I've checked versions back to 2.051 (from 2010, oldest I've got 
> lying around).

Great idea, wish I had thought of that myself. Will do it in 
future - keep some older versions of the compiler or its zip 
file, so that I can check for such things if they arise.

3.

> I think you may be misremembering things. I've checked versions 
> back to 2.051 (from 2010, oldest I've got lying around). None 
> of them wrote an executable with -o-.

You may well be right. I did say that in my original post, though 
not sure why I would misremember. But I acknowledge the 
possibility.

I did find it weird that it would not create BOTH an OBJ and EXE 
(now, with -o-) and did create only an EXE (before, with -o-), if 
both those things were actually the case. Because that is too big 
a thing to happen as a mistake by the D team. And I could not 
think of a good reason why they might do it on purpose. Could 
understand if for some reason the automatic .OBJ deletion was 
suppressed, but no good reason for at the same time preventing 
the generation of the EXE.

One last point:

If that was always the behavior (in all versions from 2010 - or 
earlier), i.e. -o- generates neither .OBJ nor .EXE, then what is 
the purpose of the option? does it act as just a syntax check?

Anyway, moral of the story (for me) is to be more careful next 
time and record all my actions / command history for cases like 
this - which I generally try to do, but did not this time.



More information about the Digitalmars-d-learn mailing list