Exception: Rubycc::Backend::UnsupportedError

Inherits:
Error
  • Object
show all
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.