Andreas Rumpf
61d9292095
fixes merge conflict
2018-06-11 01:25:48 +02:00
Emery Hemingway
22f714585b
Native access to Genode environment
...
Add a 'GenodeEnv' type and a 'componentConstructHook' to the system
module. The 'componentConstructHook' allows for detection of POSIX style
programs that exit implicitly or native Genode components that
initialize to serve RPC requests and OS signals.
This hook takes a 'GenodeEnv' argument so that the environment interface
is passed cleanly to application code after globals are initialized.
This is an typed pointer to a C++ object, procedures for accessing the
environment will be available from a Nimble library and not included in
the standard library.
The standard library has an internal pointer to the environment object
but this is not for external use, the undocumented global environment
pointer has been removed.
2018-06-07 07:21:20 +02:00
Andreas Rumpf
12996c08a1
fixed merge conflict
2018-06-04 16:16:50 +02:00
Andreas Rumpf
826c1e2d78
incremental compilation: implemented basic replay logic
2018-06-02 09:41:27 +02:00
Oscar Nihlgård
eb8f15d97c
Support multi byte characters in module names ( #7916 )
2018-05-31 10:38:43 +03:00
Andreas Rumpf
61fb83ecbb
baby steps for incremental compilation
2018-05-30 23:50:34 +02:00
Andreas Rumpf
669a564492
remove more global variables in the Nim compiler
2018-05-27 11:10:56 +02:00
Andreas Rumpf
cb6a4ffa86
Merge branch 'devel' into araq-big-refactoring
2018-05-21 17:31:23 +02:00
Andreas Rumpf
a4e2b0c153
platform.nim doesn't use globals anymore; prepare msgs.nim for not using globals
2018-05-18 15:18:00 +02:00
Andreas Rumpf
b2c7910fb6
compiler/ropes.nim has no global error handler anymore
2018-05-17 15:45:41 +02:00
Andreas Rumpf
bf6c2c5ccf
preparations of making compiler/msgs.nim free of global variables
2018-05-17 15:21:22 +02:00
Yuriy Glukhov
6c0185d4b7
Allow better optimisations by removing NOINLINE from module init procs
2018-05-16 19:56:30 +02:00
Araq
635451591d
extccomp: no globals anymore
2018-05-16 02:01:55 +02:00
Andreas Rumpf
328e7a1005
options.nim: no global variables anymore
2018-05-13 17:52:21 +02:00
Andreas Rumpf
297038f704
move more globals into the config object
2018-05-13 14:19:42 +02:00
Andreas Rumpf
1284827df2
C code generator compiles again
2018-05-12 23:45:51 +02:00
Andreas Rumpf
050789a8f4
sem pass compiles again
2018-05-12 21:30:42 +02:00
Andreas Rumpf
88cf6573e0
fixes #7743
2018-05-06 08:59:39 +02:00
Emery Hemingway
cda591a42f
Disable setTerminate when noCppExceptions is defined ( #7751 )
2018-05-04 07:40:40 +02:00
Jacek Sieka
72dfe176f5
remove dead code elimination option ( #7669 )
2018-04-23 11:02:38 +02:00
Andreas Rumpf
33b69f0ed0
refactoring: make FileIndex a distinct type; make line information an uint16; fixes #7654
2018-04-21 08:13:37 +02:00
AdrianV
0ce28d15cc
Nim namespace for cpp ( #7453 )
...
- new option --usenamespace to generate nim cpp code in its own namespace Nim
- minor changes for compatibility with the new Embarcadero = Borland C++-Builder (bcc)
2018-04-15 13:43:01 +02:00
Jacek Sieka
85e21158db
Cleanups 20180401 ( #7458 )
2018-04-12 17:35:10 +02:00
Andreas Rumpf
d837362216
C codegen: preparations for different seq and string implementations
2018-04-03 10:25:20 +02:00
Andreas Rumpf
37a3eb5170
make 'memset' calls more robust; refs #7341
2018-03-16 15:55:46 +01:00
andri lim
4f9f9ea528
fixes #7332 ( #7341 )
2018-03-16 15:32:01 +01:00
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