| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| | |
* 'devel' of https://github.com/Araq/Nim:
Fix #964, fix #1384
Don't inspect typedescs
|
| |\
| | |
| | | |
Resolve base type fields in `[](TAny, string)`
|
| | | |
|
| |\ \
| | | |
| | | | |
Use builtin overflow functions of Clang and GCC (WIP, RFC)
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
of recent Clang and GCC >= 5.0.
Maybe it's better that it's optional after all. GCC's code with builtin
overflow checks seems to be a bit slower actually, while Clang's is 3
times faster.
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This only works with recent Clang and GCC 5.0.
Currently it doesn't work because __has_builtin can't be defined.
This is totally ugly. But we can't reliably detect whether we can use
the builtins from Nim, especially with cross-compiling where the user
may be using an older compiler version. Switching this on/off manually
with a define seems weird as well, this should work automatically.
|
| |\ \
| | | |
| | | | |
shorten lowerBound in algorithm.nim
|
| | | | |
|
| |\ \ \
| | | | |
| | | | | |
Fixes #2584
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Better compiler errors for accessing undeclared fields, calling undeclared
procedures and procedure fields.
|
| |\ \ \ \
| | | | | |
| | | | | | |
Some fixes from the recent `T` renaming
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | |/ / / |
|
| |\ \ \ \
| | | | | |
| | | | | | |
Bring back (again) bootstrap.sh executable bit
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Reverts "bootstrap.sh: cannot keep exec bit on windows" commit
2d2eca18b8c326f1e3ea9101d00b3370c8c5c290.
We do not need to remove executable bits to workaround old msysGit bug that
shows files having executable bits as modified.
This can and should be addressed by msysGit user either by using latest version
that will treat `bootstrap.sh` as having executable bit because of UNIX Shebang
presence, or setting Git config's `core.fileMode` to false.
See:
http://stackoverflow.com/questions/12193020/file-mode-with-msysgit
http://www.grumpydev.com/2011/01/19/switching-from-cygwin-to-msysgit-git-thinks-everything-has-been-modified/
Quoting Git manual:
core.fileMode
If false, the executable bit differences between the index and the
working copy are ignored; useful on broken filesystems like FAT.
See git-update-index(1). True by default.
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| |\ \ \ \ \
| | |/ / / /
| |/| | | | |
|
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
boopcat-exportnewsocket
Conflicts:
lib/pure/asyncnet.nim
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Exporting newSocket(fd) mimics what asyncnet does and lets you pass in your
own socket FD.
newSocket*(fd) and newAsyncSocket*(fd) now both take "buffered" instead of
"isBuff" and defaults to true to match the other constructors on both.
|
| |\ \ \ \ \
| | | | | | |
| | | | | | | |
Perform lambda lifting for compile-time stuff when targeting JS.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
unittest test.
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
{.noRewrite.} pragma for term rewriting
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Previously pragmas could be attached only to whole statements, this change
allows attaching pragmas to inline statements, eg.:
template rewriteAdd{a + b}(a: expr, b: expr): expr =
({.noRewrite.}: a + b) + 1
Code above will cause a + b to be rewritten once, because rewriteAdd attaches
{.noRewrite.} to resulting a + b expr.
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Term rewriting macros/templates are currently greedy and they will rewrite as
long as there is a match. So there was no way to ensure some rewrite happens
only once, eg. when rewriting term to same term plus extra content.
With new macro we can actually prevent further rewriting on marked expr or
stmts, eg. with given example echo(...) will be rewritten just once:
template pwnEcho{echo(x)}(x: expr) =
{.noRewrite.}: echo("pwned!")
echo "ab"
|
| |\ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
Fixup: Reverted TZipFileStream name change
|
| |/ / / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
This fixes broken b0469c11e334e96cebe53cbe804b6a877831c85a that incompletely
reverted TZipFileStream name change.
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| |\ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
Fixed Error hierarchy links in manual
|
| |/ / / / / / /
| | | | | | | |
| | | | | | | | |
Manual contained invalid links
|
| |\ \ \ \ \ \ \
| | |_|_|_|/ / /
| |/| | | | | | |
Fixed code indentation in procs.txt
|
| |/ / / / / /
| | | | | | |
| | | | | | | |
Now matches tut2.txt
|
| | | | | | | |
|
| | | | | | | |
|