Commit graph

297 commits

Author SHA1 Message Date
Oscar Nihlgård
0091f2ad3b Implement {.booldefine.} (#10533) 2019-02-03 09:06:00 +01:00
Ico Doornekamp
7fcf51248b Added --docInternal option to allow 'nim doc' to include non-exported symbols 2019-01-23 11:09:26 +01:00
Timothee Cour
bf3a308e86
[error messages, stacktraces] fix #8794 #9270 #9767 #9768 (#9766)
* fixes #8794 : `Error: undeclared field: 'foo'` should show type (+ where type is defined) (hard to guess in generic code)

* fixes #9270: `--listFullPaths` not honored by `declared in foo.nim` messages

* fixes #9767: VM stacktrace doesn't honor --excessiveStackTrace:on

* fixes #9768: VM stacktrace misses column info, can lead to ambiguous or harder to read stacktraces

* refactors some col+1 code to col + ColOffset (self documents code)

* make getProcHeader show declared info location also for types and all routine kinds (including macros,templates) instead of just (rather arbitrarily) for iterator,proc,func,method

* --listFullPaths now is honored in more places

* fix typo system/except.nim => lib/system/excpt.nim

* remove substr(foo, 0) hack in compiler/vm.nim which seems old and not applicable anymore
2019-01-08 15:58:47 -08:00
jcosborn
044cef152f add custom pragma support for var and let symbols (#9582)
* add custom pragma support for var and let symbols
* updated changelog for custom pragmas on var and let symbols
* add oldast switch for backwards compatibility
2019-01-07 12:36:06 +01:00
Neelesh Chandola
e9a192c36f expandFilename on windows is now consistent with other platforms (#10154) 2019-01-04 15:11:48 +01:00
Timothee Cour
a1e268e3dc [cleanup] remove dead code compiler.options.mergeConfigs (#10165) 2019-01-02 10:26:40 +01:00
Neelesh Chandola
642ce799ec Add support for clang-cl (#9977) 2018-12-19 09:35:25 +01:00
Andreas Rumpf
a87be40339 fixes #9985 2018-12-15 14:09:06 +01:00
Andreas Rumpf
39ae55e6e4 fixes #9995 2018-12-15 14:01:18 +01:00
Andreas Rumpf
f76bd06643 fixes #9982 2018-12-14 20:03:12 +01:00
Araq
f551b72fba fixes #9965 2018-12-14 09:56:59 +01:00
Araq
e8bec61413 incremental compilation: bugfixes 2018-11-19 18:51:47 +01:00
Andreas Rumpf
73c306258b Nimscript: fixes #9246 [backport] 2018-11-06 21:55:13 +01:00
Andreas Rumpf
c739b9192f produce more helpful error messages when overloading resolution fails 2018-11-03 15:56:13 +01:00
Araq
e844e536bf Nim style checker: document the switch; fixes #9564 2018-10-30 15:03:28 +01:00
Ștefan Talpalaru
10f5f67767 gogc: GCC-8.2.0 compatibility and other improvements (#9211)
- Go's write barriers are now plugged-in in all the relevant points
- "gcGo" is correctly classified by usesWriteBarrier()
- some gogc structures and functions now use golib wrappers to keep GCC
  version-specific conditions out of the compiler/stdlib code
- we no longer allow mixing the C malloc with Go's
- fix a problem with string copying
2018-10-11 22:15:17 +02:00
Giovanni
e21c3028cb Removed optUseNimNamespace, removed useless nil check 2018-09-16 08:43:03 +09:00
Giovanni
f1b64e4b96 improve the compiler option "cppCompileToNamespace", a custom namespace can now be set 2018-09-15 20:10:54 +09:00
Andreas Rumpf
5fa4fa185b
Merge pull request #8875 from awr1/experimentalize-reorder
Experimentalize reorder (Changes {.reorder: on.} to {.experimental: "codeReordering".})
2018-09-15 00:36:57 +02:00
Araq
e06a89e112 fixes bootstrapping problems 2018-09-07 19:21:17 +02:00
Andreas Rumpf
86556ebfdb compiler refactoring; use typesafe path handing; docgen: render symbols between modules 2018-09-07 19:21:16 +02:00
awr1
eb668003bf
Merge branch 'devel' into experimentalize-reorder 2018-09-04 16:33:52 -05:00
awr
e6a4213fae transformed {.reorder: on.} into {.experimental: codeReordering.}, added tests 2018-09-04 15:31:38 -05:00
Andreas Rumpf
e4be1cb814 system.compileDate and compileTime are in UTC; fixes #7305; docgen supports SOURCE_DATE_EPOCH, fixes #3113 2018-09-03 22:23:10 +02:00
Timothee Cour
ed0cb7b85d make config.nims behave like nim.cfg in terms of where these scripts are searched / run (#8682)
* run project config.nims if exists, then inputfile.nims if exists
* ~/.config/nim/config.nims can now be used
* also check in getSystemConfigPath for config.nims
* refactor handleCmdLine for nim and nimsuggest
2018-08-30 13:52:32 +02:00
Andreas Rumpf
696c0c48c7 fixes merge conflict 2018-08-19 15:14:03 +02:00
Andreas Rumpf
1061e26bc9 implements 'case statement macros' in order to encourage the development of pattern matching mechanisms that are not terrible to look at 2018-08-16 00:16:49 +02:00
Andreas Rumpf
da41fc1801 put the new for loop macros under an experimental switch named 'forLoopMacros' 2018-08-15 17:45:57 +02:00
Andreas Rumpf
dae5450947 WIP: disallow 'nil' for strings and seqs 2018-08-13 11:41:33 +02:00
Andreas Rumpf
ba6601b149 fixes #8599 2018-08-10 12:09:51 +02:00
Andreas Rumpf
404de2f23e Merge branch 'devel' into araq-misc 2018-08-10 12:06:16 +02:00
Andreas Rumpf
7e2418bd22 make nimsuggest go up in the directory tree in order to determine the main .nim file 2018-08-10 09:37:17 +02:00
alaviss
a2c5ffba0c Uses XDG_CACHE_HOME if available (#8585)
* compiler/options: use XDG_CACHE_HOME if set

* doc/nimc: update documentation
2018-08-09 10:50:36 +02:00
Araq
a45faf2dd6 fixes the new nimcache handling 2018-08-08 09:35:38 +02:00
Andreas Rumpf
ef9dd46466 'nimcache' defaults to ~/.cache on Posix; cleaned up documentation 2018-08-08 09:35:38 +02:00
Andreas Rumpf
a377c5cce4 introduce the --define 'osx' as an alias for 'macosx' 2018-08-08 09:33:37 +02:00
Araq
dd75346292 fixes the new nimcache handling 2018-08-07 22:54:45 +02:00
Andreas Rumpf
e067a7681f 'nimcache' defaults to ~/.cache on Posix; cleaned up documentation 2018-08-06 23:38:29 +02:00
Andreas Rumpf
e9d67266ef introduce the --define 'osx' as an alias for 'macosx' 2018-08-06 19:58:48 +02:00
Araq
7ac6462cbd make at least bootstrapping work 2018-08-05 14:17:24 +02:00
andri lim
78c0ac5407 fixes #7827, bindSym enhancement (#8499)
* bindSym power up, working prototype

* update bindSym doc

* add bindSym test

* fix some typo

* fix bindSym doc

* get rid of specialops field from vm

* add experimental: dynamicBindSym
2018-08-02 12:56:44 +02:00
Timothee Cour
c0f78ec012 fixes #8419 fixes #8420 ; workaround #6071 workaround nim-lang/website#98 (#8423)
add --git.devel option to override doc generated "edit" links; add --nimCompiler option to nimweb
2018-07-30 14:02:18 +02:00
Oscar Nihlgård
97ea18746b Fix path resolution of submodules in the std namespace (#8453) 2018-07-30 09:07:11 +02:00
Andreas Rumpf
ce01472ff3 refactorings in preparations for the new runtime 2018-07-10 10:39:53 +02:00
Andreas Rumpf
db35ac435b code cleanup: remove newScopeForIf switch 2018-07-04 20:04:08 +02:00
Joey
559a7615ad Nintendo switch support (#8069)
* Add config section for Nintendo Switch
* Add compiler configuration for Nintendo Switch and it's CPU
* Add specific lib code for Nintendo Switch
* Add GC support for Nintendo Switch
* Update changelog for Nintendo Switch
* Update changelog with more info about fixed paths
* Cleaned up GC memory management a bit
* Relocate docs for Switch
* Rename aarch64NoneElfGcc to nintendoSwitchGCC
* Remove armv8a57
* Fix installer.ini
* Reuse code in linux and amd64
* Add posix defs for nintendo switch
* Add more defined sections for nintendo switch
* Remove old comment
* Add what's not supported for Nintendo Switch docs
* Make nintendoswitch == posix
* Remove DEVKITPRO references from nim.cfg
* Make PR extccomp changes
* Remove Result type alias
* Add separate switch consts file
* Update docs for nintendo switch
* Fix travis errors with undefined consts and add correct wait.h procs
2018-06-27 12:35:09 +02:00
Araq
1578d222e2 implements pkg/ prefix to enforce searching for the module ignore the stdlib paths; refs #7250 2018-06-14 16:12:02 +02:00
Andreas Rumpf
5348fef003 implements a --nep1:on switch to make the compiler enforce the naming conventions outlined in NEP-1 2018-06-13 01:44:19 +02:00
Araq
1074cc1fb9 fixes yet another merge conflict 2018-06-11 17:17:34 +02:00
Yuriy Glukhov
5c449c8cd1 Removed oldIterTranf feature 2018-06-10 23:42:53 +03:00