OK, this is my proposal: --dump=json (-fXf) --dump=tls (-fd-vtls) --dump=frontend (-fd-verbose) --dump=all (all above) All the above shall be written to a file, not stderr (this is so that these options never conflct with -pipe) Files generated by --dump will be written in the working directory where gdc was called from. --write-ddoc (-fdoc-file) --write-interfaces (-fintfc) --write-dependencies (-fmake-deps) --write-user-dependencies (-fmake-mdeps) *.ddoc will be added to lang-spec.h as a recognised language file instead of the ugly -fdoc-inc= Remove -dir= switches, maybe also remove the -file= switches too. Files generated by --write will be written in the same directory path as the -o file