When using the C preprocessor (dtrace -C), error reports line numbers regarding the preprocessed D, rather than the original D. From a user perspective this is confusing. My current workaround is to preprocess manually (cc -E) and then use dtrace without -C.