Commit Graph

4353 Commits

Author SHA1 Message Date
Andreas Rumpf
105a472dc5 Merge pull request #8084 from LemonBoy/fix-7905
Discriminate gensym'd type names in sigHash
2018-06-24 09:54:00 +02:00
LemonBoy
e39baf46fc Don't blow up with recursive objects 2018-06-22 19:47:44 +02:00
LemonBoy
af66258dca Discriminate gensym'd type names in sigHash
The root cause of #7905 lies in the codegen phase. The two template
instantiations generate two different MyType types with different
members but same t.sym.name leading the caching mechanism to confuse
the two.

Fixes #7905
2018-06-22 13:09:33 +02:00
Andreas Rumpf
6015749720 Merge pull request #8062 from LemonBoy/fix-7825
Fix constant folding for shl/not
2018-06-21 00:35:17 +02:00
Araq
1be82d96a6 nimpretty: bugfixes; refs #8078 2018-06-20 11:35:36 +02:00
Araq
9adfaa7f07 fixes #8076 2018-06-20 10:20:42 +02:00
Andreas Rumpf
0725003a8c nimpretty: fixes more reported issues 2018-06-20 00:56:29 +02:00
Andreas Rumpf
c3090fcb48 nimpretty: don't produce trailing whitespace; fixes the rendering of unary operators 2018-06-19 23:45:11 +02:00
LemonBoy
fb62dd1fae Fix constant folding for shl/not
Since the source and destination types are the same the result should be
trimmed to fit.
2018-06-19 22:32:15 +02:00
Andreas Rumpf
837d0c7270 nimpretty: proper command line handling; added tests; travis ensures these stay green 2018-06-19 20:06:04 +02:00
Andreas Rumpf
dd81d9d5b7 nimpretty improvements 2018-06-19 09:42:33 +02:00
Andreas Rumpf
98f3daea65 nimpretty: don't touch dense binary operators 2018-06-17 14:25:23 +02:00
Andreas Rumpf
c70706f4bd nimpretty: fixes pragma rendering 2018-06-17 14:15:42 +02:00
Andreas Rumpf
798a8bd45c Merge branch 'devel' of github.com:nim-lang/Nim into devel 2018-06-16 19:02:54 +02:00
Andreas Rumpf
dba26656f6 nimpretty: stuff that doesn't work 2018-06-16 19:02:47 +02:00
Andreas Rumpf
7819e63f77 nimpretty: more features 2018-06-16 09:53:36 +02:00
Andreas Rumpf
ee16e62061 Merge pull request #8039 from yglukhov/proc-pragmas
Fixed stacktrace/linetrace proc pragmas when appended by macro pragma
2018-06-16 01:59:06 +02:00
Andreas Rumpf
97398edc05 nimpretty: render and/or/notin/in properly 2018-06-16 01:58:52 +02:00
Andreas Rumpf
a1bd4a6cbd nimpretty: first version that seems useful for others to test it 2018-06-16 01:46:39 +02:00
Yuriy Glukhov
951157a4e9 Fixed proto options 2018-06-15 12:54:59 +03:00
Andreas Rumpf
f1d5e9090e Merge pull request #8021 from yglukhov/seq-lit
Added NIM_STRLIT_FLAG to seq literals
2018-06-14 17:38:12 +02:00
Araq
1578d222e2 implements pkg/ prefix to enforce searching for the module ignore the stdlib paths; refs #7250 2018-06-14 16:12:02 +02:00
Yuriy Glukhov
466af35d4d Fixed stacktrace/linetrace proc pragmas when appended by macro pragma 2018-06-14 15:48:51 +03:00
Yuriy Glukhov
dd06c46865 Fixed uncaught exception in vm gen 2018-06-13 15:39:45 +03:00
Andreas Rumpf
5348fef003 implements a --nep1:on switch to make the compiler enforce the naming conventions outlined in NEP-1 2018-06-13 01:44:19 +02:00
Andreas Rumpf
f555338ce8 bugfix: allow 'export' in the VM 2018-06-12 21:08:41 +02:00
Andreas Rumpf
b379547fc0 Merge pull request #8019 from yglukhov/proc-stacktrace
Allow stacktrace and linetrace pragmas on procs
2018-06-12 17:12:13 +02:00
Andreas Rumpf
aaceec0744 Merge pull request #7981 from cooldome/Fix_-7980
Fixes 7980
2018-06-12 11:50:40 +02:00
Yuriy Glukhov
7a4b343d8d Added NIM_STRLIT_FLAG to seq literals 2018-06-12 12:39:54 +03:00
Yuriy Glukhov
7e7b85afc7 Allow stacktrace and linetrace pragmas on procs 2018-06-12 12:31:14 +03:00
cooldome
44d82d9492 style improvements 2018-06-12 09:17:24 +01:00
cooldome
746da12d74 add comment 2018-06-12 00:22:11 +01:00
cooldome
1b7cf3df51 New approach 2018-06-12 00:20:08 +01:00
Andreas Rumpf
1c58f31a71 Merge pull request #8014 from yglukhov/fix-6803
Fixes #6803
2018-06-11 23:39:27 +02:00
LemonBoy
ac0f986008 Correct field lookup in concept types
Fixes #6770
2018-06-12 00:36:43 +03:00
Yuriy Glukhov
8f06763491 Fixes #6803 2018-06-11 22:38:40 +03:00
Araq
1074cc1fb9 fixes yet another merge conflict 2018-06-11 17:17:34 +02:00
Araq
b0ecc1aca6 disable -d:nimIncremental for devel 2018-06-11 17:08:25 +02:00
Araq
68ba13c759 fixes merge conflict 2018-06-11 17:05:23 +02:00
Andreas Rumpf
76676cb79f Merge pull request #8009 from yglukhov/remove-oldIterTransf
Removed oldIterTranf feature
2018-06-11 16:45:35 +02:00
Andreas Rumpf
26133a33a4 make tests green properly 2018-06-11 07:18:34 +02:00
Andreas Rumpf
df1784dabf Merge pull request #8005 from Vindaar/fixes-7997
fix #7997
2018-06-11 01:33:14 +02:00
Andreas Rumpf
61d9292095 fixes merge conflict 2018-06-11 01:25:48 +02:00
Andreas Rumpf
61e1897922 make tests green again 2018-06-11 01:23:14 +02:00
Andreas Rumpf
90b1030dec incremental compilation: save the configuration 2018-06-11 00:14:29 +02:00
Yuriy Glukhov
5c449c8cd1 Removed oldIterTranf feature 2018-06-10 23:42:53 +03:00
Zahary Karadjov
5f2cdcd4fa fix #7653 2018-06-10 22:27:51 +03:00
Andreas Rumpf
8db27d30e6 record cppdefine for incremental compilation 2018-06-10 18:05:43 +02:00
Vindaar
4ab6dd51b0 fix #7997
Fixes issue #7997, which was caused by an export of a `release` proc
in `locks`. Thus the `release` in `defined(release)` of the `ifDebug`
template, was of kind `nkSym` instead of `nkIdent`.

We fix this by getting the `PIdent` of the argument to `defined` using
`considerQuotedIdent`.
This has the nice property of also checking for a valid identifier for
us. E.g. `defined(123)` would fail with
```
Error: in expression 'defined(123)': identifier expected, but found
'123'
```

The `localError` is removed, due to a clear distinction between
`declared` and `defined` now.
2018-06-10 18:01:06 +02:00
Andreas Rumpf
2662d713f7 implement passL and passC for the compilation cache 2018-06-10 17:06:02 +02:00