Commit Graph

480 Commits (89763c9a0d9a838439bcc6cd996c0ff2d3d0daca)

Author SHA1 Message Date
Andrew Kelley b29241fc08
docs: update intro text 2019-04-16 14:23:58 -04:00
Duncan a43fd7a550 Add favicon to langref.html 2019-04-13 16:20:33 -04:00
Andrew Kelley e309ad884a
fix outdated/incorrect docs for `@truncate`
closes #2234
2019-04-10 23:00:53 -04:00
Jay Weisskopf 98fa065de7 docs: Underline link when hovering over it
In addition to the pointer, this gives some visual feedback to the user
that the element is interactive. This is a very common style pattern
across the web.
2019-04-09 00:31:25 -04:00
Andrew Kelley 974977f12f
docgen: add a space between the header and the section symbol 2019-04-05 23:12:25 -04:00
Andrew Kelley f6be6ace1f
docgen: allow urls to have numbers 2019-04-05 17:33:58 -04:00
Andrew Kelley a5b47bc2c2
docs: update `@typeInfo` definition and clarify field order 2019-04-05 12:38:15 -04:00
Jay Weisskopf 3cce56af99 docs: Use section symbol §, not paragraph symbol ¶
A header may cover more than one paragraph, so a section symbol is more appropriate. 

https://en.wikipedia.org/wiki/Section_sign
2019-04-05 11:09:38 -04:00
Andrew Kelley 7dd1e0fc2b
docs: add Variables section
closes #1927
2019-04-04 12:26:47 -04:00
Andrew Kelley 90b6eab05a
docs: complete the documentation for extern struct
closes #1522
2019-04-04 01:23:41 -04:00
Andrew Kelley b60f2d0c9f
langref: rework the theming and layout
* Instead of the only color scheme being dark, the language reference
   now has a light theme by default, and respects the user's light/dark
   preference via prefers-color-scheme media query. Most browsers don't
   support this yet, so we just have to wait patiently for the future to
   arrive. closes #2172.

 * Instead of a side bar index, the index is inline with the rest of the
   content. This is simpler and more friendly to all user agents, and means
   we don't need the media query for mobile devices. It also makes
   back-references work, so now headers link to the table of contents
   and the table of contents links to headers.
2019-04-03 17:39:07 -04:00
Andrew Kelley 5aee17e888
regression fixes and fix packed struct abi size 2019-04-02 18:31:19 -04:00
MateuszOkulus 62af701804 Remove binary and octal float literals from documentation.
Part of #2093
2019-03-31 10:49:55 -04:00
Andrew Kelley 5eaead6a56
implement allowzero pointer attribute
closes #1953

only needed for freestanding targets.

also adds safety for `@intToPtr` when the address is zero.
2019-03-25 12:55:45 -04:00
Andrew Kelley 64dddd7afe
add compile error for ignoring error
closes #772
2019-03-23 19:33:00 -04:00
Andrew Kelley 4d50bc3f8d
add peer type resolution for `*const T` and `?*T`
closes #1298
2019-03-23 18:48:12 -04:00
Andrew Kelley 89953ec83d
character literals: allow unicode escapes
also make the documentation for character literals more clear.
closes #2089

see #2097
2019-03-23 17:35:21 -04:00
Andrew Kelley 55cb9ef138
docs: clarify NaN, inf, -inf
closes #2089
2019-03-23 15:25:38 -04:00
Matt Stancliff 1ca78e39e4 Fix typos around pointer usage 2019-03-22 14:10:17 -04:00
Jimmi Holst Christensen 23af502d04 Updated langref to newest grammar 2019-03-22 09:01:30 +01:00
Andrew Kelley 246304125a
add documentation for zig test
closes #1518
2019-03-20 23:50:22 -04:00
Andrew Kelley 15c316b0d8
add docs for assembly and fix global assembly parsing
Previously, global assembly was parsed expecting it to have
the template syntax. However global assembly has no inputs,
outputs, or clobbers, and thus does not have template syntax.
This is now fixed.

This commit also adds a compile error for using volatile
on global assembly, since it is meaningless.

closes #1515
2019-03-20 19:00:23 -04:00
Andrew Kelley 3c36929603
zig targets prints the available libcs 2019-03-19 15:04:29 -04:00
Andrew Kelley 567175f833
add documentation for Memory
closes #1904
2019-03-18 21:40:24 -04:00
Andrew Kelley 080dd27157
breaking: fix @typeInfo handling of global error set type
`builtin.TypeInfo.ErrorSet` is now `?[]Error`
instead of `struct{errors:[]Error}`.

closes #1936
2019-03-14 11:57:56 -04:00
Andrew Kelley 85d0f0d45b
fix @setRuntimeSafety not able to override release modes 2019-03-13 14:46:53 -04:00
Andrew Kelley 0588fed15f
add documentation for `pub`
closes #1727
2019-03-13 13:05:23 -04:00
Andrew Kelley 4e40bd8633
add documentation for @"" syntax
closes #1614
2019-03-13 12:01:32 -04:00
Andrew Kelley 1a94dec50e
docs: finish initial documentation for implicit casts
closes #1514
2019-03-11 19:34:58 -04:00
Andrew Kelley 3ff0e8bd96
Revert "docgen: --cache off for tests"
This reverts commit 0a8a7a57e7.

This workaround is no longer necessary.
2019-03-11 10:35:42 -04:00
Andrew Kelley 918dbd4551
std.zig: `this` is no longer a keyword 2019-03-10 15:55:54 -04:00
Andrew Kelley 0a8a7a57e7
docgen: --cache off for tests 2019-03-09 11:29:15 -05:00
Andrew Kelley 94e52dba85
fix docgen and fix unnecessarily adding .root suffix to objects 2019-03-09 01:00:45 -05:00
Andrew Kelley 91955dee58
breaking changes to zig build API and improved caching
* in Zig build scripts, getOutputPath() is no longer a valid function
   to call, unless setOutputDir() was used, or within a custom make()
   function. Instead there is more convenient API to use which takes
   advantage of the caching system. Search this commit diff for
   `exe.run()` for an example.
 * Zig build by default enables caching. All build artifacts will go
   into zig-cache. If you want to access build artifacts in a convenient
   location, it is recommended to add an `install` step. Otherwise
   you can use the `run()` API mentioned above to execute programs
   directly from their location in the cache. Closes #330.
   `addSystemCommand` is available for programs not built with Zig
   build.
 * Please note that Zig does no cache evicting yet. You may have to
   manually delete zig-cache directories periodically to keep disk
   usage down. It's planned for this to be a simple Least Recently
   Used eviction system eventually.
 * `--output`, `--output-lib`, and `--output-h` are removed. Instead,
   use `--output-dir` which defaults to the current working directory.
   Or take advantage of `--cache on`, which will print the main output
   path to stdout, and the other artifacts will be in the same directory
   with predictable file names. `--disable-gen-h` is available when
   one wants to prevent .h file generation.
 * `@cImport` is always independently cached now. Closes #2015.
   It always writes the generated Zig code to disk which makes debug
   info and compile errors better. No more "TODO: remember C source
   location to display here"
 * Fix .d file parsing. (Fixes the MacOS CI failure)
 * Zig no longer creates "temporary files" other than inside a
   zig-cache directory.

This breaks the CLI API that Godbolt uses. The suggested new invocation
can be found in this commit diff, in the changes to `test/cli.zig`.
2019-03-08 23:23:11 -05:00
Andrew Kelley f7835000b6
@returnAddress and @frameAddress return usize now 2019-03-02 15:34:58 -05:00
Sahnvour 4bac22e888 all integers returned by @typeInfo are now comptime_int 2019-03-02 14:27:37 -05:00
Andrew Kelley e8dad62441
fix docs typo 2019-03-01 17:23:27 -05:00
Andrew Kelley 5424b4320d
remove namespace type; files are empty structs
closes #1047
2019-02-28 10:11:32 -05:00
Andrew Kelley 22dd0db9bf
improve docs for unions and switching on tagged unions
closes #1943
2019-02-26 22:57:01 -05:00
Andrew Kelley ade10387a5
breaking changes to the way targets work in zig
* CLI: `-target [name]` instead of `--target-*` args.
   This matches clang's API.
 * `builtin.Environ` renamed to `builtin.Abi`
   - likewise `builtin.environ` renamed to `builtin.abi`
 * stop hiding the concept of sub-arch. closes #1526
 * `zig targets` only shows available targets. closes #438
 * include all targets in readme, even those that don't
   print with `zig targets` but note they are Tier 4
 * refactor target.cpp and make the naming conventions
   more consistent
 * introduce the concept of a "default C ABI" for a given
   OS/Arch combo. As a rule of thumb, if the system compiler
   is clang or gcc then the default C ABI is the gnu ABI.
2019-02-26 15:58:10 -05:00
Andrew Kelley aab8e13529
add docs for zero bit types and pointers to zero bit types
closes #1561
2019-02-25 18:31:37 -05:00
Andrew Kelley d0c39895aa
docs for packed structs
closes #1513
2019-02-22 10:56:49 -05:00
Andrew Kelley 0c5f897904
fix `@bitCast` when src/dest types have mismatched handle_is_ptr
* separate BitCast and BitCastGen instructions
 * closes #991
 * closes #1934
 * unrelated: fix typo in docs (thanks gamester for pointing it out)
2019-02-22 08:49:27 -05:00
John Schmidt 99adda9df5 Some function doc tweaks (#1961)
* Add docs for the inline function attribute

* Remove outdated comment

Seems like a leftover from when implicit returns were around.

* Consistent terminology
2019-02-18 17:53:41 -05:00
Andrew Kelley 043090020f
docs: shadowing
closes #1245
2019-02-18 17:49:26 -05:00
Andrew Kelley 8922008dec
docs: note top level declarations are order-independent
closes #1244
2019-02-18 17:41:55 -05:00
Andrew Kelley 7a84fe79b9
pull request fixups 2019-02-18 13:05:26 -05:00
emekoi 9b3013d2f6
make @enumToInt work on union(enum)
closes #1711
2019-02-18 11:43:45 -05:00
Andrew Kelley 7293e012d7
breaking: fix @sizeOf to be alloc size rather than store size
* Fixes breaches of the guarantee that `@sizeOf(T) >= @alignOf(T)`
 * Fixes std.mem.secureZero for integers where this guarantee previously
   was breached
 * Fixes std.mem.Allocator for integers where this guarantee previously
   was breached

Closes #1851
Closes #1864
2019-02-15 18:05:50 -05:00
Andrew Kelley 973a93d43b
add docs for C pointers 2019-02-14 19:03:04 -05:00