-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
remove filename from line number nodes #15000
Conversation
currently breaks the backtrace test [ci skip]
@@ -921,6 +921,8 @@ JL_DLLEXPORT Type *julia_type_to_llvm(jl_value_t *jt, bool *isboxed) | |||
return PointerType::get(lt, 0); | |||
} | |||
if (jl_is_bitstype(jt)) { | |||
if (jt == (jl_value_t*)jl_long_type) | |||
return T_size; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we could probably also just generally generically cache these in jst->struct_decl
I use the filenames (and line numbers) in line number nodes in |
File names are available in |
But |
Ah. That may be a problem. The frontend could insert a Or we could still have those filenames in there as before, just seemed weird to me to have the same information duplicated everywhere. |
We could put |
Also, different lines in functions can come from different files, after macro expansion. Would that information still be representable? |
yes I think you would need to have such a pair of node in every "toplevel" block, meaning the outer most block of a quote, including implicit quotes such as the argument to a macro. Feels a little better to me than having the file name everywhere but might not be worth the effort. As an added benefit, those nodes could specify that the code is being quoted/macroed so we could display that in the backtrace maybe. Just thinking out loud. |
Filename push/pop per outer |
Sure, that would be fine. |
Hmm, adding "pop" at the end of blocks is actually tricky, since the last expression in a block determines its value. We might be able to handle this later in lowering, e.g. inserting "pop" only when merging one block into another in a non-final position. |
@carnaval is this what you want?