-
Notifications
You must be signed in to change notification settings - Fork 13k
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
Teach rustc about DW_AT_noreturn and a few more DIFlags #47618
Conversation
d1ac357
to
f7f6598
Compare
i'm not sure why test fails on travis. it passes locally when I run the individual test and
|
src/rustllvm/RustWrapper.cpp
Outdated
@@ -545,6 +549,18 @@ static unsigned fromRust(LLVMRustDIFlags Flags) { | |||
Result |= DINode::DIFlags::FlagRValueReference; | |||
} | |||
#if LLVM_RUSTLLVM || LLVM_VERSION_GE(4, 0) |
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.
i'm not sure why test fails on travis.
The CI uses the system LLVM 3.9 for testing, so both conditions are going to be false, meaning these flags won't be applied at all.
You may move these flags into another #if
block which does not check LLVM_RUSTLLVM
(assume these can apply to the unmodified LLVM), or tag the test case with // no-system-llvm
.
📌 Commit e0f9b26 has been approved by |
…rister Teach rustc about DW_AT_noreturn and a few more DIFlags We achieve two small things with this PR: 1. We provide definitions for a few additional llvm debuginfo flags 1. We _use_ one of these new flags, `FlagNoReturn`, and add it to debuginfo for functions with the never return type (`!`).
☔ The latest upstream changes (presumably #47748) made this pull request unmergeable. Please resolve the merge conflicts. |
We achieve two small things with this PR:
FlagNoReturn
, and add it to debuginfo for functions with the never return type (!
).