How's that?
http://pastebin.com/SzjYDDiu
As mentioned, note that there'll be a real file name before the first colon
of the location printed in real code...
The strategy is to print the current line in the buffer, and put an ^ in that
points at the location.
Note that we don't have a lexer so it's kinda hard to do anything more fancy.
Loc
|-Expansion
| |-ExpansionStart
| | |-ExpansionStart |C(f(M(i)))|
| | | ^ :3:1,
| | |-ExpansionEnd |C(f(M(i)))|
| | | ^ :3:10,
| | `-Spelling |#define C(x) c M(x)|
| | ^ :2:16,
| |-ExpansionEnd
| | |-ExpansionStart |C(f(M(i)))|
| | | ^ :3:1,
| | |-ExpansionEnd |C(f(M(i)))|
| | | ^ :3:10,
| | `-Spelling |#define C(x) c M(x)|
| | ^ :2:19,
| `-Spelling |#define M(x) x|
| ^ :1:14,
`-Spelling
|-Expansion
| |-ExpansionStart |C(f(M(i)))|
| | ^ :3:1,
| |-ExpansionEnd |C(f(M(i)))|
| | ^ :3:10,
| `-Spelling |#define C(x) c M(x)|
| ^ :2:18,
`-Spelling
|-Expansion
| |-ExpansionStart |C(f(M(i)))|
| | ^ :3:5,
| |-ExpansionEnd |C(f(M(i)))|
| | ^ :3:8,
| `-Spelling |#define M(x) x|
| ^ :1:14,
`-Spelling |C(f(M(i)))|
^ :3:7
http://llvm-reviews.chandlerc.com/D768
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits