summary refs log tree commit diff stats
path: root/compiler/semmagic.nim
Commit message (Collapse)AuthorAgeFilesLines
* fixes #7937 (#11244)Andreas Rumpf2019-05-141-3/+4
|
* added system.unown to make 'owned' sane to use in practice; later on we ↵Araq2019-04-291-0/+35
| | | | might change the type inference rules to make it more convenient
* more destructor based changes (#10885)Andreas Rumpf2019-03-231-0/+5
| | | | | | | | | | | * 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
* fixes #10807 (#10814)cooldome2019-03-121-5/+5
| | | | | * fixes #10807 * use nkAddr instead of nkHiddenAddr
* 32 bit fixes (#10608)Arne Döring2019-02-131-3/+11
|
* Stop useless suggestion of unsafeAddr (#10598)LemonBoy2019-02-081-1/+6
| | | Fixes #10594
* Finalizer proc must be global (#10388)LemonBoy2019-01-221-0/+5
| | | Fixes #10376
* fix typetraits.`$` regression https://github.com/c-blake/cligen/issues/84 ↵Timothee Cour2018-12-301-2/+3
| | | | | | | (#10131) * fix typetraits.`$` regression https://github.com/c-blake/cligen/issues/84 * add test
* revives: Move typetraits.`$` to system. Fixes #5827 (#10071)Timothee Cour2018-12-301-1/+1
| | | | | | * Move typetraits.`$` to system. Fixes #5827. * revive PR; adjust code to make sure everything works and add tests * fix tests/concepts/tstackconcept.nim * address comments
* fixes #9868Araq2018-12-111-2/+0
|
* fixes #7365alaviss2018-11-261-1/+1
|
* Fixes multiple bugs with sink arguments (#9802)cooldome2018-11-261-1/+1
| | | | | | * fixes #9781 * fix spacing
* Of operator in vm fixes [backport] (#9717)cooldome2018-11-151-1/+7
| | | | | | * fixes #9701 * fixes #9702 * optimize of statement to bool
* fixes #9610Andreas Rumpf2018-11-031-17/+13
|
* fixes #9498, typeof is for everybodyAraq2018-10-251-3/+9
|
* implement sizeof and alignof operator (manually squashed #5664) (#9356)Timothee Cour2018-10-141-2/+55
|
* fixes #7827, bindSym enhancement (#8499)andri lim2018-08-021-1/+66
| | | | | | | | | | | | | | | | * bindSym power up, working prototype * update bindSym doc * add bindSym test * fix some typo * fix bindSym doc * get rid of specialops field from vm * add experimental: dynamicBindSym
* Do not consider enums with holes as ordinals (#8264)LemonBoy2018-07-121-1/+1
| | | | | | Make the compiler behave consistently with respect to what's written in the manual. Fixes #1239
* refactoring: remove idents.legacy global variable and pass the IdentCache ↵Andreas Rumpf2018-05-271-2/+2
| | | | around explicitly
* refactoring: fewer global variablesAndreas Rumpf2018-05-271-1/+1
|
* remove more global variables in the Nim compilerAndreas Rumpf2018-05-271-1/+1
|
* platform.nim doesn't use globals anymore; prepare msgs.nim for not using globalsAndreas Rumpf2018-05-181-5/+1
|
* preparations of making compiler/msgs.nim free of global variablesAndreas Rumpf2018-05-171-1/+1
|
* remove ast.emptyNode global; cleanup configuration.nimAraq2018-05-161-1/+1
|
* fixes testament compilationAraq2018-05-141-0/+4
|\
| * A motivating example for the new `bindSym` behavior.Zahary Karadjov2018-05-071-1/+1
| | | | | | | | | | | | | | | | 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)
| * Better support for treating templates and macros as symbols.Zahary Karadjov2018-05-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows you to pass a template or a macro to another macro which can then inspect the implementation of the former template/macro using `getImpl`. Since templates can be freely redefined, this allows you to treat their symbols as compile-time variables that have lexical scope. A motivating PoC example for a logging library taking advantage of this will be provided in the next commit. Implementation details: * The name of a template or a macro will be consider a symbol if the template/macro requires parameters * For parameterless templates/macros, you can use `bindSym`, which was extended to also work outside of compile-time procs.
* | sem pass compiles againAndreas Rumpf2018-05-121-21/+21
| |
* | more modules compile againAndreas Rumpf2018-05-121-14/+14
|/
* introduce nkTupleConstr AST node for unary tuple construction; breaking changeAndreas Rumpf2018-04-131-1/+1
|
* Add column number to instantiation info (#7376)PMunch2018-04-121-0/+3
| | | | | | | | | | | | | | * Add column number to instantiation info Instantiation info left out column number for no good reason. This adds it in as the third element of the tuple. * Fix test that failed and added change to changelog An assertion test failed because it was declaring a type that was expected to be populated by instantiationInfo with the old signature. Also added the changes to the changelog as it is a breaking change.
* preparations for language extensions: 'sink' and 'lent' typesAndreas Rumpf2018-01-071-2/+2
|
* make tests green againAndreas Rumpf2017-11-181-1/+1
|
* wipAndreas Rumpf2017-11-021-1/+3
|
* remove old implementation of the roof operator; make tests green again; ↵Andreas Rumpf2017-10-291-31/+1
| | | | close #6292
* destructors: work in progressAraq2017-10-261-3/+8
|
* added typetraits.supportsCopyMemAndreas Rumpf2017-10-171-1/+6
|
* low/high/of are now overloadable operationsAndreas Rumpf2017-08-301-0/+36
|
* introduce a pre-processing pass for the concept bodiesZahary Karadjov2017-06-201-2/+2
| | | | | | | fixes #4982 fixes #3805 close #3414
* Allow tyOr,tyAnd and tyNot to be constructed in more contextsZahary Karadjov2017-04-281-16/+32
|
* use lower-case proc namesZahary Karadjov2017-03-241-4/+4
|
* new type traits: `GenericHead` and `StripGenericParams`Zahary Karadjov2017-03-241-2/+35
|
* implement the special treatment of explicit type params in conceptsZahary Karadjov2017-03-241-1/+1
|
* big compiler refactoring; avoid globals for multi method dispatcher generationAndreas Rumpf2017-02-221-1/+1
|
* recursive modules are only detected to improve error messagesAndreas Rumpf2016-11-241-1/+1
|
* remove remnants of tyIterJacek Sieka2016-10-241-1/+1
|
* Merge remote-tracking branch 'origin/devel' into compiler-cleanupJacek Sieka2016-08-171-2/+6
|\
| * Require ordinal or set argument to system.ordMatthew Baulch2016-08-111-2/+6
| |
* | remove unused stuffJacek Sieka2016-08-091-7/+0
|/
* fixes #4555Andreas Rumpf2016-08-021-1/+1
|
d=78bd151c486626f79ea7dcb9189591d121e822b6'>78bd151c ^
dab37236 ^

7a9d127a ^
dab37236 ^
78bd151c ^
dab37236 ^

7a9d127a ^
dab37236 ^






30d30133 ^


7a9d127a ^
dab37236 ^
7a9d127a ^
dab37236 ^

78bd151c ^
7a9d127a ^
dab37236 ^
f23f768d ^
b1bf0540 ^
f23f768d ^
b1bf0540 ^

f23f768d ^
f7584469 ^
b1bf0540 ^



f7584469 ^
b1bf0540 ^

f7584469 ^
b1bf0540 ^





f7584469 ^
b1bf0540 ^



f7584469 ^
b1bf0540 ^
f7584469 ^

b1bf0540 ^

f7584469 ^
dab37236 ^












b1bf0540 ^

dab37236 ^
b1bf0540 ^




f23f768d ^
b1bf0540 ^





f23f768d ^

b1bf0540 ^
f23f768d ^
b1bf0540 ^

f23f768d ^

dab37236 ^
2b743ea9 ^
7a9d127a ^
dab37236 ^

2b743ea9 ^
7a9d127a ^




30d30133 ^

e6b076ce ^
30d30133 ^

e6b076ce ^


2b743ea9 ^



e6b076ce ^

2b743ea9 ^




e6b076ce ^
2b743ea9 ^
e6b076ce ^




dab37236 ^
e6b076ce ^


dab37236 ^
e6b076ce ^
dab37236 ^


2b743ea9 ^
dab37236 ^

e6b076ce ^

dab37236 ^
e6b076ce ^

30d30133 ^














1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327