summary refs log tree commit diff stats
path: root/compiler/lineinfos.nim
Commit message (Collapse)AuthorAgeFilesLines
* Implement https://forum.nim-lang.org/t/7848#50018 (#17874)c-blake2021-04-291-3/+5
| | | | | | | | | | | | | | | | | | | | * Implement https://forum.nim-lang.org/t/7848#50018 with just the same `SuccessX` hint category, build mode on a separate, final line, and no change to how the mode is spelled for -d:release/-d:danger. * Change to add a new BuildMode hint category and keep testament in sync as per comment. * Add "--hint:buildmode:off" to `defaultHintsOff`. * Remove as requested. * As requested for tests clean up. * Address code review. * Address code review. * Mirror db456423116a9b19666f551f4d38aded3964c2e2
* IC: green tests (#17311)Andreas Rumpf2021-03-191-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * IC: renamed to_packed_ast module to ic module * IC: don't store the --forceBuild flag, makes it easier to test * IC: enable hello world test * Codegen: refactorings for IC; changed the name mangling algorithm * fixed the HCR regressions * life is too short for HCR * tconvexhull is now allowed to use deepCopy * IC exposed a stdlib bug, required a refactoring * codegen: code cleanups * IC: even if a module is outdated, its dependencies might come from disk * IC: progress * IC: better name mangling, module IDs are not stable * IC: another refactoring helping with --ic:on --gc:arc * disable arraymancer on Windows for the time being * disable arraymancer altogether * IC: make basic test work with 'nim cpp' * IC: progress on --ic:on --gc:arc * wip; name mangling for type info
* stricter checks for RST headlines (#17089)Andrey Makarov2021-02-201-3/+6
|
* RST: implement footnotes and citations (#16960)Andrey Makarov2021-02-151-0/+2
| | | | | | | | | * RST: implement footnotes and citations * manual fixup of nimdoc.out.css * remove unused code * shorter printing code * Update lib/packages/docutils/rst.nim Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* IC: next steps (#16632)Andreas Rumpf2021-01-121-0/+1
| | | | | | | | | | | | | * 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
* Nil type check implementation (#15287)Alexander Ivanov2020-12-291-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Nil checking * Enable current older not nil checking again, run new checking only under flag, skip our test * Enable tests, work on try/except and bugs, fix notnil tests * Enable strictNotNil tests (currently with lowercase category) and add some expected output * Work on try/except/finally: still some things unclear and a lot of code can raise out of try * Fix the notnil build by going back to the old version of a test which I shouldn't have changed * Fix test : use action compile * Work on mutation and aliasing: not finished * Render var parititions graph, try to understand it, fix a nilcheck if bug * Rebase, progress on working with partitions * Improve time logic * Fix some bugs, use graph indices instead of symbol in nil map * Fix bugs, test simpler ident aliasing for now, support two mutation levels * Support ContentMutation and ReAssignment: for now just detect possible re assignment for var parameters of calls * Enable several simple passing tests * Cleanup a bit, fix condition/branch infix-related bug * Remove some files, address some comments by Araq * Use internalError and no quit for now * Separate tests with expected warnings and with expected ok, fix a bug with if with a single branch related to copyMap * Fix new data structures, bugs: make tests pass, disable some for now * Work on fixing errors with non-sym nodes, aliasing: tests fail * Work on alias support: simple set-based logic, todo more tests and ref sets? * Use ref sets: TODO can we think of handle seq-s similar to varpartitions' Araq ones * Handle defers in one place, stop raising in reverse to make an async test compile with strictNotNil, add a commented out test * Dot expressions: call/reassignment. Other refactorings and distinct, SeqOfDistinct support. Checkout an older varpartitions * Work on field tracking * Backup : trying to fix bugs when running some stdlib stuff for running an async test * Start a section about strict not nil checking in experimental manual * Fix experimental strict not nil manual section and move it to another file based on Araq feedback * Fix unstructured flow and double warning problems, fix manual, cleanup * Fix if/elif/else : take in account structure according to Araq feedback * Refactor a bit * Work on bracket expr support, re-enable tests, clarify in manual/tests/implementation static index support for now * Work on compiling stdlib and compiler with strictNotNil * Small fixes to the manual for strictNotNil * Fix idgen for strict check nil rebase * Enable some simple tests, remove old stuff, comment out code/print * Copy the original varpartitions source instead of my changes * Remove some files
* rst: add support for markdown tables (#15854)Miran2020-11-101-14/+16
| | | | | | | * rst: add support for markdown tables * change template into proc * don't create unnecessary `seq[string]`
* Use modern enums in compiler (#15775)cooldome2020-11-021-72/+34
|
* add --declaredlocs (#15666)Timothee Cour2020-10-211-2/+4
|
* disable 'observable stores' warning message for 1.4 (#15507)Andreas Rumpf2020-10-071-1/+1
|
* New hint for unused exceptions in .raises (#15492)IDF2020-10-061-1/+3
| | | | | | | * New hint for unused exceptions in .raises * Fix effects test * Further adapt teffects1.nim
* VM profiler (#14833)Ico Doornekamp2020-07-091-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* Make unreachable code a warning instead of an error (#14816)Clyybber2020-06-291-2/+4
| | | | | | | * Make unreachable code a warning * Adapt test * Trigger CI
* init checks and 'out' parameters (#14521)Andreas Rumpf2020-06-231-1/+1
| | | | | | | | | | | * I don't care about observable stores * enforce explicit initializations * cleaner code for the stdlib * stdlib: use explicit initializations * make tests green * algorithm.nim: set result explicitly * remove out parameters and bring the PR into a mergable state * updated the changelog
* warn about observerable stores but don't prevent them for 1.2.2 ↵Andreas Rumpf2020-05-301-2/+6
| | | | [backport:1.2]; refs https://github.com/nim-lang/RFCs/issues/230 (#14510)
* make it easier to figure out how to debug issues (#14477)Timothee Cour2020-05-281-1/+11
|
* no more code duplication bw liMessage and rawMessage + several bug fixes ↵Timothee Cour2020-05-221-0/+6
| | | | | | | (#14415) * no more code duplication bw rawMessage and liMessage; fixes some bugs in rawMessage * all compiler messages work with hint:msgorigin
* change the [Processing] messages into dots (#14418)Andreas Rumpf2020-05-211-1/+1
| | | | | | | * change the [Processing] messages into dots * better implementation * maybe I should work on something else...
* no more guessing where compiler msgs came from (#14317)Timothee Cour2020-05-131-3/+5
|
* fix #14314 do not analyze importc procs for effects (#14319)Timothee Cour2020-05-121-2/+2
|
* Make unreachable else in case statements a warning instead of an error (#14190)Clyybber2020-05-021-2/+3
| | | | | * Fix #14019 by making trailing else a warning * Rename to UnreachableElse
* fixes #14052 [backport:1.2] (#14055)Andreas Rumpf2020-04-211-1/+2
|
* Turn some of the errors back into warningsZahary Karadjov2020-04-011-0/+6
|
* Turn the warning for uninitialized (result) variables into errorsZahary Karadjov2020-04-011-0/+2
|
* cycle breaker (#13593)Andreas Rumpf2020-03-191-1/+1
| | | | * cycle breaking as an alternative to cycle detection
* fix #13412 nim now recompiles for stdin input; SuccessX now configurable; ↵Timothee Cour2020-03-191-1/+1
| | | | | | can show whether it recompiled (#13506) * fix #13412 nim now recompiles for stdin input; SuccessX now indicates whether it recompiled
* new feature: --staticBoundChecks:on to enforce static array index checking ↵Andreas Rumpf2020-03-181-2/+5
| | | | (#10965)
* catchable defects (#13626)Andreas Rumpf2020-03-121-2/+5
| | | | | | | | | | * 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
* `koch --nim:pathto/nim boot` and `koch boot --hint:cc:off` now work (#13516)Timothee Cour2020-03-111-1/+1
| | | | | * `koch boot --hint:cc:off` now works * `koch --nim:pathto/nim boot` now works; code cleanup
* make case-object transitions explicit, make unknownLineInfo a const, replace ↵Jasper Jenkins2020-01-171-6/+2
| | | | a few magic numbers with consts (#13170)
* successX now correctly shows html output for `nim doc`, `nim jsondoc`; fix ↵Timothee Cour2020-01-151-1/+1
| | | | | | | | #13121 (#13116) * successX now correctly shows html output for nim doc * fixes #13121 * fixup hintSuccessX to be less weird
* make SuccessX show project file + output file (#13043)Timothee Cour2020-01-081-1/+2
| | | | | | | * make SuccessX show project file + output file * address comments * fix test and add `result.err = reNimcCrash` otherwise hard to see where reNimcCrash used * address comments
* [easy] --hint:link:on now shows link cmd instead of nothing (#13056)Timothee Cour2020-01-071-1/+1
| | | | | | * --hint:link:on now shows link cmd instead of nothing * update doc for --listCmd
* ARC: implemented a simple cycle detectorAraq2019-11-281-2/+3
|
* Fix to the relevant path of the docs. (#12162)Benny Elgazar2019-09-101-1/+1
|
* bugfix: it should be [UnusedImport] [nobackport]Araq2019-07-191-2/+1
|
* warn about unused imports; fixes an 'export' regression [nobackport]Andreas Rumpf2019-07-181-3/+5
|
* [feature] detect unused importsAraq2019-07-171-2/+5
|
* better run [feature] (#11709)Andreas Rumpf2019-07-111-2/+4
| | | | | | | * track the checksums of all involved Nim files for smarter 'nim c -r' recompiles * don't recompile unless necessary for 'nim c -r' [feature] * [feature] koch boot uses a two step process in order to free the RAM before the GCC/Clang invocations * fixes a serious regression
* styleCheck: make the compiler and large parts of the stdlib compatible with ↵Araq2019-07-101-3/+3
| | | | --styleCheck:error
* nim styleChecker: implemented all the missing features (bugfix)Araq2019-07-101-1/+1
|
* Warn about object case transitions at compile time (#11378)genotrance2019-06-021-2/+3
|
* new compiler feature: --expandMacroAraq2019-05-291-2/+3
|
* remove shadow warning, fixes #10732 (#11039)Miran2019-04-171-4/+3
|
* Merge branch 'devel' into araq-quirky-exceptionsAndreas Rumpf2019-02-081-2/+2
|\
| * fix #9842 #9951: `nim -r` and parseopt.cmdLineRest are now correctTimothee Cour2019-01-141-1/+1
| |
| * Deprecate gc v2 (#10151)Neelesh Chandola2019-01-011-1/+1
| | | | | | | | | | | | * Deprecate gc v2 * warnDeprecated now has custom messages
* | --define:nimQuirky exception handling for Nim; in preparation of a blog postAndreas Rumpf2019-01-031-1/+1
|/
* Of operator in vm fixes [backport] (#9717)cooldome2018-11-151-2/+3
| | | | | | * fixes #9701 * fixes #9702 * optimize of statement to bool
* compiler: show name of instantiating context in error traces (#6763) (#9207)xzfc2018-10-111-1/+1
|