General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
Go to file
r00ster91 d6bd00e855 Zir: move set_cold from Inst.Tag to Inst.Extended
If I could mark a builtin function as cold, I would mark @setCold as cold.
We have run out of `Zir.Inst.Tag`s so I had to move a tag from Zir.Inst.Tag to
Zir.Inst.Extended. This is because a new noreturn builtin will be added and
noreturn builtins cannot be part of Inst.Tag:
```
/// `noreturn` instructions may not go here; they must be part of the main `Tag` enum.
pub const Extended = enum(u16) {
```

Here's another reason I went for @setCold:
```
$ git grep setRuntimeSafety | wc -l
322
$ git grep setCold | wc -l
79
$ git grep setEvalBranchQuota | wc -l
82
```

This also simply removes @setCold from Autodoc and the docs frontend because
as far as I could understand it, builtins represented using Zir extended
instructions are not yet supported because I couldn't find
@setStackAlign or @setFloatMode there, either.
2023-03-03 21:16:21 +01:00
.github CI: give x86_64-linux-release a little more time 2023-01-27 14:53:17 -07:00
ci Update std.Build to new module CLI, update zig1 and CMakeLists 2023-02-21 01:59:37 +00:00
cmake Merge pull request #13514 from kcbanner/windows_build_fixes 2023-01-05 17:26:32 -07:00
doc Merge pull request #14671 from ziglang/multi-object-for 2023-02-19 10:10:59 -05:00
lib Zir: move set_cold from Inst.Tag to Inst.Extended 2023-03-03 21:16:21 +01:00
src Zir: move set_cold from Inst.Tag to Inst.Extended 2023-03-03 21:16:21 +01:00
stage1 Merge pull request #14691 from jacobly0/ctype 2023-02-22 11:06:13 -05:00
test astgen: do not discard result location in for/while loops 2023-03-01 02:51:59 -05:00
tools tools: revert sharing of stage2 pretty printer info 2023-02-27 05:37:03 -05:00
.gitattributes update gitattributes and move test data into subdir 2022-12-18 16:28:30 -07:00
.gitignore std/build: change default install prefix to zig-out 2021-04-29 23:58:45 +02:00
build.zig std.Build.WriteFileStep: integrate with cache system 2023-02-23 01:08:23 -05:00
CMakeLists.txt compiler_rt: declutter int.zig, add mulXi3 tests (#14623) 2023-02-24 13:27:02 -05:00
LICENSE Happy new year! 🎉 (#14143) 2022-12-31 18:13:00 +00:00
README.md move some files to the .github directory 2022-03-24 12:22:23 -07:00

ZIG

A general-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.

Resources

Installation

License

The ultimate goal of the Zig project is to serve users. As a first-order effect, this means users of the compiler, helping programmers to write better software. Even more important, however, are the end-users.

Zig is intended to be used to help end-users accomplish their goals. Zig should be used to empower end-users, never to exploit them financially, or to limit their freedom to interact with hardware or software in any way.

However, such problems are best solved with social norms, not with software licenses. Any attempt to complicate the software license of Zig would risk compromising the value Zig provides.

Therefore, Zig is available under the MIT (Expat) License, and comes with a humble request: use it to make software better serve the needs of end-users.

This project redistributes code from other projects, some of which have other licenses besides MIT. Such licenses are generally similar to the MIT license for practical purposes. See the subdirectories and files inside lib/ for more details.