In those days was indeed 1983. None of the many C compilers I had access to at the time could do it in one command. Everyone I showed it to was surprised and pleased that it could be done in one command. I was in the DOS world, not Unix. Very few DOS programmers had any experience with Unix, or any access to a Unix machine. This was long before Linux.
> Try what? I know (and mentioned) two distinct ways of looking at the assembly code produced by my C compiler
Do you find:
cc -c test.c
objdump -d test.o
faster or slower to type than:
dmd -c test.c -vasm
especially when using command completion? For me, it's no contest, especially when doing it repeatedly, and with command completion.
For all but the smallest work I don't think it actually makes any difference. I always dump the disassembly to a file so I couldn't care less where it comes from, when debugging real code at least.
Testing the code generator is a different question, which I hope will be helped by vasm since I've actually had to move demonstrations off dmd and onto GCC since the code was so bad (in particular bad register allocation, I'm not that bothered about redundant cmp-s).
<shrug> At this point we have reduced your blog post's message from "Look at this amazing new feature! It's so novel and unique! All other compiler developers are complete idiots!" to "Sometimes when I read assembly code I'm not interested in debug information.". I am happy to concede this point.
There is rather a lot of garbage in those .s files for things like debuginfo, stray comments the GCC developers accidentally put in their asm output, linker commands, etc.
On the other hand it properly shows relocations (like global variable references) which disassemblers tend to get wrong.
> Try what? I know (and mentioned) two distinct ways of looking at the assembly code produced by my C compiler
Do you find:
faster or slower to type than: especially when using command completion? For me, it's no contest, especially when doing it repeatedly, and with command completion.Besides, I like the concise output of -vasm:
better than objdump's: