Central Docs
Catálogo Inicio

07. Errores, targets y depuración

La fase de preparación valida la estructura antes de invocar Clang. Los errores habituales son:

Situación Diagnóstico esperado
falta #end el bloque preparado no tiene cierre
#prep fuera de una función solo se permite dentro de una función, salvo module
bloque sin @assembler la función requiere @assembler
dialecto desconocido usa gas-intel o att
placeholder inexistente el parámetro no existe en la firma
ret dentro del cuerpo return asm agrega el retorno ABI
función ASM en otro target esta fase requiere Windows x64

Si Clang rechaza una instrucción, el backend conserva el archivo generado y relaciona la línea del .asm con la fuente .bg, la función, el dialecto y la línea del #prep. Revisa primero el archivo bajo build/prep/ para distinguir un error de expansión de parámetros de un error de sintaxis ASM.

La generación y el ensamblado se realizan en el host; la disponibilidad de clang es obligatoria cuando el proyecto contiene bloques preparados. El objeto se enlaza después con el objeto LLVM de Bagron y debe respetar el target seleccionado.