Exception: Rubycc::Backend::UnsupportedError
- Defined in:
- lib/rubycc/backend/aarch64.rb
Overview
Raised when a backend is handed an IR construct it does not yet lower. It is a user-facing error rather than an internal one: the program is valid C, this target simply cannot compile it yet, so the driver reports it as a diagnostic instead of letting it surface as a Ruby crash.
No backend raises it at the moment — the AArch64 one lowered its last gap
(alloca) in m4/aarch64-alloca-bitscan-2. The class and the driver's
handling of it stay because this is the contract a new target is written
against: a backend under construction refuses what it cannot yet lower
with raise UnsupportedError, "<target>: not yet supported: <feature>"
rather than emitting something plausible-looking.