Hi Hui -- Chiming in on this part:
On Thu, 29 Oct 2015, Michael Ferguson wrote: > The compiler generally uses a global variable for the file/line. > This variable is set with SET_LINENO and the file/line from it are > stored in each new AST node. > > If you have identified the AST node with the wrong line number, you > can get its id number (ast->id) and instruct the compiler to > call gdbShouldBreakHere when that id is created with --break-on-id. > It's possible that some code adding AST elements called > SET_LINENO with the wrong argument. If you find the source of the AST creation that has the wrong filename/line#, please let us know. We're trying to shake out these cases over time as best we can, for obvious reasons. One other thing I'll mention is that oftentimes, an AST node that you're looking at in codegen has been copied a few times before getting there, so its creation point will be a copy of another AST node which also had the wrong filename/line#. So then I usually re-run with --break-on-id, chasing the copies upstream until I find the original creation point. -Brad ------------------------------------------------------------------------------ _______________________________________________ Chapel-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/chapel-developers
