Skip to content
Narta Xaymar Dirks edited this page Nov 8, 2026 · 11 revisions

BlitzLLVM is a BlitzBasic (Blitz2D, Blitz3D, BlitzPlus) compiler built on the LLVM compiler backend. It turns a .bb program into one self-contained executable.

Getting started

  • Installation: install a nightly build or your own build, and compile your first program.
  • Building: compile BlitzLLVM from source on Windows, Linux and macOS.

The language

  • Language: variables, operators, control flow, functions, arrays, types and data.
  • Types: the extra number types and number suffixes.
  • Parameter-Modes: In, Out and InOut parameters.
  • Language-Quirks: order of evaluation, strings with Chr$(0) and deleting objects.
  • Differences: where BlitzLLVM behaves differently from the original Blitz3D and BlitzPlus.

Commands

  • Command-Index: every command from A to Z.
  • Language-Features: control flow, functions, loops, types, keywords, math, strings, random numbers and time.
  • BlitzBasic: what all three dialects share, such as files, 2D graphics, input and audio.
  • Blitz3D: entities, cameras, lights, meshes, textures, collisions and the rest of the 3D world.
  • BlitzPlus: windows, gadgets, events and system access.

Tools

  • Warnings: the -W options of blitzcc, the warning levels and -Werror.
  • blitz-format: format .bb source code with a style that a .blitz-format file sets.
  • Blitz-Tidy: fix the warnings of blitzcc in source files.
  • Environment-Variables: the BLITZLLVM_ variables that change what programs and tools do.

Home · Command Index


Getting started

Language

Tools


Language Features
BlitzBasic
Blitz3D
BlitzPlus
Differences

Clone this wiki locally