Hi -

Answering your other email - I think it's a bug in the compiler
if the line number is right but the filename is wrong...

Also, I think you should try running your experiments with
CHPL_DEVELOPER unset (or set to 0). It might be that the
work Brad described will form your work-around. So that
your tool wouldn't see any internal module file/line #s.

Cheers,

-michael

On 10/30/15, 1:01 PM, "Hui Zhang" <[email protected]> wrote:

>Hello, Brad
>
>
>On Fri, Oct 30, 2015 at 12:58 PM, Brad Chamberlain
><[email protected]> wrote:
>
>
>I'm only following this conversation at a high-level, but wanted to throw
>out a couple of data points in case they're useful:
>
>* for code that is considered "internal" (e.g., in modules/internal), the
>  compiler makes a best attempt to refer to the user's code that called
>  into the internal module rather than pointing into code that arguably
>  isn't under the user's control.  We generally do OK with this, though I
>  believe it sometimes goes awry when a callchain goes from user code to
>  internal modules and then back into user code (and maybe back into
>  internal modules).
>
>* if CHPL_DEVELOPER is set (or --devel is thrown),
>
>​​
>we don't do any of
>  the above and just point to the actual line # (figuring that developers
>  don't want to have these details papered over).
>
>
>​Yes, I did set CHPL_DEVELOPER. What do you mean by "​we don't do any of
>  the above and just point to the actual line #"​
> 
>
>​? the actual line# in the user code or the internal module ?
>
>
>thanks​
>
>
>
>-Brad
>
>
>On Fri, 30 Oct 2015, Michael Ferguson wrote:
>
>
>Hi -
>
>On 10/30/15, 12:45 PM, "Hui Zhang" <[email protected]> wrote:
>
>Hello, Michael
>
>
>Okay....that makes a lot more sense now
>
>
>In my case, as your example, I need a nice stack trace when a sample fell
>on that "writeln", but now it'll give me something like this (assume file
>is user.chpl, forall is on line
>#1):
>
>wrap_coforall_fn (user.chpl : 1) -> coforall_fn (ChapelRange.chpl: 2) ->
>writeln (..)
>
>I expected it to be something like:
>
>wrap_coforall_fn(user.chpl: 1) -> coforall_fn(user.chpl: 2) -> writeln(..)
>
>
>So if the filename is  internal modules, then it'll be difficult for me
>to transfer data along  the stack since my previous analysis only
>concerns about user code...
>
>
>
>I don't think it's philosophically wrong for the compiler to include
>these internal module line numbers. Can you arrange for your tool to
>ignore them somehow?
>
>
>
>Another question: why the line# of the frame I got is "correct"(right
>line# in the user code, here '2') when the file/module is internal module
>?
>
>
>
>That just looks like a bug to me.
>
>-michael
>
>
>
>
>
>
>
>
>
>
>
>
>-- 
>Best regards
>
>
>Hui Zhang
>
>
>

------------------------------------------------------------------------------
_______________________________________________
Chapel-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-developers

Reply via email to