summary refs log tree commit diff stats
path: root/compiler/options.nim
Commit message (Collapse)AuthorAgeFilesLines
* stacktraces can now show custom runtime msgs per frame (#13351)Timothee Cour2020-03-301-2/+4
| | | | | | | | * 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
* bump copyright year to 2020 (#13753)Miran2020-03-251-1/+1
|
* new feature: --staticBoundChecks:on to enforce static array index checking ↵Andreas Rumpf2020-03-181-2/+2
| | | | (#10965)
* fix #13218: avoid some irrelevant warnings for nim doc,rst2html,--app:lib, + ↵Timothee Cour2020-03-131-0/+8
| | | | | | | | other fixes (#13550) * fix #13218: avoid some irrelevant warnings for nim doc,rst2html * suppress warnRedefinitionOfLabel for nim doc * lots of fixes for UnusedImport warnings
* catchable defects (#13626)Andreas Rumpf2020-03-121-4/+7
| | | | | | | | | | * 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-3/+4
| | | | | | | | | | | | | | * 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-5/+7
| | | | modifiedyNotes, cmdlineNotes
* remove isCmdLine; use passCmd1Timothee Cour2020-02-271-2/+0
|
* correctly honor cmdline --hint:conf:on/off ; correctly show Conf hints in orderTimothee Cour2020-02-271-0/+4
|
* fix #8312 --hints:off and --warnings:off now honored everywhere (#13489)Timothee Cour2020-02-261-0/+6
|
* fix #13150 `nim doc --project` now works reliably (#13223)Timothee Cour2020-02-061-0/+19
| | | | | | | | | | * fix #13150 `nim doc --project` works with duplicate names and with imports below main project file * add to help; fixup after #13212 isRelativeTo got merged * fix test tests/compilerapi/tcompilerapi.nim * remove nimblePkg field; compute on the fly instead * kochdocs: compiler docs now under compiler/ * --docRoot now has smart default: best among @pkg, @path
* make goto based exceptions available for 'nim cpp' (#13244)Andreas Rumpf2020-01-251-0/+1
| | | | | * make goto based exceptions available for 'nim cpp' * optimize seq.add to be comparable to C++'s emplace_back
* VM: allow overriding MaxLoopIterations without rebuilding nim (#13233)Timothee Cour2020-01-231-1/+3
|
* fixes #12998 nim doc regression (#13117)Timothee Cour2020-01-161-0/+3
|
* successX now correctly shows html output for `nim doc`, `nim jsondoc`; fix ↵Timothee Cour2020-01-151-2/+0
| | | | | | | | #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-0/+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
* --exception:goto switch for deterministic exception handling (#12977)Andreas Rumpf2020-01-011-1/+7
| | | | | 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.
* fixes #12735 on osx, call dsymutil for debug builds (#12931)Timothee Cour2019-12-211-0/+1
| | | | | | * fix #12735 osx: dsymutil needs to be called for debug builds * also write dsymutil command to extraCmds in json build file
* ARC: cycle detector (#12823)Andreas Rumpf2019-12-171-1/+1
| | | | | | | | | | | | | * first implementation of the =trace and =dispose hooks for the cycle collector * a cycle collector for ARC: progress * manual: the .acyclic pragma is a thing once again * gcbench: adaptations for --gc:arc * enable valgrind tests for the strutils tests * testament: better valgrind support * ARC refactoring: growable jumpstacks * ARC cycle detector: non-recursive algorithm * moved and renamed core/ files back to system/ * refactoring: --gc:arc vs --gc:orc since 'orc' is even more experimental and we want to ship --gc:arc soonish
* Path substitution for --out and --outdir (#12796)genotrance2019-12-031-3/+1
| | | | | * Enable pathSubs for --out and --outDir * Cleanup
* Fixes #12767 (#12768)genotrance2019-11-291-0/+2
|
* Cosmetic compiler cleanup (#12718)Clyybber2019-11-281-5/+5
| | | | | | | | | | | | | | | | | | * Cleanup compiler code base * Unify add calls * Unify len invocations * Unify range operators * Fix oversight * Remove {.procvar.} pragma * initCandidate -> newCandidate where reasonable * Unify safeLen calls
* Substitute $nimbleDir in --path flags (#12750)genotrance2019-11-281-0/+10
|
* implemented a new localPassc pragma (#12706)Andreas Rumpf2019-11-221-1/+2
|
* added the --asm command line option for inspection of the produced assember ↵Andreas Rumpf2019-11-211-0/+1
| | | | code (#12699)
* conversions to unsigned numbers are not checked anymore; implements /… ↵Andreas Rumpf2019-11-201-0/+4
| | | | | | | | (#12688) [backport] * conversions to unsigned numbers are not checked anymore; implements / fixes https://github.com/nim-lang/RFCs/issues/175 * change the spec yet again to be less consistent but to make more sense; updated the changelog
* add --clearNimblePath; fixes #12601 (#12609)Andy Davidoff2019-11-061-0/+3
|
* --os:ios needs to imply defined(macosx) [backport] (#12585)Andreas Rumpf2019-11-041-1/+1
|
* --gc:destructors now means Nim uses pure refcounting (#12557)Andreas Rumpf2019-10-301-0/+1
|
* refactoring: --newruntime consists of 3 different switchesAraq2019-10-201-1/+5
|
* compiler/options: only check the last folder for a candidate (#12421)alaviss2019-10-161-9/+8
| | | | This prevents a nimble file from causing a different project to be targeted instead of the desired one.
* compiler/options: improve project file detection (#12404)alaviss2019-10-111-6/+26
| | | | | The compiler can now correctly find the project file of a nimble package. The algorithm is based on what used by nim.nvim, which has yielded good results.
* nimsuggest: add a command that returns the project file (#12411)alaviss2019-10-111-1/+3
| | | | | | | This can be used to let nimsuggest users know which project is nimsuggest being in charge of, so they can know when should a new nimsuggest instance be spawned. An additional feature is to debug the project file finding feature.
* added cpuTime to VM (#12346)Ico Doornekamp2019-10-041-0/+1
| | | | | | * added cpuTime to VM * Hide VM-time cpuTime() behind --benchmarkVM flag
* Fix spellings (#12277) [backport]Federico Ceratto2019-09-271-1/+1
|
* fixes the --verbosity:2 regression [backport]Andreas Rumpf2019-09-241-1/+1
|
* living in unix-land, eye to eye, where nothing ever works; fixes #12226Andreas Rumpf2019-09-211-2/+6
|
* Add --os:ios switch and docs. (#12204)treeform2019-09-181-3/+5
|
* fixes #11675Araq2019-09-081-1/+1
|
* Remove ENDB (#12095)Clyybber2019-08-311-1/+0
|
* refactor sizealignoffset (#12077)Andreas Rumpf2019-08-281-0/+10
| | | | | | | | | | | | | | * small refactoring * refactor computeObjectOffsetFoldFunction with AccumObject * refactor packed object offstes fold function * refactor compute union object offsets fold function * merge normal/packed object offset fold function * compiletime offsetof in c++ inheritance objects * enable c++ inheritance offsetof tests * correct alignment for big sets/enums on weird 32bit platforms * uncomputedSize -> unknownSize * workaround for travis * fixes win32 alignment problems
* new gensym handling (#11985)Andreas Rumpf2019-08-231-0/+1
| | | | | | | | | | | * new .gensym implementation * make astspec test green again * introduce a --useVersion switch to group compatibility switches * fixes #10180 * fixes #11494 * fixes #11483 * object constructor fields and named parameters are also not gensym'ed * disabled broken package
* Lock semchecked ast for macros (#11883) [bugfix]Arne Döring2019-08-081-1/+8
| | | | | | * reject to modify type checked AST * add flag to back out * Introduce legacy feature set.
* [refactoring] remove unused imports in the compiler and in some stdlib modulesAraq2019-07-181-1/+1
|
* better run also considers the command line; fixes #11719 [feature]Araq2019-07-121-0/+2
|
* newruntime: refchecks:on|off switchAraq2019-07-121-3/+3
|
* fixes linter regressionsAraq2019-07-101-1/+1
|
* styleCheck: make the compiler and large parts of the stdlib compatible with ↵Araq2019-07-101-7/+7
| | | | --styleCheck:error
* compiler/[msgs, options]: confine --listFullPaths to compiler messages (#11583)alaviss2019-06-261-1/+1
| | | | | | | | | | | | | | | | | | | | | * compiler/[msgs, options]: make toFilename independent of listFullPaths toFilename is used mainly in codegen, as such it should not follow --listFullPaths * compiler/msgs: use toMsgFilename for toFileLineCol This proc is mainly used for compiler messages, so it should follow --listFullPaths * compiler/msgs: remove toFileLine unused proc * compiler/msgs: cleanup toMsgFilename Also improved path choosing logic, /home should now be preferred over ../home on *nix