Commit graph

144 commits

Author SHA1 Message Date
Timothee Cour
bf3a308e86
[error messages, stacktraces] fix #8794 #9270 #9767 #9768 (#9766)
* fixes #8794 : `Error: undeclared field: 'foo'` should show type (+ where type is defined) (hard to guess in generic code)

* fixes #9270: `--listFullPaths` not honored by `declared in foo.nim` messages

* fixes #9767: VM stacktrace doesn't honor --excessiveStackTrace:on

* fixes #9768: VM stacktrace misses column info, can lead to ambiguous or harder to read stacktraces

* refactors some col+1 code to col + ColOffset (self documents code)

* make getProcHeader show declared info location also for types and all routine kinds (including macros,templates) instead of just (rather arbitrarily) for iterator,proc,func,method

* --listFullPaths now is honored in more places

* fix typo system/except.nim => lib/system/excpt.nim

* remove substr(foo, 0) hack in compiler/vm.nim which seems old and not applicable anymore
2019-01-08 15:58:47 -08:00
Neelesh Chandola
9faad7591e Deprecate gc v2 (#10151)
* Deprecate gc v2

* warnDeprecated now has custom messages
2019-01-01 13:50:48 +01:00
Timothee Cour
1b7c8482fe fixes #10101 (#10103) 2018-12-27 22:40:09 +01:00
Andrii Riabushenko
e03fb08c24 change approach 2018-12-09 00:05:57 +00:00
Andrii Riabushenko
94a63eef9a Fix hintXDeclaredButNotUsed for enum fields marked as used 2018-12-08 11:35:18 +00:00
Araq
610283b9b0 fixes #9764 2018-11-23 09:54:57 +01:00
Andreas Rumpf
539fc5d58b improve the error message for 'attempt to redefine X'; fixes #447 2018-09-17 19:54:56 +02:00
Araq
2f7b979e38 fixes #8066 2018-08-31 00:30:19 +02:00
Timothee Cour
b02bc66197 better formatting for recursive module dependency (#8735) 2018-08-23 08:19:03 +02:00
LemonBoy
bbe5e8326b sfForward is also sfReorder for skModule symbols (#8692)
Take this into account while searching for undefined forward references.

Fixes #8665
2018-08-21 14:51:23 +02:00
Andreas Rumpf
dae5450947 WIP: disallow 'nil' for strings and seqs 2018-08-13 11:41:33 +02:00
Andreas Rumpf
e555e97b4b use slashes instead of dots for paths 2018-08-06 20:00:26 +02:00
Andreas Rumpf
61fb83ecbb baby steps for incremental compilation 2018-05-30 23:50:34 +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
feef109e60 make tests green again 2018-05-18 20:53:41 +02:00
Andreas Rumpf
bf6c2c5ccf preparations of making compiler/msgs.nim free of global variables 2018-05-17 15:21:22 +02:00
Andreas Rumpf
328e7a1005 options.nim: no global variables anymore 2018-05-13 17:52:21 +02:00
Andreas Rumpf
e1a921ce4f lookups compiles again 2018-05-10 15:05:05 +02:00
cooldome
16c1a90857 Cpp codegen: handling of imported exceptions. Fixes #3571 (#7360) 2018-04-10 12:14:59 +02:00
zah
121b9e26fb Static[T] fixes (#7333)
* fix the usage of unresolved static[T] parameters in proc signatures
* fix tsametype and tmacrogenerics
* Allow creating composite type classes with concepts and using them in type signatures
* Allow integers to be used in ident concatenations
* Support using imported C++ generic types in proc signatures
* fixes #7230
* closes #7379
* re-enable some metatype tests
2018-03-24 15:28:09 +01:00
Araq
f3a895f043 fixes #6965 2017-12-28 00:50:45 +01:00
Andreas Rumpf
a155130cf2 fixes #1860; macro generating a wrong nkSymChoice node 2017-10-30 15:37:34 +01:00
Andreas Rumpf
70ea45cdba deprecated unary '<' 2017-10-29 08:37:13 +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
1a61c4d46d first implementation of the 'func' keyword 2017-09-23 23:22:53 +02:00
Andreas Rumpf
fd4ef6ae8f .pure enums are much more convenient to use now 2017-09-17 17:36:37 +02:00
Andreas Rumpf
d02486aa48 compiler: better error messages (#5613) 2017-03-26 20:24:06 +02:00
Andreas Rumpf
46efaf294b big compiler refactoring; avoid globals for multi method dispatcher generation 2017-02-22 16:27:52 +01:00
Dominik Picheta
1c233ba27a More progress towards a working #3691. 2017-02-03 19:50:22 +01:00
Dominik Picheta
656da1f6a9 WIP: as with generics. 2017-02-02 21:36:49 +01:00
Andreas Rumpf
4e481cc316 implements module grouping for the import statement 2016-12-21 22:13:50 +01:00
Andreas Rumpf
01ae0d28d4 recursive modules are only detected to improve error messages 2016-11-24 12:27:21 +01: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
Kier Davis
2bea2bdbbf Locate 'attempt to redefine' errors at the import statement rather than at the first line of the imported module. Fixes #4541. 2016-07-30 14:29:45 +01:00
Andreas Rumpf
5f623ea9ef fixes an valid 'T' is not used hint 2016-07-20 16:16:56 +02:00
Andreas Rumpf
95ffeb6079 fixes #177 2016-05-11 17:39:37 +02:00
Andreas Rumpf
c1627354d1 first implementation of the new lambda-lifting pass; barely anything works 2015-12-26 00:42:30 +01:00
Araq
c921f30b1d renamed inCompilesContext to compilesContextId; added test case for #3313 2015-09-18 11:29:43 +02:00
Araq
1fc590b6ea don't generate memset calls for C++ objects 2015-03-18 11:42:36 +01:00
Araq
566ee874cd minor cleanups 2015-03-01 13:52:00 +01:00
Araq
fe30ec83e2 nimsuggest improvements 2015-01-30 03:04:45 +01:00
Araq
5f6131cbdc fixes #1944 2015-01-18 14:44:16 +01:00
Araq
da0fab7046 nimfix now in its own directory; single file mode now the default 2014-10-05 23:36:47 +02:00
Araq
569fbe8c37 'pretty' command does not exist anymore; improvements for nimfix 2014-09-10 02:19:46 +02:00
Araq
490371977e some improvements for nimfix 2014-09-09 21:31:34 +02:00
Araq
bf557a7cdb added nimfix tool 2014-09-05 01:16:48 +02:00
Araq
5946747970 updated the compiler to use the new symbol names 2014-08-28 23:48:42 +02:00
Araq
dbf9117c56 the big renamefest: first steps 2014-08-22 23:54:26 +02:00