Andreas Rumpf
740c07ead4
fixes a codegen bug: in 'result = f(result)' the default initialization for 'result' IS required
2017-10-09 21:12:40 +02:00
Andreas Rumpf
1a61c4d46d
first implementation of the 'func' keyword
2017-09-23 23:22:53 +02:00
Andreas Rumpf
405b9c8a85
refactoring: TLoc knows the node it originated from; it is planned to use this to produce better C code (move optimizations)
2017-09-21 14:38:45 +02:00
Andreas Rumpf
a04c7d8b38
introduce OnHeapNew and rename TLoc.s to TLoc.storage
2017-09-21 11:38:04 +02:00
Zahary Karadjov
c446806f75
improve the debugging experience when line directives are used
2017-09-04 18:17:22 +03:00
Andreas Rumpf
920f4acadf
fixes #6279
2017-08-29 00:33:46 +02:00
Araq
9cbb4c3f85
fixes #5989
2017-07-17 08:24:34 +02:00
Markus F.X.J. Oberhumer
963679389c
cgen: #undef some more predefined symbols. ( #5831 )
...
This is a followup to issue #5171 .
2017-06-13 10:12:23 +02:00
zah
39aef12446
review and merge zahary's work ( #5849 )
...
* proper indentation for the generated JS code
* improved dead-code elimination for JavaScript
* test the JS dead-code elimination
A new test spec has been added - "maxcodesize". It specifies the
maximum size of the generated code in bytes.
2017-06-03 12:45:10 +02:00
Jacek Sieka
ba4cc4bf35
a few tiny cleanups ( #5712 )
...
exposes emitLazily (for nlvm) and simplifies some conditionals
2017-05-29 09:42:26 +02:00
Markus F.X.J. Oberhumer
8d3f477fad
Create correct C protoypes in genMainProc. ( #5822 )
...
This avoids a -Wstrict-prototypes warning in the generated C file.
2017-05-16 21:04:12 +02:00
Andreas Rumpf
7b1568d19c
make -d:nimdiff feature more robust
2017-04-26 10:27:42 +02:00
Emery Hemingway
7e351fc7fa
support for the Genode OS framework ( #5560 )
2017-03-31 23:13:06 +02:00
Araq
93f0f1c6e4
fixes #5598
2017-03-23 16:43:21 +01:00
Araq
46b672a6c4
minor codegen bugfix: don't use names for closures that are also mangled Nim names
2017-02-26 17:41:00 +01:00
Araq
fb37d13f46
fixes #5439
2017-02-26 17:41:00 +01:00
Andreas Rumpf
46f33515d7
Merge branch 'devel' into faster-nimsuggest
2017-02-24 01:28:50 +01:00
Arne Döring
92c2a51bf7
removed compiler internal list implementation ( #5371 )
2017-02-22 17:33:12 +01:00
Andreas Rumpf
46efaf294b
big compiler refactoring; avoid globals for multi method dispatcher generation
2017-02-22 16:27:52 +01:00
Araq
57874ed9b8
C++ codegen: emit 'extern C' for importc'ed functions that we declare a prototype for
2017-02-14 14:39:53 +01:00
Andreas Rumpf
848676cec6
name mangling bugfixes; ndi file generation for debugger support
2017-02-03 09:49:36 +01:00
Andreas Rumpf
fab69661ad
new name mangling rules for easier debugging
2017-02-02 16:27:48 +01:00
Andreas Rumpf
56aa1ac5bc
new name mangling scheme implemented
2017-02-02 10:30:01 +01:00
Andreas Rumpf
f04d21f279
refactoring: explict config state instead of globals
2017-02-01 23:39:40 +01:00
Araq
03a1c3b077
.compile pragma supports patterns and actions
2017-01-28 08:54:53 +01:00
Araq
9c47bb9cc0
happy new year
2017-01-07 22:35:09 +01:00
Araq
5c08ca7ed2
make Nim compiler compile with 0.15.2
2017-01-07 02:43:31 +01:00
Araq
9c0319d211
fixes #5171
2017-01-03 17:06:31 +01:00
Andreas Rumpf
22ce05ef16
fixes recently introduced regression
2016-12-21 12:15:47 +01:00
Andreas Rumpf
d2fe857f94
fixes #5136
2016-12-21 11:38:33 +01:00
Araq
237252f90c
Merge branch 'devel' into sighashes
2016-12-19 11:35:45 +01:00
Araq
91935fd915
fixes #4308 , fixes #4905
2016-12-18 20:21:50 +01:00
Araq
bf1f1eab1f
revert line info generation change; produces worse results for other cases
2016-12-18 01:58:16 +01:00
Araq
31bc063f2d
significantly better stack traces when templates are involved
2016-12-18 00:08:11 +01:00
Araq
71a23fbbb7
sighashes: do not use the ID mechanism at all
2016-12-13 09:22:20 +01:00
Andreas Rumpf
0d6f4f1bb1
implements -d:nimdiff switch for seeing generated C code diffs
2016-12-06 10:05:22 +01:00
Araq
ba38b83dd5
refactoring: C codegen with fewer global variables
2016-12-05 12:14:24 +01:00
Araq
42ae2064dd
more tests work
2016-12-02 11:44:28 +01:00
Araq
2eee15d7f3
Merge branch 'devel' into sighashes
2016-12-01 10:06:41 +01:00
Yuriy Glukhov
a80a0972b7
Fixed dynlink with OpenSSL >1.1.0. Added loadLibPattern.
2016-11-30 17:16:54 +02:00
Andreas Rumpf
e7cdb1d694
attempt to fix things
2016-11-23 14:24:45 +01:00
Araq
0e1304a3e2
the compiler uses tyAlias internally; tester compiles again
2016-11-16 00:13:45 +01:00
Araq
e6c5622aa7
removed tyArrayConstr completely from the compiler; introduced tyAlias instead in preparation for further bugfixes
2016-11-14 23:18:30 +01:00
Araq
860cbd3107
signature hashing: more progress
2016-11-11 08:58:42 +01:00
Araq
3b43cff0f8
C codegen: first version of signature hashing for better incremental builds
2016-11-08 08:37:11 +01:00
Araq
9e6fb3f696
new dependency tracking for nimsuggest
2016-11-05 01:19:23 +01:00
Araq
29db0d8585
refactoring complete: explicit ident cache
2016-10-31 19:47:20 +01:00
cheatfate
29d31edc0b
Generate NimMainModule name for main module.
2016-10-26 14:00:30 +03:00
andri lim
c0470edc4c
fixes #4840
2016-10-03 19:14:27 +07:00
Andreas Rumpf
259daf98cf
fixes thread vars of non-global visibility
2016-09-12 23:04:19 +02:00