Commit graph

469 commits

Author SHA1 Message Date
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