Commit graph

754 commits

Author SHA1 Message Date
Andreas Rumpf
050789a8f4 sem pass compiles again 2018-05-12 21:30:42 +02:00
Andreas Rumpf
dd35111ff2 semstmts compiles again 2018-05-12 19:45:19 +02:00
Andreas Rumpf
ce859d8c16 more modules compile again 2018-05-12 16:35:59 +02:00
Zahary Karadjov
2b8bf8fc4a A motivating example for the new bindSym behavior.
The example is a proof-of-concept logging library, allowing you to define
lexically-scoped environments where certain logging attributes are applied
automatically to all logging statements.

fixes tmacro1 (use of `bindSym` inside static blocks)
2018-05-07 09:37:49 +02:00
Andreas Rumpf
b7116a28ee compiler refactoring, pass config around explicitly 2018-05-05 18:47:29 +02:00
Andreas Rumpf
1aa359febb warn about inconsistent spacing around binary operators; fixes #7582 2018-05-05 14:58:33 +02:00
Andreas Rumpf
5ac94d26b3 remove the deprecated 'nil' statement 2018-05-02 13:34:54 +02:00
Andreas Rumpf
ee7515e376 fixes #7663 2018-04-28 09:26:15 +02:00
Andreas Rumpf
f697596faf semcheck: code cleanups 2018-04-28 07:49:36 +02:00
Andreas Rumpf
f755808350 remove standalone 'except' and 'finally' statements that have been deprecated for years 2018-04-28 00:00:28 +02:00
Andreas Rumpf
c71c951a64 enforce dot and call operators are used with an explicit .experimental pragma 2018-04-27 09:57:20 +02:00
Andreas Rumpf
ee366f1746 .experimental can now be used to enable specific features 2018-04-24 09:34:29 +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
Andreas Rumpf
cb03ae2c9f semstmts: fewer empty lines 2018-04-19 08:54:23 +02:00
Andreas Rumpf
c08efb4c51 implements first version of for-loop macros 2018-04-15 01:07:28 +02:00
RSDuck
3d1d163eff fixes #7451 (#7575) 2018-04-14 08:33:36 +02:00
Andreas Rumpf
47335aab41 introduce nkTupleConstr AST node for unary tuple construction; breaking change 2018-04-13 17:45:58 +02:00
Andreas Rumpf
ea8afebf8c 'func' is now an alias for 'proc .noSideEffect' 2018-04-12 20:09:44 +02:00
cooldome
16c1a90857 Cpp codegen: handling of imported exceptions. Fixes #3571 (#7360) 2018-04-10 12:14:59 +02:00
cooldome
63c28b973e Allow only single infix as in except branches. Fixes #7115 (#7132) 2018-03-08 10:56:32 +01:00
Andreas Rumpf
0495e6cf3a steps to get for loops as expressions 2018-02-28 20:30:17 +01:00
Andreas Rumpf
b35ee82c48 fixes #6992 2018-02-25 17:28:47 +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
Araq
04af9d4051 fixes #3711 2018-02-12 18:45:39 +01:00
Andreas Rumpf
fa0f5d0238 fixes #6946 2018-02-05 21:21:22 +01:00
Andreas Rumpf
d72578b3dd more chatty error message for the 'discard' checking 2018-02-05 16:49:06 +01:00
Andreas Rumpf
33b0e73962 fixes most recent iterators-as-expressions regression 2018-01-18 18:57:29 +01:00
Andreas Rumpf
090d22c715 Merge branch 'devel' of github.com:nim-lang/Nim into devel 2018-01-18 11:40:30 +01:00
Andreas Rumpf
6a2b57b4aa fixes #7093 2018-01-18 11:40:18 +01:00
cooldome
27aab0be16 Custom pragmas in procs bug fix (#7086) 2018-01-18 10:38:55 +01:00
cooldome
2c9e56a783 Implement custom annotations (#6987) 2018-01-09 15:25:22 +01:00
Andreas Rumpf
e4081a7201 preparations for language extensions: 'sink' and 'lent' types 2018-01-07 23:09:26 +01:00
Araq
e316665b7b work in progress: 'sink' and 'lent' types 2018-01-07 10:17:19 +01:00
Araq
0b0baece89 fixes #6980 2017-12-27 21:26:37 +01:00
cooldome
2b3ec0a7c6 Implement language feature #6885 (#6954) 2017-12-24 22:22:03 +01:00
Zahary Karadjov
2ceee884fe fix #6462 2017-12-21 11:08:45 +01:00
Veladus
15f72d0cf1 Now analyzes over magics instead of symbol names; but dosn't compile for me 2017-12-11 21:49:28 +01:00
Veladus
a15ddf4013 Improved error reporting 2017-12-11 21:48:22 +01:00
Veladus
2c886823e7 Fixed for diffrent Typeids of Excpetion for diffrent compilation units 2017-12-02 20:57:18 +01:00
Veladus
6a2b31226e Compiler now catches when an expression is raised which is no Exception 2017-12-02 17:54:35 +01:00
Araq
fa92c519aa more progress on destructors; removed old destructor based code as it proved confusing 2017-12-01 01:52:00 +01:00
Andreas Rumpf
617ba1a209 Merge branch 'devel' into araq 2017-11-07 11:17:20 +01:00
Andreas Rumpf
4e4d466d06 minor breaking change: for loop bodies now get their own scope 2017-11-05 16:53:05 +01:00
Andreas Rumpf
30b098fcaf wip 2017-11-02 15:39:44 +01:00
Andreas Rumpf
d52a1061b3 work in progress: new implementation for 'a[^1]' 2017-10-29 19:46:17 +01:00
Andreas Rumpf
70ea45cdba deprecated unary '<' 2017-10-29 08:37:13 +01:00
Andreas Rumpf
c17f6c7837 new feature: package level objects 2017-10-29 07:54:39 +01:00
Andreas Rumpf
7889692523 first implementation of package level types that allow forwarding across module boundaries 2017-10-28 15:28:59 +02:00
Andreas Rumpf
c6235920cb backend preparations for incomplete/forwarded object types 2017-10-28 13:46:43 +02:00
Araq
9df766491d default '=sink' and '=destroy' cannot be templates 2017-10-25 17:37:03 +02:00