`#defines(num)` may be given as a location. This is confusing and also extremely unhelpful when anything goes wrong. The solution is simple: Pack a flag into the Loc struct dmd uses, then store the contextual information about the #define properly.