Aman Gupta
0679340b52
switch to bitsize:int
2015-09-29 14:39:20 -07:00
Aman Gupta
5e9ce88daf
implement bitsize pragma for bitfields
2015-09-28 14:34:36 -07:00
Araq
90d1ad4231
made disjoint checker smarter; fixes regressions
2015-09-23 21:46:32 +02:00
Araq
5b2f54ffa1
fixes #3313
2015-09-18 11:24:16 +02:00
Araq
612cd25d5d
usage of NimNode triggers .compileTime context; fixes #1679
2015-09-14 12:41:49 +02:00
Araq
2a797c362a
preparations for better handling of 'a[i]' in generics; stmt lists can be lvalues
2015-09-12 10:51:20 +02:00
Araq
ffe51966b9
fixes a critical codegen bug triggered by .async
2015-09-10 10:50:29 +02:00
Araq
dc047931bb
fixes #2590 ; methods now require a .base annotation
2015-09-06 02:31:28 +02:00
Yuriy Glukhov
790ef23c48
nimvm is magic
2015-09-04 20:50:29 +03:00
Araq
e733debec7
first implementation of write tracking and escape analysis; still disabled
2015-08-31 23:06:34 +02:00
Araq
695e2e970e
implemented macros.getImpl
2015-08-21 02:34:34 +02:00
Araq
b0b716fca7
fixes #3079 , fixes #1146 , fixes #2879
2015-07-22 16:32:56 +02:00
Jacek Sieka
e432de84a2
Linebreak TMagic by rough category
2015-07-12 21:49:33 +08:00
Araq
9a8de7f3a3
fixes #3054
2015-07-05 15:00:48 +02:00
Adam Strzelecki
1a0417fbe0
macros: Introduce sameType(a, b) for node types
...
Previously introduced node comparison `==` was working somehow wrong on nodes
returned from getType(a), comparing just ids of the symbols.
Recently introduced `==` change 47dce26886
started comparing symbol nodes pointer-wise, thus strictly. Since getType(a)
always creates new symbol pointing to the type, comparing two such nodes using
`==` always returns false, even they point to the same type.
That is why we need a new sameType macro to be able to tell if these nodes
point to the same type.
2015-07-03 11:11:10 +02:00
Araq
cabbcd411d
implements varargs[untyped]; refs #2545 ; to be documented
2015-07-02 16:18:11 +02:00
Araq
4afb8b8043
fixes #2935
2015-07-01 02:15:21 +02:00
Andreas Rumpf
e7bb37d12c
Merge pull request #2896 from r-ku/I64-magics-gone
...
I64 magics gone
2015-06-12 00:06:39 +02:00
Andreas Rumpf
cb439d70bc
Merge pull request #2892 from apense/patch-6
...
Fixes #2886 (moves compiler function into the compiler)
2015-06-10 10:55:31 +02:00
rku
87b6220897
Removed magics: mAbsI64
2015-06-10 10:25:36 +03:00
rku
3984fecae6
Removed magics: mBitnotI64
2015-06-10 10:25:36 +03:00
rku
47114342c4
Removed magics: mEqI64 mLtI64 mLeI64
2015-06-10 10:25:36 +03:00
rku
658dcd2a58
Removed magics: mShrI64, mShlI64, mBitandI64, mBitorI64, mBitxorI64
...
Author: rku <rokups@zoho.com >
2015-06-10 10:25:36 +03:00
rku
372a5d3cbb
Removed magics: mAddI64, mSubI64, mMulI64, mDivI64, mModI64
...
Author: rku <rokups@zoho.com >
2015-06-10 10:25:35 +03:00
apense
867b38496b
Moved negative indexing operator here
...
Only used here (not in standard library)
2015-06-09 16:24:13 -04:00
Adam Strzelecki
3d266433a7
securehash: Keep module name consistent
...
1. All other modules don't use underscore, why this should be different?
2. Wrap some imports to 80 column
2015-06-09 22:20:05 +02:00
Andreas Rumpf
25a1987517
Merge pull request #2780 from flaviut/cleanup-crc
...
Use SHA1 instead of CRC
2015-06-09 15:10:21 +02:00
Araq
a730a974ed
fixes #2854
2015-06-06 11:59:35 +02:00
Andreas Rumpf
f8326ad4c0
Merge pull request #2859 from nanoant/patch/norewrite-pragma
...
{.noRewrite.} pragma for term rewriting
2015-06-05 12:53:15 +02:00
pdw
9764ba933b
Dropped 'T' from types
2015-06-04 13:15:07 +02:00
Adam Strzelecki
13b57dbc2f
Introduce {.noRewrite.} expr pragma disabling TR
...
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"
2015-06-02 21:38:53 +02:00
yglukhov
1156e8ef9d
Minor cosmetic changes.
2015-05-26 11:32:07 +03:00
Flaviu Tamas
4873db4c72
Rename crc module to "secure_hash"
2015-05-23 13:17:19 -04:00
Araq
4be0d16520
added '..^' and '..<' operators; 'nil' is allowed for 'len'; added plugin system to the compiler
2015-04-22 12:04:11 +02:00
Araq
aacaa8f171
cleaned up some magics to make room for new magics; added '..<' and '..^' templates
2015-04-22 12:04:09 +02:00
Araq
e55f5d1fd4
fixes #2505 , fixes #1853 , fixes #2522
2015-04-20 21:25:49 +02:00
Araq
2b4e233510
Merge branch 'devel' of https://github.com/Araq/Nim into devel
2015-04-20 11:44:54 +02:00
Araq
751232dc7c
implements .goto support for variables
2015-04-19 02:42:40 +02:00
Zahary Karadjov
1ebf1aaa80
importing of C++ nested generics like std::vector<T>::iterator, using the apostrophe operator
2015-04-13 23:49:41 +03:00
Araq
a1b937ab33
fixes #1691
2015-04-11 10:01:11 +02:00
def
39049e151f
Get rid of deprecation warnings
2015-04-07 15:47:18 +02:00
Araq
78f371c03a
first implementation of overloading of '='; missing: rewriting let/var sections
2015-04-06 23:21:51 +02:00
Araq
a83286192f
GC-safety error messages are useful now
2015-04-04 01:19:32 +02:00
Araq
f767e1749e
don't store the scope for routines
2015-04-04 01:19:31 +02:00
Araq
ed0d9e271d
disallow negative indexing
2015-03-27 01:30:06 +01:00
Araq
5d63ecb3a4
implemented a[^1] notation
2015-03-26 02:12:38 +01:00
Araq
08c0ba379a
fixes #1805
2015-03-21 20:38:28 +01:00
Araq
5641be51c1
codegen doesn't produce line tracing commands anymore; fixes #1344
2015-03-21 20:38:27 +01:00
Araq
910ef7b2d1
'constructor' pragma for C++ support
2015-03-18 11:42:37 +01:00
Araq
bc264618f5
fixes #2257
2015-03-16 23:02:20 +01:00