Central Docs
Catálogo Inicio

Cláusulas de target y configuración

clause sí forma parte de la gramática y usa un nombre conocido seguido de un literal:

clause System 'windows'
clause Arch 'amd'
clause Optimizations 'prod'

Target

Las cláusulas principales son:

Cláusula Valores relevantes Función
System auto, linux, windows, baremetal sistema objetivo
Arch auto, amd, x86, arm, riscv32, riscv64 o triple LLVM arquitectura
Boot none, multiboot2, uefi, opensbi, dtb, custom arranque bare-metal
Optimizations dev, prod, high perfil LLVM

baremetal exige Boot explícito. Boot distinto de none no es válido en Linux o Windows. multiboot2 solo está soportado actualmente para x86/i386 y x86-64; opensbi requiere RISC-V y uefi una arquitectura compatible.

El módulo de entrada selecciona un único target. Los módulos importados pueden omitir dimensiones y quedan agnósticos, pero una cláusula explícita incompatible con el target principal rechaza la compilación. Una cláusula System, Arch, Boot u Optimizations repetida también es un error.

Cláusulas aceptadas de almacenamiento

Privacy acepta public o private, y StackLimit acepta un número. El frontend las valida y las registra en el almacenamiento del compilador, pero no son sustitutos de los modificadores public/private ni forman parte de la selección de target. StackLimit no constituye por sí solo una comprobación de runtime en el backend actual.