rustc_monomorphize::mono_checks

Module abi_check

Source
Expand description

This module ensures that if a function’s ABI requires a particular target feature, that target feature is enabled both on the callee and all callers.

Functions§

  • Checks that a call expression does not try to pass a vector-passed argument which requires a target feature that the caller does not have, as doing so causes UB because of ABI mismatch.
  • Checks that the ABI of a given instance of a function does not contain vector-passed arguments or return values for which the corresponding target feature is not enabled.
  • Checks whether a certain function ABI is compatible with the target features currently enabled for a certain function. If not, emit_err is called, with Some(feature) if a certain feature should be enabled and with None if no feature is known that would make the ABI compatible.