rustc: Fix ICE in native library error reporting
This commit is contained in:
parent
ef9b49881b
commit
c82a3706f7
3 changed files with 16 additions and 4 deletions
|
@ -418,10 +418,11 @@ impl<'tcx> Collector<'tcx> {
|
|||
// involved or not, library reordering and kind overriding without
|
||||
// explicit `:rename` in particular.
|
||||
if lib.has_modifiers() || passed_lib.has_modifiers() {
|
||||
self.tcx.sess.span_err(
|
||||
self.tcx.def_span(lib.foreign_module.unwrap()),
|
||||
"overriding linking modifiers from command line is not supported"
|
||||
);
|
||||
let msg = "overriding linking modifiers from command line is not supported";
|
||||
match lib.foreign_module {
|
||||
Some(def_id) => self.tcx.sess.span_err(self.tcx.def_span(def_id), msg),
|
||||
None => self.tcx.sess.err(msg),
|
||||
};
|
||||
}
|
||||
if passed_lib.kind != NativeLibKind::Unspecified {
|
||||
lib.kind = passed_lib.kind;
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
// Regression test for issue #97299, one command line library with modifiers
|
||||
// overrides another command line library with modifiers.
|
||||
|
||||
// compile-flags:-lstatic:+whole-archive=foo -lstatic:+whole-archive=foo
|
||||
// error-pattern: overriding linking modifiers from command line is not supported
|
||||
|
||||
fn main() {}
|
|
@ -0,0 +1,4 @@
|
|||
error: overriding linking modifiers from command line is not supported
|
||||
|
||||
error: aborting due to previous error
|
||||
|
Loading…
Add table
Reference in a new issue