cooldome
d24b6667c6
genTryCpp to catch by Nim type, ready for first review ( #7196 )
...
* Rewrite genTryCpp
* correction
* Implement polymorphic raise in cpp
* revert backticks in emit
* Cleanp a comment
* revert test changes
* better handling of <new> header
2018-02-12 21:23:34 +01:00
Andreas Rumpf
358709e9cb
fixes #6960
2018-02-11 13:55:56 +01:00
Andreas Rumpf
70e8640244
move new sha1 module into the new 'std' namespace
2018-02-06 17:40:31 +01:00
Andreas Rumpf
274fafb2df
fixes #6961
2018-02-02 17:35:04 +01:00
Andreas Rumpf
a605fa8ba6
fixes #7129
2018-01-30 19:51:38 +01:00
Andreas Rumpf
51c45c7201
symbol files: introduce more switches for debugging
2018-01-07 12:21:42 +01:00
Andreas Rumpf
3ae434a086
symbol files: do not regenerate method dispatchers for now
2018-01-04 21:08:34 +01:00
Araq
720c73e6d5
symbol files: fixes the logic for multi-methods
2018-01-03 02:36:29 +01:00
Araq
ee67a67ac4
first steps in adding template/macro calls to stack traces
2017-12-21 10:03:33 +01:00
Bernhard M. Wiedemann
49320add23
Do not include date in binaries ( #6581 )
...
and do not claim copyright for 2018
in order to make nim package builds reproducible.
See https://reproducible-builds.org/ for why this is good.
2017-11-18 14:46:19 +01:00
Kartik Saranathan
06a6347929
Fix incorrect signature for nimLoadProcs when using cpp backend ( #6699 )
2017-11-07 23:48:03 +01:00
Andreas Rumpf
70ea45cdba
deprecated unary '<'
2017-10-29 08:37:13 +01:00
Andreas Rumpf
c6235920cb
backend preparations for incomplete/forwarded object types
2017-10-28 13:46:43 +02:00
Emery Hemingway
2ca7b703fb
No implicit quit for Genode ( #6515 )
2017-10-25 13:50:55 +02:00
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