summary refs log tree commit diff stats
path: root/compiler/condsyms.nim
Commit message (Collapse)AuthorAgeFilesLines
* fixes #19078 [backport] (#19090)Andreas Rumpf2021-11-021-0/+2
|
* strict effects (#18777)Andreas Rumpf2021-09-021-0/+1
| | | | | | | | | | | | | | | | | * fixes #17369 * megatest is green for --cpu:arm64 * docgen output includes more tags/raises * implemented 'effectsOf' * algorithm.nim: uses new effectsOf annotation * closes #18376 * closes #17475 * closes #13905 * allow effectsOf: [a, b] * added a test case * parameters that are not ours cannot be declared as .effectsOf * documentation * manual: added the 'sort' example * bootstrap with the new better options
* ORC: support for custom =trace procs (#18459)Andreas Rumpf2021-07-091-0/+1
| | | | | | | | | | | * ORC: support custom =trace procs (WIP) * Update tests/arc/tcustomtrace.nim Co-authored-by: Clyybber <darkmine956@gmail.com> * =trace is now documented and seems to work * make test green Co-authored-by: Clyybber <darkmine956@gmail.com>
* support `--hint:all:off --hint:x` (ditto with `--warnings` + friends) (#17852)Timothee Cour2021-06-201-1/+1
| | | | | * select all hints via `--hint:all:on|off`, etc * simplify code with setutils * address comment
* use dragonbox algorithm; alternative to #18008 (#18139)Andreas Rumpf2021-06-011-0/+2
| | | | | * use dragonbox algorithm; alternative to #18008 * removed unsafe code
* `typeof(voidStmt)` now works (#17807)Timothee Cour2021-04-231-0/+1
| | | | | | | | * `typeof(voidStmt)` now works * remove typeOrVoid * add condsyms, and reference cligen https://github.com/c-blake/cligen/pull/193 * fixup * changelog [skip ci] * fixup
* iterable[T] (#17196)Timothee Cour2021-04-111-0/+1
| | | | | | | | * fix failing test toSeq in manual which now works * changelog * reject proc fn(a: iterable) * add iterable to spec * remove MCS/UFCS limitation that now works
* unify tuple expressions (#13793)Arne Döring2021-03-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * unify tuple expressions * fix test * fix test * apply feedback * Handle empty tuples * Fix rendering named unary tuple * Protect static NimNode against stripping * Slightly less hacky * Revert "Slightly less hacky" This reverts commit 170c5aec0addc029f637afbc948700ca006b7942. * Slightly less hacky * Cleanup * Fix test * Fix another test * Add condsym * Rebase fallout * changelog: Move from compiler changes to language changes * Add stricter tests * Add empty tuple example to doc/astspec * Fix test Co-authored-by: Clyybber <darkmine956@gmail.com>
* followup custom literals (#17500)Timothee Cour2021-03-271-0/+1
|
* followup #16067 --spellSuggest (#17401)Timothee Cour2021-03-171-0/+1
| | | | | | | * followup #16067 --spellSuggest * enable --spellSuggest by default * fixup
* remove tests/deps/ (#17132)Timothee Cour2021-02-231-1/+2
| | | | | | | | | * remove tests/deps/ * fix tests * fix tests/manyloc/keineschweine/lib/zlib_helpers.nim * fixup
* add -d:nimStrictMode in CI to keep code from regressing; fixes ↵Timothee Cour2021-02-171-0/+1
| | | | ConvFromXtoItselfNotNeeded, UnusedImport notes (#16764)
* remove all uses of condsyms symbols defined prior to bootstrap nim 0.20.0 ↵Timothee Cour2021-02-171-46/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#16918) * nimNoArrayToCstringConversion deadcode * nimbabel deadcode * nimHasalignOf deadcode * nimvarargstyped deadcode * nimhygiene deadcode * nimNewTypedesc deadcode * nimlocks deadcode * nimHasCppDefine deadcode * nimHasRunnableExamples deadcode * nimHasNilChecks deadcode * nimSymKind deadcode * minor macros refactoring * nimVmEqIdent deadcode * nimNoNil deadcode * nimNoZeroTerminator deadcode * nimHasSymOwnerInMacro deadcode * nimVmExportFixed deadcode * nimNewRuntime deadcode * nimAshr deadcode * nimUncheckedArrayTyp deadcode * nimHasTypeof deadcode * nimErrorProcCanHaveBody deadcode * nimHasHotCodeReloading deadcode * nimHasSignatureHashInMacro deadcode * nimHasDefault deadcode * nimMacrosSizealignof deadcode
* remove conditionals on nimHasUserErrors, nimNoNilSeqs2, nimNoNilSeqs (#16861)Timothee Cour2021-01-291-3/+3
| | | | | | | | | * cleanup docs for type(nil) | type(nil); simplify nimHasUserErrors * simplify nimNoNilSeqs2 * simplify nimNoNilSeqs * fixup
* `--hintAsError` (#16763)Timothee Cour2021-01-201-0/+1
| | | | | | | * --hintAsError * add test, changelog * condsyms
* [backport 1.0] add backend support for js bigint (#16606)Timothee Cour2021-01-061-0/+1
| | | | | | | | | | | | | * add backend support for js bigint * cleanup * add tests * add -d:nimHasJsBigIntBackend * cleanup * more tests
* clean up old codes (#16284)flywind2020-12-091-1/+0
| | | | | | | * clean up old codes * fix docs and links * clean
* Use modern enums in compiler (#15775)cooldome2020-11-021-5/+5
|
* condsyms: add nimHasDeclaredLocs (#15735)Timothee Cour2020-10-271-0/+1
|
* implements https://github.com/nim-lang/RFCs/issues/258 (#15503)Andreas Rumpf2020-10-061-0/+2
| | | | | | | | | * implements https://github.com/nim-lang/RFCs/issues/258 * don't be too strict with custom pragma blocks * cast pragmas: documentation * added most missing inference query procs to effecttraits.nim
* finish the stacktraces.nim implementation [backport:1.2] (#15393)Andreas Rumpf2020-09-231-0/+1
|
* Big compiler Cleanup (#14777)Clyybber2020-08-281-1/+1
|
* Fix #5691 (#15158)Clyybber2020-08-271-0/+1
| | | | | | | | * Fix #5691 * Cleanup and thoughts * Use scope approach * Seperate defined/declared/declaredInScope magics * Fix declaredInScope * Update spec accordingly
* fix #14421 items uses lent T (#14447)Timothee Cour2020-05-291-0/+1
| | | | | * fix #14421 items uses lent T for seq + openArray * add -d:nimWorkaround14447 * fix test
* fixes #13881Andreas Rumpf2020-05-121-0/+1
| | | | | | * fixes #13881 * documented changed requirements for system.onThreadDestruction * destructors.rst: update the documentation
* forward type alignment information to seqs (#12430)Arne Döring2020-04-191-0/+1
|
* DrNim (Nim compiler with Z3 integration) (#13743)Andreas Rumpf2020-03-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | * code cleanups and feature additions * added basic test and koch/CI integration * make it build on Unix * DrNim: now buildable on Unix, only takes 10 minutes, enjoy * added basic documentation for DrNim which can also be seen as the RFC we're following * drnim: change the build setup so that drnim.exe ends up in bin/ * makes simple floating point ranges work * added basic float range check * drnim: teach Z3 about Nim's range types plus code refactoring * drnim: make unsigned numbers work * added and fixed index checking under setLen * first implementation of .ensures, .invariant and .assume (.requires still missing and so is proc type compatibility checking * drnim: .requires checking implemented * drnim: implemented .ensures properly * more impressive test involving min() * drnim: check for proc type compatibility and base method compatibility wrt .requires and .ensures * testament: support for 'pattern <directory> * koch: uses new <directory> feature of testament * drnim: added tiny musings about 'old' * Make testament work with old SSL versions * koch: add support for 'koch drnim -d:release' * drnim: preparations for the param.old notation
* stacktraces can now show custom runtime msgs per frame (#13351)Timothee Cour2020-03-301-0/+1
| | | | | | | | * 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
* catchable defects (#13626)Andreas Rumpf2020-03-121-0/+1
| | | | | | | | | | * 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
* 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
* cleanup Ordinal (#13501)Timothee Cour2020-02-271-0/+1
|
* replace old problematic isNamedTuple implementation by TypeTrait ↵Timothee Cour2020-02-071-0/+1
| | | | | | | | isNamedTuple in dollars.nim (#13347) * replace old problematic isNamedTuple implementation by TypeTrait isNamedTuple * fix for bootstrap
* enable testing -d:nimHasLibFFI mode (#13091)Timothee Cour2020-02-041-0/+6
|
* --exception:goto switch for deterministic exception handling (#12977)Andreas Rumpf2020-01-011-0/+1
| | | | | This implements "deterministic" exception handling for Nim based on goto instead of setjmp. This means raising an exception is much cheaper than in C++'s table based implementations. Supports hard realtime systems. Default for --gc:arc and the C target because it's generally a good idea and arc is all about deterministic behavior. Note: This implies that fatal runtime traps are not catchable anymore! This needs to be documented.
* .cursor implementation (#12637)Andreas Rumpf2019-11-121-0/+1
| | | | | | | | | | | * cursors: first implementation * added currently failing test * .cursor works for doubly linked lists * make -d:useMalloc work again * added code to nil out refs in a destructor * it's now called --gc:arc * renderer.nim: render nkBreakState properly * make simple closure iterators work without leaking
* fixes a regression that caused that Nim devel cannot compile 1.0 anymoreAraq2019-10-241-0/+1
|
* fixes a regression that caused that Nim devel cannot compile 1.0 anymoreAraq2019-10-241-0/+1
|
* Refactor json macro (#12391)Arne Döring2019-10-171-0/+1
| | | | | | | | * closes #12316 * make tjsonmacro work at js target * closes #12289 * closes #11988 * also fixed gdb related stuff
* ungeneric unsigned ops (#12230)Jasper Jenkins2019-10-111-1/+0
| | | | | | | | | | * ungenericise unsigned ops, remove nimNewShiftOps * fix/remove tests * update t6448 * fix line info * disable on 32bit * fix different line info * add changelog entry
* remove nimnomagic64 (#12243)Jasper Jenkins2019-09-241-1/+0
|
* add nodeId proc to macros (#11456)Arne Döring2019-09-181-0/+1
| | | | | | | | * add nodeId proc to macros * add doc comment. * fix typo
* hashes: implement murmur3 (#12022)Miran2019-09-011-0/+1
| | | | | | | | * hashes: implement murmur3 * refactoring; there is only one murmurHash and it works at compile-time via VM hooks * fixes JS tests * makes toOpenArrayByte work with C++ * make it bootstrap in C++ mode for 0.20
* fixes #12029; finish the 'unused import' feature (#12064)Andreas Rumpf2019-08-271-0/+1
|
* [refactoring] remove unused imports in the compiler and in some stdlib modulesAraq2019-07-181-1/+1
|
* styleCheck: make the compiler and large parts of the stdlib compatible with ↵Araq2019-07-101-0/+1
| | | | --styleCheck:error
* newruntime for async (#11650)Andreas Rumpf2019-07-051-0/+2
| | | | | | | * fixes overloading resolution for passing owned(Future[string]) to Future[T] * WIP: make --newruntime work with .async * memtracker: make it compile again * make Nimble compile again
* [refactoring] remove zeroExtend and friends from the compiler builtins. (#11531)Arne Döring2019-06-241-0/+1
| | | | | * remove zeroExtend and friends from the compiler builtins. * fix jssys
* Remove immediate pragma (#11308)Arne Döring2019-05-291-1/+0
| | | | | * remove immediate from tests * remove immediate from the compiler
* sizeof alignof offsetof macros api (#10855)Arne Döring2019-03-191-0/+1
|
* added system.default in order to prevent the abstraction inversion that ↵Andreas Rumpf2019-03-051-0/+1
| | | | 'template default(T): untyped = (var x: T; x)' causes