Nim/compiler
Clyybber 2629d619a1
Fix forward declaration issues in template/macro context (#15091)
* Fix forward declaration issues in template/macro context

* Correct forward declaration resolving for overloads

* Remove old dead code

* WIP consistent gensym ids

* Minimize diff

* Remove obsoleted hack

* Add templInstCounter to give unique IDs to template instantiations

* Remove obsoleted code

* Eh, init in myOpen, not myProcess...

* Remove optNimV019

* Add testcase for #13484
2020-07-29 16:17:20 +02:00
..
nimfix Fix spellings (#12277) [backport] 2019-09-27 07:02:54 +02:00
plugins Cosmetic compiler cleanup (#12718) 2019-11-28 17:13:04 +01:00
aliases.nim Fixed objects being erroneously zeroed out before object construction (#12814) [backport] 2019-12-05 17:31:51 +01:00
asciitables.nim Fix spellings (#12277) [backport] 2019-09-27 07:02:54 +02:00
ast.nim fixes #15036 2020-07-23 20:27:17 +02:00
astalgo.nim Implements RFCs #209 (#13995) 2020-04-16 21:04:05 +02:00
bitsets.nim Cosmetic compiler cleanup (#12718) 2019-11-28 17:13:04 +01:00
btrees.nim Update btrees.nim (#14916) 2020-07-06 10:23:42 +02:00
canonicalizer.nim make case-object transitions explicit, make unknownLineInfo a const, replace a few magic numbers with consts (#13170) 2020-01-17 10:34:31 +01:00
ccgcalls.nim Fix #14396 (#14793) 2020-07-04 17:45:07 +02:00
ccgexprs.nim fixes #15052 2020-07-26 01:16:06 +02:00
ccgliterals.nim Removed lib/system/allocators.nim. seqs_v2 and strs_v2 now uses allocShared0. (#13190) 2020-01-23 14:25:22 +01:00
ccgmerge.nim CT sizeof(+friends) for {.importc, completeStruct.} types, enable ABI static checks (#13926) 2020-04-23 11:24:09 +02:00
ccgreset.nim specialize genericReset (#14398) 2020-05-19 21:42:53 +02:00
ccgstmts.nim fixes #15026 [backport] (#15040) 2020-07-22 13:02:03 +02:00
ccgthreadvars.nim fixes #14865 (#14937) 2020-07-08 18:59:34 +02:00
ccgtrav.nim make case-object transitions explicit, make unknownLineInfo a const, replace a few magic numbers with consts (#13170) 2020-01-17 10:34:31 +01:00
ccgtypes.nim fixes #14865 (#14937) 2020-07-08 18:59:34 +02:00
ccgutils.nim Cosmetic compiler cleanup (#12718) 2019-11-28 17:13:04 +01:00
cgen.nim scoped memory management (#14790) 2020-07-04 07:37:24 +02:00
cgendata.nim scoped memory management (#14790) 2020-07-04 07:37:24 +02:00
cgmeth.nim arc optimizations (#13325) 2020-03-18 16:57:34 +01:00
closureiters.nim Fix #14396 (#14793) 2020-07-04 17:45:07 +02:00
cmdlinehelper.nim fix some issues with --backend (#14363) 2020-05-16 13:09:18 +02:00
commands.nim Fix forward declaration issues in template/macro context (#15091) 2020-07-29 16:17:20 +02:00
condsyms.nim fix #14421 items uses lent T (#14447) 2020-05-29 17:10:59 +02:00
cursor_inference.nim compiler: minor code cleanups 2020-07-27 08:05:52 +02:00
debuginfo.nim happy new year 2017-01-07 22:35:09 +01:00
depends.nim Make ./koch temp --gc:arc work (#14186) 2020-05-01 20:25:18 +02:00
dfa.nim injectdestructors fixes and refactor (#14964) 2020-07-14 14:15:39 +02:00
docgen.nim deprecate existsDir; use dirExists instead (#14884) 2020-07-03 23:04:23 +02:00
docgen2.nim fix #13349 regression: isNamedTuple now works with generic tuples (#13350) 2020-02-07 06:58:04 +01:00
enumtostr.nim rename sfAlwaysReturn to sfNeverRaises 2020-03-16 19:05:33 +01:00
evalffi.nim #12103 - CI for OpenBSD (#12105) 2020-04-21 15:05:21 +02:00
evaltempl.nim Fix forward declaration issues in template/macro context (#15091) 2020-07-29 16:17:20 +02:00
extccomp.nim fixes #14194 (#15023) 2020-07-20 14:28:00 +02:00
filter_tmpl.nim Cosmetic compiler cleanup (#12718) 2019-11-28 17:13:04 +01:00
filters.nim Cosmetic compiler cleanup (#12718) 2019-11-28 17:13:04 +01:00
forloops.nim fix operators containing percent for VM usage (#13536) 2020-03-11 01:01:25 +01:00
gorgeimpl.nim Fixed #12337, leaking pipe after gorge (#12339) 2019-10-03 00:48:31 -04:00
guards.nim init checks and 'out' parameters (#14521) 2020-06-23 10:53:57 +02:00
hlo.nim fix #8312 --hints:off and --warnings:off now honored everywhere (#13489) 2020-02-26 10:26:47 +01:00
idents.nim Cosmetic compiler cleanup (#12718) 2019-11-28 17:13:04 +01:00
idgen.nim [refactoring] remove unused imports in the compiler and in some stdlib modules 2019-07-18 00:36:03 +02:00
importer.nim compiler: minor code cleanups 2020-07-27 08:05:52 +02:00
incremental.nim disable IC and the SQLite dependency for version 1 2019-09-03 18:43:57 +02:00
index.nim walkDirRecFilter, update doc CI filter, compiler/index.nim for docs + various other fixes (#14501) 2020-06-01 19:21:41 +02:00
injectdestructors.nim fixes #15076 (#15095) 2020-07-27 23:27:20 +02:00
installer.ini New freebsd platforms (#14801) 2020-06-29 10:31:25 +02:00
int128.nim fix last remaining warning when building nim (intVal should be Int128) + minor cleanups (#13841) 2020-04-02 08:53:52 +02:00
isolation_check.nim compiler: minor code cleanups 2020-07-27 08:05:52 +02:00
jsgen.nim fix #11354 jsgen not carefully handle genAddr with nkHiddenAddr,nkStm… (#15078) 2020-07-27 21:13:49 +02:00
jstypes.nim Cosmetic compiler cleanup (#12718) 2019-11-28 17:13:04 +01:00
lambdalifting.nim fix #14421 items uses lent T (#14447) 2020-05-29 17:10:59 +02:00
layouter.nim fix #14401, trailing comma confuses nimpretty (#14867) 2020-07-01 11:40:13 +02:00
lexer.nim Deprecate oldNewlines, clean out deprecated code from oldNewlines (#14763) 2020-06-23 11:22:07 +02:00
liftdestructors.nim fixes #15076 (#15095) 2020-07-27 23:27:20 +02:00
liftlocals.nim Cosmetic compiler cleanup (#12718) 2019-11-28 17:13:04 +01:00
lineinfos.nim VM profiler (#14833) 2020-07-09 19:18:35 +02:00
linter.nim Cosmetic compiler cleanup (#12718) 2019-11-28 17:13:04 +01:00
llstream.nim Attempt to finish off araq cpp exceptions (#13695) 2020-03-19 20:38:25 +01:00
lookups.nim Fix forward declaration issues in template/macro context (#15091) 2020-07-29 16:17:20 +02:00
lowerings.nim init checks and 'out' parameters (#14521) 2020-06-23 10:53:57 +02:00
macrocacheimpl.nim [refactoring] remove unused imports in the compiler and in some stdlib modules 2019-07-18 00:36:03 +02:00
magicsys.nim Implements RFCs #209 (#13995) 2020-04-16 21:04:05 +02:00
main.nim VM profiler (#14833) 2020-07-09 19:18:35 +02:00
modulegraphs.nim drnim: tiny progress (#13882) 2020-04-15 20:03:25 +02:00
modulepaths.nim Cosmetic compiler cleanup (#12718) 2019-11-28 17:13:04 +01:00
modules.nim bug fixes with sfMainModule, hints, mainPackageNotes, mainPackageId, hintSuccessX (#14555) 2020-06-04 10:40:17 +02:00
msgs.nim hintMsgOrigin now works in VM code (#14678) 2020-06-16 08:49:57 +02:00
ndi.nim fix open file leak when running --debugger:native (#13832) 2020-04-01 17:48:17 +02:00
nim.cfg init checks and 'out' parameters (#14521) 2020-06-23 10:53:57 +02:00
nim.nim properly fixes #13758 so that import std/macros stays legal (#14291) 2020-05-12 08:27:47 +02:00
nimblecmd.nim make case-object transitions explicit, make unknownLineInfo a const, replace a few magic numbers with consts (#13170) 2020-01-17 10:34:31 +01:00
nimconf.nim correctly honor cmdline --hint:conf:on/off ; correctly show Conf hints in order 2020-02-27 13:22:18 +01:00
nimeval.nim * honor --errorMax even for tools (eg drnim, nim doc) (#14546) 2020-06-02 18:54:33 +02:00
nimlexbase.nim speed up Nim's lexer by using cstring instead of string. C optimizers are fragile. 2020-07-07 15:17:58 +02:00
nimpaths.nim docgen: mangling using _. instead of @@ to avoid issue (#14454) 2020-05-26 10:08:35 +02:00
nimsets.nim init checks and 'out' parameters (#14521) 2020-06-23 10:53:57 +02:00
nodejs.nim Remove IO.js compat (long dead vanished project,superseed by NodeJS) (#11627) 2019-07-01 11:59:02 +02:00
nversion.nim Fix spellings (#12277) [backport] 2019-09-27 07:02:54 +02:00
optimizer.nim An optimizer for ARC (#14962) 2020-07-15 23:00:06 +02:00
options.nim Fix forward declaration issues in template/macro context (#15091) 2020-07-29 16:17:20 +02:00
packagehandling.nim fix #13150 nim doc --project now works reliably (#13223) 2020-02-06 11:17:00 +01:00
parampatterns.nim init checks and 'out' parameters (#14521) 2020-06-23 10:53:57 +02:00
parser.nim init checks and 'out' parameters (#14521) 2020-06-23 10:53:57 +02:00
passaux.nim properly handle note override logic/verbosity/config/cmdline using modifiedyNotes, cmdlineNotes 2020-02-27 13:22:18 +01:00
passes.nim bug fixes with sfMainModule, hints, mainPackageNotes, mainPackageId, hintSuccessX (#14555) 2020-06-04 10:40:17 +02:00
pathutils.nim fix #13579 joinPath("/foo/", "../a") is now /a (#13586) 2020-03-05 15:31:22 +01:00
patterns.nim Cosmetic compiler cleanup (#12718) 2019-11-28 17:13:04 +01:00
platform.nim Added 'ansic' os support for minimal (embedded) targets (#13088) 2020-01-15 11:06:41 +01:00
pluginsupport.nim refactoring: fewer global variables 2018-05-27 19:19:12 +02:00
pragmas.nim fixes #14458 [backport:1.2] (#14756) 2020-06-22 13:06:22 +02:00
prefixmatches.nim Cosmetic compiler cleanup (#12718) 2019-11-28 17:13:04 +01:00
procfind.nim Fix forward declaration issues in template/macro context (#15091) 2020-07-29 16:17:20 +02:00
readme.md refactor: renamed readme to readme.md (#14283) 2020-05-11 13:50:40 +02:00
renderer.nim Show that a variable is cursor in --expandArc (#15002) 2020-07-17 10:56:17 +02:00
renderverbatim.nim init checks and 'out' parameters (#14521) 2020-06-23 10:53:57 +02:00
reorder.nim reorder.nim: fixed typos 2020-06-12 11:57:29 +02:00
rod.nim [refactoring] remove unused imports in the compiler and in some stdlib modules 2019-07-18 00:36:03 +02:00
rodimpl.nim fix comment from e909486e5c (r39287564) (#14412) 2020-05-20 18:34:14 -07:00
rodutils.nim Cosmetic compiler cleanup (#12718) 2019-11-28 17:13:04 +01:00
ropes.nim Cosmetic compiler cleanup (#12718) 2019-11-28 17:13:04 +01:00
saturate.nim Cosmetic compiler cleanup (#12718) 2019-11-28 17:13:04 +01:00
scriptconfig.nim fix #14179, fix #14142, make CI 1.4x faster (2x faster locally) (#14658) 2020-06-16 08:56:12 +02:00
sem.nim Fix forward declaration issues in template/macro context (#15091) 2020-07-29 16:17:20 +02:00
semcall.nim fixes #15056 [backport] 2020-07-24 17:49:25 +02:00
semdata.nim Fix forward declaration issues in template/macro context (#15091) 2020-07-29 16:17:20 +02:00
semexprs.nim Fix forward declaration issues in template/macro context (#15091) 2020-07-29 16:17:20 +02:00
semfields.nim Cosmetic compiler cleanup (#12718) 2019-11-28 17:13:04 +01:00
semfold.nim Deprecated laxStrings for mutating the internal zero terminator on strings and its Deprecated code cleaned out (#14766) 2020-06-23 13:20:53 +02:00
semgnrc.nim fix bug in semgnrc: runnableExamples should not semcheck, even with > 1 arg (#14768) 2020-06-23 10:06:36 +02:00
seminst.nim avoid unsafe Nim features in preparation for --gc:arc (#14431) 2020-05-22 20:24:37 +02:00
semmacrosanity.nim Cosmetic compiler cleanup (#12718) 2019-11-28 17:13:04 +01:00
semmagic.nim fixes #14616 [backport:1.2] (#15109) 2020-07-29 11:11:58 +02:00
semobjconstr.nim init checks and 'out' parameters (#14521) 2020-06-23 10:53:57 +02:00
semparallel.nim [cleanup] fix UnusedImport sempass2 compiler/semparallel.nim (#14426) 2020-05-21 23:28:47 -07:00
sempass2.nim fixes #15076 (#15095) 2020-07-27 23:27:20 +02:00
semstmts.nim Fix forward declaration issues in template/macro context (#15091) 2020-07-29 16:17:20 +02:00
semtempl.nim Fix forward declaration issues in template/macro context (#15091) 2020-07-29 16:17:20 +02:00
semtypes.nim fixes #14189 (#15080) [backport] 2020-07-27 14:06:54 +02:00
semtypinst.nim fix #14698 nkRecWhen caused internalAssert in semConstructFields when generic type not mentioned in fields (#14709) 2020-07-27 22:32:21 +02:00
sighashes.nim fixes #5170 (#13589) 2020-03-05 16:02:34 +01:00
sigmatch.nim init checks and 'out' parameters (#14521) 2020-06-23 10:53:57 +02:00
sinkparameter_inference.nim fixes #14079 [backport:1.2] (#14163) 2020-04-29 21:58:59 +02:00
sizealignoffsetimpl.nim allow packed union (#14868) 2020-07-01 11:41:03 +02:00
sourcemap.nim Remove my wrongly written mangled-related code, not needed anymore (#13858) 2020-04-03 20:22:03 +02:00
spawn.nim scoped memory management (#14790) 2020-07-04 07:37:24 +02:00
strutils2.nim fix #14545 windows CI docs (#14590) 2020-06-10 14:10:57 +02:00
suggest.nim compiler: minor code cleanups 2020-07-27 08:05:52 +02:00
syntaxes.nim no more code duplication bw liMessage and rawMessage + several bug fixes (#14415) 2020-05-22 12:02:10 +02:00
tccgen.nim move tinyc to a separate repo and allow installing external dependencency (eg tinyc) from koch / library code (#13850) 2020-04-03 09:10:45 +02:00
transf.nim arc: cursors for simple for loop variables (#15008) 2020-07-17 15:24:36 +02:00
trees.nim drnim: tiny progress (#13882) 2020-04-15 20:03:25 +02:00
treetab.nim Cosmetic compiler cleanup (#12718) 2019-11-28 17:13:04 +01:00
types.nim Fix forward declaration issues in template/macro context (#15091) 2020-07-29 16:17:20 +02:00
typesrenderer.nim Cosmetic compiler cleanup (#12718) 2019-11-28 17:13:04 +01:00
varpartitions.nim strict func: much better error messages (#15068) 2020-07-25 19:36:53 +02:00
vm.nim Fix forward declaration issues in template/macro context (#15091) 2020-07-29 16:17:20 +02:00
vmconv.nim add --experimental:vmopsDanger; add generic conversion for vmops (#13813) 2020-04-20 12:00:00 +02:00
vmdef.nim Fix forward declaration issues in template/macro context (#15091) 2020-07-29 16:17:20 +02:00
vmdeps.nim expr => untyped; stmt => typed (#14804) 2020-06-25 10:22:08 +02:00
vmgen.nim 'isolate' builtin; refs https://github.com/nim-lang/RFCs/issues/244 (#15011) 2020-07-20 07:50:19 +02:00
vmhooks.nim Fix vm.nim for --gc:arc (#13741) 2020-03-26 15:18:45 +00:00
vmmarshal.nim make case-object transitions explicit, make unknownLineInfo a const, replace a few magic numbers with consts (#13170) 2020-01-17 10:34:31 +01:00
vmops.nim nim doc --backend:js, nim doc --doccmd:-d:foo, nim r --backend:js, --doccmd:skip + other improvements (#14278) 2020-05-11 12:01:18 +02:00
vmprofiler.nim cleanup of PR #14833 (VM profiler) 2020-07-09 19:21:20 +02:00
wordrecg.nim Add thiscall calling convention, mostly for hooking purpose (#14466) 2020-05-27 16:24:47 +02:00
writetracking.nim init checks and 'out' parameters (#14521) 2020-06-23 10:53:57 +02:00

Nim Compiler

  • This directory contains the Nim compiler written in Nim.
  • Note that this code has been translated from a bootstrapping version written in Pascal.
  • So the code is not a poster child of good Nim code.

See Internals of the Nim Compiler for more information.