compiler: Deduplicate must_emit_unwind_tables() comments
There is one comment at a call site and one comment in the function definition that are mostly saying the same thing. Fold the call site comment into the function definition comment to reduce duplication. There are actually some inaccuracies in the comments but let's deduplicate before we address the inaccuracies.
This commit is contained in:
@@ -370,21 +370,6 @@ pub(crate) fn llfn_attrs_from_instance<'ll, 'tcx>(
|
||||
};
|
||||
to_add.extend(inline_attr(cx, inline));
|
||||
|
||||
// The `uwtable` attribute according to LLVM is:
|
||||
//
|
||||
// This attribute indicates that the ABI being targeted requires that an
|
||||
// unwind table entry be produced for this function even if we can show
|
||||
// that no exceptions passes by it. This is normally the case for the
|
||||
// ELF x86-64 abi, but it can be disabled for some compilation units.
|
||||
//
|
||||
// Typically when we're compiling with `-C panic=abort` we don't need
|
||||
// `uwtable` because we can't generate any exceptions! On Windows, however,
|
||||
// exceptions include other events such as illegal instructions, segfaults,
|
||||
// etc. This means that on Windows we end up still needing the `uwtable`
|
||||
// attribute even if the `-C panic=abort` flag is passed.
|
||||
//
|
||||
// You can also find more info on why Windows always requires uwtables here:
|
||||
// https://bugzilla.mozilla.org/show_bug.cgi?id=1302078
|
||||
if cx.sess().must_emit_unwind_tables() {
|
||||
to_add.push(uwtable_attr(cx.llcx, cx.sess().opts.unstable_opts.use_sync_unwind));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user