Skip to content

Tracking Issue: Tier System #23665

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
10 of 99 tasks
Tracked by #8
alexrp opened this issue Apr 26, 2025 · 0 comments
Open
10 of 99 tasks
Tracked by #8

Tracking Issue: Tier System #23665

alexrp opened this issue Apr 26, 2025 · 0 comments
Labels
contributor friendly This issue is limited in scope and/or knowledge of Zig internals. enhancement Solving this issue will likely involve adding new logic or components to the codebase. tier system Issues that track the support tier for a platform.

Comments

@alexrp
Copy link
Member

alexrp commented Apr 26, 2025

Zig's level of support for various targets is broadly categorized into four tiers with Tier 1 being the highest. The goal is for Tier 1 targets to have zero disabled tests - this will become a requirement for post-1.0.0 Zig releases.

This issue serves as an overview of the current status of Zig's target support. Each target is categorized based on its current tier.

Tier 1

Criteria

  • All non-experimental language features are known to work correctly.
  • The compiler can generate machine code for this target without relying on LLVM, while being comparable to LLVM in terms of feature support.
  • libc is available for this target even when cross-compiling.

Targets

Tier 2

Criteria

  • The standard library's cross-platform abstractions have implementations for this target.
  • This target has debug info capabilities and therefore produces stack traces on failed assertions and crashes.
  • The CI machines automatically build and test this target on every commit to the master branch.

Targets

Tier 3

Criteria

  • The compiler can generate machine code for this target by relying on an external backend such as LLVM.
  • The linker can produce object files, libraries, and executables for this target.

Targets

Tier 4

Criteria

  • The compiler can generate assembly source code for this target by relying on an external backend such as LLVM.
  • This target may be considered experimental by LLVM, in which case it is necessary to build LLVM and Zig from source to be able to use it.

Targets

Unsupported

Criteria

  • These are targets that Zig has either chosen to never add support for, or has dropped existing support for.

Targets

@alexrp alexrp added contributor friendly This issue is limited in scope and/or knowledge of Zig internals. enhancement Solving this issue will likely involve adding new logic or components to the codebase. tier system Issues that track the support tier for a platform. labels Apr 26, 2025
@alexrp alexrp added this to the 1.0.0 milestone Apr 26, 2025
@alexrp alexrp pinned this issue Apr 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
contributor friendly This issue is limited in scope and/or knowledge of Zig internals. enhancement Solving this issue will likely involve adding new logic or components to the codebase. tier system Issues that track the support tier for a platform.
Projects
None yet
Development

No branches or pull requests

1 participant