In r224810 you fixed the handling of debug locations in AsmParser. I think this
patch brings it closer to what you ireally wanted (or I misunderstood the logic
there): it uses the first macro of the macro stack instead of the last one. The
updated testcase shows that the current scheme doesn't work when macro
instanciations are nested and multiple files are used.
The case where '# <line> "<file>"' directives are present in the macro themselves
isn't handled by this patch, and I'm not sure we want it handled (what should the
behavior be?)