diff options
author | Araq <rumpf_a@web.de> | 2011-12-10 01:06:32 +0100 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2011-12-10 01:06:32 +0100 |
commit | af792da0bbee6e9587b8aafafcd8f898f8fe9fd4 (patch) | |
tree | 65d93113d605187b0dcbde0b26818e18da260a53 /doc | |
parent | 2962ca7890160e20796292320a3f56eccd00cc90 (diff) | |
download | Nim-af792da0bbee6e9587b8aafafcd8f898f8fe9fd4.tar.gz |
codegen uses alias analysis to generate better code
Diffstat (limited to 'doc')
-rwxr-xr-x | doc/manual.txt | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/doc/manual.txt b/doc/manual.txt index 164410a68..97af7fe2a 100755 --- a/doc/manual.txt +++ b/doc/manual.txt @@ -1584,6 +1584,11 @@ The implicit initialization can be avoided for optimization reasons with the var a {.noInit.}: array [0..1023, char] +If a proc is annotated with the ``noinit`` pragma this refers to its implicit +``result`` variable: + +.. code-block:: nimrod + proc returnUndefinedValue: int {.noinit.} = nil let statement @@ -2849,6 +2854,7 @@ exported. The algorithm for compiling modules is: - compile the whole module as usual, following import statements recursively + - if there is a cycle only import the already parsed symbols (that are exported); if an unknown identifier occurs then abort |