Commit graph

342 commits

Author SHA1 Message Date
LemonBoy
cf20c4460c More robust handling of deprecated pragmas (#8696)
Prevent `deprecated` annotations to "slip" up to the parent module and
warn about unsupported annotations.

Accidentally fixes #7867
2018-08-21 15:07:44 +02:00
Araq
b4e5c9d075 deprecate the .this pragma 2018-08-09 20:31:40 +02:00
Jörg Wollenschläger
7e89f9a09a Don't remove extension of source files twice, if filenames contain dots 2018-06-26 20:08:40 +09:00
Yuriy Glukhov
466af35d4d Fixed stacktrace/linetrace proc pragmas when appended by macro pragma 2018-06-14 15:48:51 +03:00
Yuriy Glukhov
7e7b85afc7 Allow stacktrace and linetrace pragmas on procs 2018-06-12 12:31:14 +03:00
Andreas Rumpf
8db27d30e6 record cppdefine for incremental compilation 2018-06-10 18:05:43 +02:00
Andreas Rumpf
2662d713f7 implement passL and passC for the compilation cache 2018-06-10 17:06:02 +02:00
Araq
8e9551b1c7 fixex merge conflicts 2018-06-08 19:50:36 +02:00
Yuriy Glukhov
29a01da90f Fixes #7982 2018-06-07 17:17:07 +03:00
Andreas Rumpf
826c1e2d78 incremental compilation: implemented basic replay logic 2018-06-02 09:41:27 +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
bf6c2c5ccf preparations of making compiler/msgs.nim free of global variables 2018-05-17 15:21:22 +02:00
Araq
635451591d extccomp: no globals anymore 2018-05-16 02:01:55 +02:00
Araq
5526252fa0 fixes testament compilation 2018-05-14 17:45:44 +02:00
Andreas Rumpf
328e7a1005 options.nim: no global variables anymore 2018-05-13 17:52:21 +02:00
Andreas Rumpf
bb8c47b496 pragmas compiles again 2018-05-11 18:53:18 +02:00
Zahary Karadjov
ae5c946a32 Support thread-local variables declared inside procs; fixes #7565 2018-05-07 09:37:49 +02:00
Andreas Rumpf
ee366f1746 .experimental can now be used to enable specific features 2018-04-24 09:34:29 +02:00
Jacek Sieka
72dfe176f5 remove dead code elimination option (#7669) 2018-04-23 11:02:38 +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
47335aab41 introduce nkTupleConstr AST node for unary tuple construction; breaking change 2018-04-13 17:45:58 +02:00
Araq
8518683dc7 the 'deprecated' pragma for modules now supports an error message 2018-04-06 11:59:49 +02:00
Andreas Rumpf
d837362216 C codegen: preparations for different seq and string implementations 2018-04-03 10:25:20 +02:00
Araq
9de05ec3e0 further steps in implementing sink parameters; refs #7041 2018-03-30 02:32:13 +02:00
cooldome
0a8684db4c User pragmas hide effect specs bug fix. Fixes #7216 (#7217) 2018-02-27 03:03:49 +01:00
Andreas Rumpf
fc967cc715 custom pragmas: proper error handling 2018-02-12 16:40:27 +01:00
Andreas Rumpf
212457f5e0 the .deprecated pragma for procs now supports a user-definable deprecation message 2018-02-02 12:53:38 +01:00
Yuriy Glukhov
02c1f120eb Fixes nimsuggest#78 (#7151) 2018-01-29 23:41:32 +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
c19c6b1fae Merge branch 'devel' of github.com:nim-lang/Nim into devel 2017-12-27 12:23:17 +01:00
Andreas Rumpf
7b5448c755 introduce 'core' as an alias for 'compilerproc' 2017-12-27 12:23:12 +01:00
cooldome
53cf0b2c24 Allow noreturn procs with void type (#6973) 2017-12-27 10:09:24 +01:00
cooldome
2b3ec0a7c6 Implement language feature #6885 (#6954) 2017-12-24 22:22:03 +01:00
Araq
a22dba4a8b newruntime: removed old way of writing destructors 2017-11-28 17:34:30 +01:00
Andreas Rumpf
58187f2120 added a warning that the .deprecate statement is unreliable for routines 2017-11-21 11:27:35 +01:00
Andreas Rumpf
bd19b5f4d3 implemented undocumented '.liftLocals' feature 2017-11-02 10:42:19 +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
c6235920cb backend preparations for incomplete/forwarded object types 2017-10-28 13:46:43 +02:00
Andreas Rumpf
50f62ff44a distinguish between 'reorder' and 'noforward' 2017-07-26 08:20:11 +02:00
Andreas Rumpf
d66a920447 fixes #5846 2017-06-29 18:16:00 +02:00
Zahary Karadjov
74a80988d9 proper error reporting for concepts and the introduction of the {.explain.} pragma 2017-03-24 16:59:47 +02:00
Araq
142b604c13 fixes #5529; don't merge type visibility flags 2017-03-14 15:55:23 +01:00
Arne Döring
92c2a51bf7 removed compiler internal list implementation (#5371) 2017-02-22 17:33:12 +01:00
Fabian Keller
ce4587d7b7 Enabled explicitly unknown lock levels (#5409)
* enabled explicitly unknown lock levels
* allowing "unknown" as locks pragma
* added test case for locks pragma
* updated docs on locks pragma
2017-02-20 09:31:52 +01:00
Araq
8f426b974a new feature: .used pragma to suppress declared-but-not-used warning 2017-02-17 18:03:56 +01:00
Andreas Rumpf
fab69661ad new name mangling rules for easier debugging 2017-02-02 16:27:48 +01:00