summary refs log tree commit diff stats
path: root/compiler/commands.nim
Commit message (Collapse)AuthorAgeFilesLines
* document `since` (#17048)Timothee Cour2021-02-161-5/+3
| | | | * document `since` * address comment
* `--hintAsError` (#16763)Timothee Cour2021-01-201-4/+6
| | | | | | | * --hintAsError * add test, changelog * condsyms
* Deprecate TaintedString (#15423)Juan Carlos2021-01-151-2/+2
| | | | Co-authored-by: Timothee Cour <timothee.cour2@gmail.com> Co-authored-by: Dominik Picheta <dominikpicheta@googlemail.com>
* IC: next steps (#16632)Andreas Rumpf2021-01-121-3/+3
| | | | | | | | | | | | | * removed dead code * beginnings of a rodfile reader * IC: record global VM state changes and pragma state changes * IC: replay pragmas and VM state changes * implemented rod load file simuation for easier, extensive testing * critical bugfix * IC: stress test logic; should also help with recursive module dependencies; WIP * IC: loading from .rod files begins to work reliably * removed ugly hacks * yet another silly mistake
* IC: next steps (#16550)Andreas Rumpf2021-01-071-8/+9
| | | | | | | | | | | | | | | | | | * cleanups * ast.nim: cleanups * IC: no more sym.tab field, stored externally in the module graph * nimble compiles again * rodfiles: store bitwidth of integers and the endianness in the cookie because we serialize 'int' directly * rodfiles: added compilerproc and export sections * rodfiles: added all the missing sections * rodfiles: track the missing information * IC: architecture for lazy loading of proc bodies * make tests green again * completed the lazy loading of proc bodies * symbol lookup integration, part 1 * symbol lookup integration, part 2 * symbol lookup integration, part 3 * make tcompilerapi work again * rodfiles: fixed config change handling
* make --gc:arc --exceptions:quirky work again [backport:1.4] (#16583)Andreas Rumpf2021-01-041-0/+4
| | | | | * make --gc:arc --exceptions:quirky work again [backport:1.4] * fixes #16404 [backport:1.4]
* big steps torwards an efficient, simple IC implementation (#16543)Andreas Rumpf2021-01-021-5/+0
| | | | | | | | | | | | | | | | | | | * reworked ID handling * the packed AST now has its own ID mechanism * basic serialization code works * extract rodfiles to its own module * rodfiles: store and compare configs * rodfiles: store dependencies * store config at the end * precise dependency tracking * dependency tracking for rodfiles * completed loading of PSym, PType, etc * removed dead code * bugfix: do not realloc seqs when taking addr into an element * make IC opt-in for now * makes tcompilerapi green again * final cleanups Co-authored-by: Andy Davidoff <github@andy.disruptek.com>
* fix #16346 rst2html now honors SuccessX (#16347)Timothee Cour2020-12-261-0/+7
| | | | | | | | | | | * fix #16346 SuccessX rst2html * cleanups * _ * _ * _
* add test for --eval; fix a minor bug (#16224)Timothee Cour2020-12-011-0/+1
|
* cmdline: improve command processing (#16056)Timothee Cour2020-11-261-10/+47
|
* fix #16033 nim js --gc:arc works and ignores --gc:arc (#16036)Timothee Cour2020-11-181-1/+4
|
* new: `nim -e:cmd` to run a command directly; also fixes #15731 (#15687)Timothee Cour2020-11-091-6/+19
| | | | | | | | | | | | | | | * new: `nim -i cmd` * rename -i to -e (for eval); consistent with majority of other programing languages * `nim e -e:cmd` now works; bugfix: `echo cmd | nim e -` now works * honor --betterRun * address comments * --eval alias for -e (replaces undocumented --eval which was a noop) * --eval now defaults to e (nimscript) instead of r * address comment: remove -e, only keep --eval * address comment * fixup * Update compiler/nimconf.nim Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* EnumUtils, speed up findStr in compiler (#15777)cooldome2020-11-031-2/+2
| | | | | | | | * add parseEnumRange * fix runnable example * update changelog * use parseEnumRange in compiler * reorganise code * add changelog, make single normalizer argument
* Use modern enums in compiler (#15775)cooldome2020-11-021-4/+4
|
* CleanupClyybber2020-10-221-2/+0
|
* add Source+Edit links on top of every docgend file (#15642)Timothee Cour2020-10-221-0/+2
|
* add --declaredlocs (#15666)Timothee Cour2020-10-211-0/+2
|
* Make useVersion:1.0 disable the proc arg sym change (#15570)Clyybber2020-10-141-0/+6
| | | | | * Make useVersion:1.0 disable the proc arg sym change * Also do this for useVersion:1.2
* Update the list of GC options when raising an error (closes #15547) (#15553)Benjamin Lee2020-10-141-1/+1
|
* fix #15405. deepcopy arc (#15410)cooldome2020-10-011-1/+2
| | | | | | | * fix #15405 * fix tests * deepcopy for ARC has to be enabled via --deepcopy:on Co-authored-by: Araq <rumpf_a@web.de>
* fix the indentation in `--help` and `--fullhelp` (#15387)Miran2020-09-231-2/+2
| | | | | * fix the indentation in `--help` and `--fullhelp` * a better way to fix it
* fixes #15325 (#15340)Andreas Rumpf2020-09-161-0/+3
|
* Big compiler Cleanup (#14777)Clyybber2020-08-281-11/+10
|
* Fix forward declaration issues in template/macro context (#15091)Clyybber2020-07-291-2/+0
| | | | | | | | | | | | | | | | | | | | | | | * 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
* fix #14684 (#15059)Bung2020-07-251-0/+2
|
* An optimizer for ARC (#14962)Andreas Rumpf2020-07-151-0/+3
| | | | | | | | | | | | | | | | | | | | * WIP: an optimizer for ARC * do not optimize away destructors in 'finally' if unstructured control flow is involved * optimized the optimizer * minor code cleanup * first steps to .cursor inference * cursor inference: big steps to a working solution * baby steps * better .cursor inference * new feature: expandArc for easy inspection of the AST after ARC transformations * added topt_cursor test * adapt tests * cleanups, make tests green * optimize common traversal patterns * moved test case * fixes .cursor inference so that npeg compiles once again * cursor inference: more bugfixes Co-authored-by: Clyybber <darkmine956@gmail.com>
* fix #14912, make `--useVersion:1.0` work again (#14945)Miran2020-07-101-0/+1
| | | | | * fix #14912, make `--useVersion:1.0` work again * a better fix * add test
* VM profiler (#14833)Ico Doornekamp2020-07-091-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | * Crude VM profiler * Added --profileVM flag, refactoring * fixed FileLine hash * Use TLineInfo instead of own FileLine, updated formatting * Refactoring, moved PStackFrame to vmdefs for cleaner data structure * Moved vmprofiler to separate file * Simplified TLineInfo hash, use toFileLineCol for output * Hash * Moved profile data into Config, dump only once at end of run * Changed profile output header to show '#instr' instead of 'count' * Do not accumulate instrcount for non-top frames Co-authored-by: Ico Doornekamp <git@zevv.nl>
* Clean out oldast (#14837)Juan Carlos2020-06-301-2/+0
| | | | * Clean out old Deprecated CLI switch * Update to remove --oldast CLI option
* Deprecated laxStrings for mutating the internal zero terminator on strings ↵Juan Carlos2020-06-231-1/+0
| | | | | and its Deprecated code cleaned out (#14766) Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* Deprecate oldNewlines, clean out deprecated code from oldNewlines (#14763)Juan Carlos2020-06-231-10/+0
|
* compiler/commands: make gitHash settable at compile-time. (#14654)alaviss2020-06-141-1/+1
| | | | This is useful for building nightlies, since we will be building from a generated source archive and git metadata is lost there.
* bug fixes with sfMainModule, hints, mainPackageNotes, mainPackageId, ↵Timothee Cour2020-06-041-2/+0
| | | | | | | hintSuccessX (#14555) * SuccessX `out` now works with --compileOnly and jsonscript; fix bugs in jsonscript * several bug fixes; eg: `nim doc lib/system/io` now is sane * dummy edit to force docs CI
* fix #6583, fix #14376, index+search now generated for all projects, many bug ↵Timothee Cour2020-05-251-2/+2
| | | | | | | | | fixes with nim doc (#14324) * refs #6583 fix nim doc output * changelog * change default for outDir when unspecified * cleanups * --project implies --index
* fix #14364 (#14372) [backport:1.2]Ștefan Talpalaru2020-05-181-0/+1
| | | | Turn on the TLS emulation when using Boehm, since it doesn't scan the real TLS.
* fix some issues with --backend (#14363)Timothee Cour2020-05-161-4/+0
| | | | | * fix some issues with --backend * fix https://github.com/timotheecour/Nim/issues/175; improve upon #14306
* `nim doc --backend:js`, `nim doc --doccmd:-d:foo`, `nim r --backend:js`, ↵Timothee Cour2020-05-111-2/+9
| | | | | | | | | | `--doccmd:skip` + other improvements (#14278) * `nim doc --backend:js|cpp...` `nim doc --doccmd:'-d:foo --threads:on'` `nim r --backend:cpp...` (implies --run --usenimcache) * --usenimcache works with all targets * --docCmd:skip now skips compiling snippets; 50X speedup for doc/manual.rst
* --hint:processing (+friends) is now supported and means ↵Timothee Cour2020-05-081-3/+5
| | | | `--hint:processing:on`, like all other bool flags (#14271)
* remove the nilChecks switch; refs #11570Araq2020-04-201-2/+2
|
* new feature: ability to turn specific warnings to errorsAndreas Rumpf2020-04-041-5/+12
|
* sourcemaps for the JS codegen (#7508)Alexander Ivanov2020-04-031-0/+4
|
* stacktraces can now show custom runtime msgs per frame (#13351)Timothee Cour2020-03-301-0/+2
| | | | | | | | * stacktraces can now show custom runtime msgs * improve tests/stdlib/tstackframes.nim * fix test for --gc:arc * test --stacktraceMsgs:on and --stacktraceMsgs:off * --stacktracemsgs:off by default
* '.push raises: []' now also affects proc types (#13776)Andreas Rumpf2020-03-291-0/+1
| | | | | | | | | * '.push raises: []' now also affects proc types * fixes the regression * less disruptive bugfix * another attempt
* new feature: --staticBoundChecks:on to enforce static array index checking ↵Andreas Rumpf2020-03-181-0/+2
| | | | (#10965)
* catchable defects (#13626)Andreas Rumpf2020-03-121-0/+4
| | | | | | | | | | * allow defects to be caught even for --exceptions:goto (WIP) * implemented the new --panics:on|off switch; refs https://github.com/nim-lang/RFCs/issues/180 * new implementation for integer overflow checking * produce a warning if a user-defined exception type inherits from Exception directly * applied Timothee's suggestions; improved the documentation and replace the term 'checked runtime check' by 'panic' * fixes #13627 * don't inherit from Exception directly
* fixes #13519Araq2020-03-111-2/+4
|
* sink parameter inference for types that have destructors (#13544)Andreas Rumpf2020-03-041-0/+2
| | | | | | | | | | | | | | * ensure capitalize doesn't take an inferred sink parameter * sink parameter inference: first version, for now disabled. Changed that sink parameters can be consumed multiple times in order to adhere to our spec. * sink inference can now be disabled with .nosinks; sometimes for proc type interop this is required * fixes yet another critical DFA bug * better implementation that also understands if expressions etc * document sink parameter inference and allow for global disabling
* properly handle note override logic/verbosity/config/cmdline using ↵Timothee Cour2020-02-271-21/+20
| | | | modifiedyNotes, cmdlineNotes
* remove isCmdLine; use passCmd1Timothee Cour2020-02-271-2/+2
|
* correctly honor cmdline --hint:conf:on/off ; correctly show Conf hints in orderTimothee Cour2020-02-271-0/+6
|