Commit graph

174 commits

Author SHA1 Message Date
Arne Döring
ed6160ad6d
callsite lineinfe for stackTrace template (#10785) 2019-04-18 14:02:10 +02:00
Andreas Rumpf
bf592c4e94
more destructor based changes (#10885)
* mark user defined destructors with sfOverriden to simplify the logic
* refactoring in preparation to merge liftings and generic instantiations for destructors
* ast: introduce nkHiddenTryStmt for destructor generation in order to be able to optimize better the code later on
* renamed 'patterns' switch to 'trmacros' as it was totally misleading before
* destructors: introduce tfCheckedForDestructor flag in preparation of strict =destroy checking
* test for invalid/too late destructor introductions
* liftdestructors: make code robust for nimsuggest
* --newruntime works for hello world again
* newruntime: code generation for closures
2019-03-23 00:12:05 +01:00
Andreas Rumpf
15c208cd29 it's spelt callsite 2019-02-22 18:28:49 +01:00
Arne Döring
28394153ab 32 bit fixes (#10608) 2019-02-13 23:30:14 +01:00
alaviss
e962be8981 compiler/sem*: improve lineinfo for qualified and generic procs (#10427)
Previously the compiler will believe these are where `newSeq` symbol
starts:

    newSeq[int]()
          ^
    system.newSeq[int]()
                 ^

This commit moves them back to:

    newSeq[int]()
    ^
    system.newSeq[int]()
           ^
2019-01-23 09:24:21 +01:00
Andreas Rumpf
2104863910 nimfind: improvements 2018-11-15 12:17:12 +01:00
Andreas Rumpf
6e8ed8c6fa added first version of a nimfind tool for the poor souls that don't have a good nimsuggest integretation 2018-11-14 16:04:54 +01:00
Araq
331d1a6ca1 fixes regressions 2018-10-30 11:28:45 +01:00
Steve Kellock
173e8c4913 fixes unexpected transforming of runnableExamples (#9158) 2018-10-09 20:14:54 +02:00
Araq
e09eeb02bf fixes #8052 2018-08-31 17:27:57 +02:00
Andreas Rumpf
db35ac435b code cleanup: remove newScopeForIf switch 2018-07-04 20:04:08 +02:00
Andreas Rumpf
5348fef003 implements a --nep1:on switch to make the compiler enforce the naming conventions outlined in NEP-1 2018-06-13 01:44:19 +02:00
Andreas Rumpf
40ec7be45c refactoring: remove idents.legacy global variable and pass the IdentCache around explicitly 2018-05-27 22:09:15 +02:00
Andreas Rumpf
669a564492 remove more global variables in the Nim compiler 2018-05-27 11:10:56 +02:00
Andreas Rumpf
ce859d8c16 more modules compile again 2018-05-12 16:35:59 +02:00
cooldome
2c9e56a783 Implement custom annotations (#6987) 2018-01-09 15:25:22 +01:00
Araq
ee67a67ac4 first steps in adding template/macro calls to stack traces 2017-12-21 10:03:33 +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
f1dab39086 remove old implementation of the roof operator; make tests green again; close #6292 2017-10-29 20:36:07 +01:00
Andreas Rumpf
70ea45cdba deprecated unary '<' 2017-10-29 08:37:13 +01:00
Andreas Rumpf
1a61c4d46d first implementation of the 'func' keyword 2017-09-23 23:22:53 +02:00
Arne Döring
000b8afd26 Remove expr/stmt (#5857) 2017-07-25 09:28:23 +02:00
Araq
4a77b66b19 fixes #5478 2017-03-06 18:38:15 +01:00
Andreas Rumpf
3e7b04683c make tests green again 2017-03-02 12:23:35 +01:00
Andreas Rumpf
46f33515d7 Merge branch 'devel' into faster-nimsuggest 2017-02-24 01:28:50 +01:00
Andreas Rumpf
2d546ca0ac fixes #5417 2017-02-24 00:32:14 +01:00
Andreas Rumpf
46efaf294b big compiler refactoring; avoid globals for multi method dispatcher generation 2017-02-22 16:27:52 +01:00
Araq
97e26967f1 fixes #5383 2017-02-16 00:43:14 +01:00
Dominik Picheta
d5bb5e832b Merge branch 'devel' into feature/3691 2017-02-07 18:34:05 +01:00
Dominik Picheta
3c8c5d081e Adds except T as ident handling in semtempl. 2017-02-06 20:42:01 +01:00
Andreas Rumpf
abaf5d0bdb fixes #5285 2017-02-04 21:00:07 +01:00
Andreas Rumpf
d651012688 template+emit supports volatileRead and volatileWrite ops 2017-01-23 11:22:19 +01:00
Lolo Iccl
a296f091e4 Fixes #5225 (#5243)
* Fixes #5225

* Fixes #5225

* Fixes #5225

fix typo
2017-01-18 21:04:03 +01:00
Jacek Sieka
3cd4cf4320 remove unused stuff 2016-08-09 22:54:27 +08:00
Andreas Rumpf
5d56361383 fixes #4353 2016-08-04 19:36:13 +02:00
Andreas Rumpf
de6198c747 fixes #4555 2016-08-02 12:47:02 +02:00
Andreas Rumpf
39ebe2175b compiler almost free of deprecated expr/stmt names 2016-07-30 16:34:42 +02:00
Andreas Rumpf
60b187513e stdlib and compiler don't use .immediate anymore 2016-07-29 23:51:01 +02:00
Andreas Rumpf
35b65e6f4e Merge branch 'devel' into new-ll 2016-01-14 15:05:48 +01:00
Andreas Rumpf
c1627354d1 first implementation of the new lambda-lifting pass; barely anything works 2015-12-26 00:42:30 +01:00
Adam Strzelecki
f838c1baa4 fixes #3498
Previously it was not possible to use template arguments in template body as
the symbols were not resolved correctly leading to Error: undeclared
identifier: 'XX', eg.:

   template defaultOf[T](t: T): expr = (var d: T; d)
   echo defaultOf(1) #<- invalid identifier, but should output 0
2015-10-30 12:05:02 +01:00
Araq
ba4dd92f45 fixes regression: NimForum compiles again 2015-09-21 15:49:48 +02:00
Araq
03d8467942 Merge branch 'devel' into fix_bracket_expr 2015-09-12 20:42:27 +02:00
Araq
bf698fbc2a fixes some regressions 2015-09-12 13:32:51 +02:00
Araq
afc891de65 fixes #1528 2015-09-12 11:07:47 +02:00
Araq
8ef66b973d first attempt to fix 'a[i]' handling in generics 2015-09-12 10:55:28 +02:00
Araq
34ab1d3e34 fixes #1528 2015-09-10 13:20:15 +02:00
Araq
4f8d982d5b fixes #2670 2015-08-08 14:48:17 +02:00
Araq
bf057f0d2c minor refactoring for big fixes to come 2015-07-24 01:04:42 +02:00
Araq
e6e0527fd2 fixes #1738 2015-07-22 18:01:05 +02:00