Commit Graph

1665 Commits

Author SHA1 Message Date
Araq
e8a0b45f2a proper development version number 2014-11-04 07:34:05 +01:00
Andreas Rumpf
0bfa26c213 Merge pull request #1609 from rbehrends/fix-method-dispatch
Fix method recursion bug.
2014-11-03 16:31:31 +01:00
Araq
621ead4110 only produce the link to the docs if they are installed 2014-11-03 00:57:31 +01:00
Reimer Behrends
ce9a57fcfd Fix dispatcher creation for method prototypes.
When method prototypes were involved (e.g. forward declarations
for mutual recursion), calls were sometimes dispatched to the
wrong method implementation. One of the reasons was that method
dispatchers were then not always attached to method ASTs in
the correct place.
2014-11-02 23:35:41 +01:00
Reimer Behrends
1fc8bab643 Reset location when creating a method dispatcher
When creating a method dispatcher, the location of the underlying
method was copied. Under some circumstances, the name of the
location (loc.r) was already initialized, in which case the
method dispatcher shared a name with one of the methods, leading
to a C compiler error. By setting loc.r to nil when copying
the dispatcher information from the original method, we ensure
that the dispatcher C function gets its proper name.
2014-11-01 04:07:42 +01:00
Reimer Behrends
52a3acb066 Fix method recursion bug.
Additional checks for method call transformations.
2014-10-31 07:55:56 +01:00
Araq
134311c7e0 '.emit' pragma produces a trailing newline 2014-10-25 01:51:33 +02:00
Araq
2c5743db3e fixes #1029 2014-10-22 12:50:04 +02:00
Araq
fa77547310 fixes 'import x as y' regression 2014-10-22 01:54:27 +02:00
Andreas Rumpf
b29c0da7b5 Merge pull request #1574 from trustable-code/PR3
Do not allow self import
2014-10-20 01:20:39 +02:00
Araq
4aab018bd6 disable 'view source' feature 2014-10-20 01:05:13 +02:00
Araq
1ddc42f570 default to warnGcUnsafe for threads:on 2014-10-19 23:59:29 +02:00
Araq
dc8d8ebb79 website updates for 0.9.6 2014-10-19 16:07:14 +02:00
Araq
a4dcebd3c4 Merge branch 'devel' of https://github.com/Araq/Nimrod into devel 2014-10-19 10:50:09 +02:00
Araq
6f1b33e11c readme.txt is not readme.md 2014-10-19 10:49:56 +02:00
Clay Sweetser
d73d752187 Update and clarify the purpose of the nimrod.ini file 2014-10-19 02:14:24 -04:00
Araq
d3e9d0fa3a niminst: 'doc/*.txt' required for bootstrapping 2014-10-18 20:26:51 +02:00
Araq
56f1f3d4bc more improvements for the NSIS installer 2014-10-17 18:18:46 +02:00
Araq
bd54c44239 improvements for niminst 2014-10-17 03:15:28 +02:00
Araq
55d8e71ab1 niminst supports NSIS 2014-10-17 00:53:33 +02:00
Simon Krauter
27585ee6ec Compare fileIndexes instead of file names 2014-10-15 00:20:08 +02:00
Simon Krauter
849484f920 Do not allow self import 2014-10-14 23:38:50 +02:00
Araq
34e96e37a1 added missing nimfix files 2014-10-11 20:51:41 +02:00
Araq
661c51682a backported .deprecated statement 2014-10-11 20:31:24 +02:00
Araq
6c9730b353 fixes #1551 2014-10-11 12:25:15 +02:00
Araq
1da251523f added 'nim*Setjmp' conditional symbols 2014-10-05 02:22:48 +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
Reimer Behrends
cb6441e73d Use _setjmp()/_longjmp() only on BSD-like systems for now. 2014-09-27 18:05:30 +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
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
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
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
Araq
014b79617e Merge branch 'devel' of https://github.com/Araq/Nimrod into devel 2014-08-21 10:00:09 +02:00
Araq
5432b2b83a fixes recently introduced regression 2014-08-21 09:59:57 +02:00
Simon Hafner
3f0c3ab6cf added bug number to comment 2014-08-20 21:16:06 +02:00
Araq
15b2d6d351 fixes #1418 2014-08-20 02:14:30 +02:00
Araq
bc2e83fe17 documented the JS codegen 2014-08-20 01:11:47 +02:00
Araq
ebe313e627 fixes #1334 2014-08-19 22:35:16 +02:00
Araq
e935a35bcf fixes #1380 2014-08-19 20:42:48 +02:00
Araq
1deb9820f5 fixes #1420 2014-08-19 20:28:51 +02:00