Commit Graph

2608 Commits

Author SHA1 Message Date
Araq
1da251523f added 'nim*Setjmp' conditional symbols 2014-10-05 02:22:48 +02:00
Araq
fc47c0edc7 Merge branch 'devel' of https://github.com/Araq/Nimrod into bigbreak
Conflicts:
	lib/impure/db_postgres.nim
	lib/pure/os.nim
	lib/wrappers/postgres.nim
2014-10-04 19:40:23 +02:00
Araq
4616a1e006 updated some tests 2014-10-04 14:23:17 +02:00
Araq
e65c296bcc implemented mixed mode codegen 2014-10-03 01:21:35 +02:00
Araq
595cc93762 recursive tuple types are now invalid (breaking change) 2014-10-02 16:54:05 +02:00
Araq
279e897eab bugfix: 'T = ref T' is an illegal recursive type 2014-10-02 16:15:16 +02:00
Araq
62ccf13529 'try' works at compile-time 2014-10-02 15:55:48 +02:00
Araq
2475794a75 fixes a minor bug when 'type' is used in a wrong way 2014-10-02 11:10:43 +02:00
Araq
4298553de4 system.writeFile works at compile-time 2014-10-02 10:52:32 +02:00
Araq
c99ec16544 deprecated string case statements without 'else' 2014-10-02 10:08:41 +02:00
Araq
e9dec2feed better lock level handling 2014-10-02 02:33:14 +02:00
Andreas Rumpf
c17c8e9afa Merge pull request #1545 from rbehrends/setjmp-perf
Improve setjmp()/longjmp() performance.
2014-10-02 01:35:59 +02:00
Clay Sweetser
55c78af9c0 Fixes #1529 2014-10-01 18:14:06 -04:00
Varriount
93d55c077f Updated Version Number 2014-09-28 15:47:09 -04:00
Varriount
b234d311d4 Disable git hashing in the version command 2014-09-28 15:35:35 -04:00
Araq
dcaba49c3f deprecated '#[' comments for future multi-line comment feature 2014-09-28 13:38:26 +02:00
Reimer Behrends
cb6441e73d Use _setjmp()/_longjmp() only on BSD-like systems for now. 2014-09-27 18:05:30 +02:00
Araq
d576fbb39a implemented locking levels; still incomplete 2014-09-27 15:06:06 +02:00
Araq
1088814e56 deepCopy is instantiated when its corresponding type is instantiated 2014-09-26 09:36:09 +02:00
Reimer Behrends
f99c40f61b Improve setjmp()/longjmp() performance.
Exception handling for the C backend used setjmp()/longjmp()
unconditionally. However, on POSIX systems, these functions save and
restore the signal mask, adding considerable overhead to exception
handling, even where no exceptions are involved. The compiler and
library now try to use either _setjmp()/_longjmp() or
sigsetjmp()/siglongjmp() where possible, marked by the defines
"nimRawSetjmp" and "nimSigSetjmp", respectively. The define
"nimStdSetjmp" can be used to revert to setjmp()/longjmp() instead.
2014-09-25 23:29:02 +02:00
Araq
8930ba50b9 'let' within 'parallel' now works 2014-09-22 08:34:05 +02:00
Araq
3866820eee made some tests green 2014-09-21 23:57:54 +02:00
Araq
7916b1f9aa implemented 'guard' annotation 2014-09-21 18:39:00 +02:00
Reimer Behrends
80356f1cc7 Avoid unnecessary #include triggered by importc vars.
When a C variable or macro is imported via an {.importc.} var or
let statement, but no definition is needed and the variable does
not have an initializer part, then there is also no need to generate
an #include for the associated header until and unless the variable
is actually used. The header is already generated upon use, but
unnecessarily also when the variable is defined.

This is an issue with the posix module in particular, where a lot
of unnecessary header files are being included because relevant
constants are defined via importc vars, and those header files
may not even be available on a given system.

This patch omits the generation of the #include directive for those
definitions where they aren't needed.
2014-09-19 03:34:00 +02:00
Araq
45accd613b 'nim i' should work again 2014-09-18 09:56:13 +02:00
Araq
02c076f9b4 more robust for nim check 2014-09-17 23:13:38 +02:00
Araq
611d5d7766 improvements for nimfix 2014-09-17 01:45:27 +02:00
Araq
344488fa0d ttypeclasses works again 2014-09-17 01:35:46 +02:00
Araq
297647affe fixes a recently introduced regression 2014-09-16 22:49:10 +02:00
Araq
113a1c450c generic proc type works again 2014-09-14 14:38:11 +02:00
Araq
d330a72a45 fixes documentation generator 2014-09-14 11:34:06 +02:00
Araq
838871b4d9 resolved conflict 2014-09-13 17:59:37 +02:00
Araq
e24996de7c minor changes to manual.txt 2014-09-13 17:53:35 +02:00
Dominik Picheta
d28088f0f5 Fix 'doc' command. 2014-09-13 16:09:54 +01:00
Araq
9d9c3fe121 merged things from devel 2014-09-12 01:37:48 +02:00
Araq
1791ab6385 fixes #665 2014-09-11 19:54:49 +02:00
Araq
c73142d852 fixes #1067 2014-09-11 10:02:45 +02:00
Araq
ff55c487b6 mostly fixes #1339 2014-09-11 09:57:33 +02:00
Araq
46bbae4745 fixes #1366 2014-09-11 09:53:00 +02:00
Araq
dafa8ccaf3 fixes #903, fixess #1513 2014-09-11 01:45:14 +02:00
Araq
b7f8dbbec2 fixes #1511 2014-09-11 00:45:29 +02:00
Araq
e766c7c3cd minor bugfix for void .compileTime procs 2014-09-11 00:36:31 +02:00
Araq
2c99991d16 fixes #1444 2014-09-11 00:34:59 +02:00
Araq
9500780037 renamed URLencode to encodeUrl 2014-09-10 23:25:29 +02:00
Araq
758d8e11d9 Merge branch 'bigbreak' of https://github.com/Araq/Nimrod into bigbreak 2014-09-10 22:56:26 +02:00
Araq
22fb9db845 nimfix improvements 2014-09-10 20:34:33 +02:00
Araq
c5dbcb548f improvements for nimfix 2014-09-10 09:48:18 +02:00
Araq
569fbe8c37 'pretty' command does not exist anymore; improvements for nimfix 2014-09-10 02:19:46 +02:00
Reimer Behrends
f9c46b04a6 Properly handle staticExec() generating large output.
A staticExec() invocation that generated more than the internal
buffer size worth of output blocked because the compiler waited
for the process to terminate before reading the output.
2014-09-10 01:22:20 +02:00
Dominik Picheta
4d2ff282f6 Fix case issues in compiler/docgen. 2014-09-10 00:09:59 +01:00