Andreas Rumpf
7039b8b5bc
fixes #23354 ; [backport] ( #23685 )
2024-06-07 09:01:30 +02:00
Juan M Gómez
3b4078a7f8
Skips generic owner when mangling instances ( #23563 )
2024-05-07 15:03:53 -06:00
ringabout
fc48c7e615
apply the new mangle algorithm to JS backend for parameters and procs ( #23476 )
...
the function name extension encoded by paths could be useful for
debugging where the function is from
Before:
```js
function newSeq_33556909(len_33556911)
```
After:
```js
function newSeq__system_u2477(len_p0)
```
2024-04-05 08:54:48 +02:00
Andreas Rumpf
24fbacc63f
fixes an issue with string to 'var openArray' at compile-time; [backp… ( #23363 )
...
…ort]
2024-03-03 15:40:08 +01:00
Juan M Gómez
a45f43da34
MangleProcs following the Itanium spec so they are demangled in the debugger call stack ( #23260 )
...

---------
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2024-02-09 13:23:36 +01:00
ringabout
e17237ce9d
prepare for the enforcement of std prefix ( #22873 )
...
follow up https://github.com/nim-lang/Nim/pull/22851
2023-10-29 14:48:11 +01:00
ringabout
93ced31353
use strictdefs for compiler ( #22365 )
...
* wip; use strictdefs for compiler
* checkpoint
* complete the chores
* more fixes
* first phase cleanup
* Update compiler/bitsets.nim
* cleanup
2023-08-06 14:26:21 +02:00
Juan M Gómez
5606702e6d
implements: "Allow bycopy to work in params #21874 " ( #21877 )
...
* implements: "Allow bycopy to work in params #21874 "
* Update compiler/pragmas.nim
---------
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2023-05-21 04:44:43 +02:00
Juan M Gómez
44f059c75e
implements allow byref to work in params #21873 ( #21875 )
2023-05-21 00:19:09 +02:00
ringabout
93b59da490
fixes #20244 ; fixes castSizes warnings ( #21102 )
...
* fixes #20244 ; fixes castSizes warnings
* fixes js
* fixes js
* fixes js
* fixes
* typo
* extend using uint64
* Update lib/std/syncio.nim
2022-12-22 08:27:11 +01:00
flywind
7f6e800caf
move assertions out of system ( #19599 )
2022-03-23 20:34:53 +01:00
Clyybber
ed126794b6
Fix #17412 ( #17560 )
...
* Fix #17412
* Address review
2021-03-29 21:16:11 +02:00
Clyybber
7e747d11c6
Cosmetic compiler cleanup ( #12718 )
...
* 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
2019-11-28 17:13:04 +01:00
Araq
07d465ca42
[refactoring] remove unused imports in the compiler and in some stdlib modules
2019-07-18 00:36:03 +02:00
Arne Döring
88b5dd3362
right shift is now by default sign preserving ( #11322 )
...
* right shift is now by default sign preserving
* fix hashString and semfold
* enable arithmetic shift right globally for CI
* fix typo
* remove xxx
* use oldShiftRight as flag
* apply feedback
* add changelog entry
2019-05-29 16:48:00 +02:00
Clyybber
f18b3af9d4
Replace countup(x, y-1) with x ..< y
2019-05-07 12:32:05 +02:00
Araq
34388c5cc5
name mangling: also special case the backslash character
2018-09-17 20:48:55 +02:00
Andreas Rumpf
669a564492
remove more global variables in the Nim compiler
2018-05-27 11:10:56 +02:00
Andreas Rumpf
a4e2b0c153
platform.nim doesn't use globals anymore; prepare msgs.nim for not using globals
2018-05-18 15:18:00 +02:00
Araq
479212995a
ccgutils: code cleanup, no globals
2018-05-16 02:05:00 +02:00
Andreas Rumpf
1284827df2
C code generator compiles again
2018-05-12 23:45:51 +02:00
Jacek Sieka
72dfe176f5
remove dead code elimination option ( #7669 )
2018-04-23 11:02:38 +02:00
Andreas Rumpf
e4081a7201
preparations for language extensions: 'sink' and 'lent' types
2018-01-07 23:09:26 +01:00
Andreas Rumpf
70ea45cdba
deprecated unary '<'
2017-10-29 08:37:13 +01:00
Andreas Rumpf
f7f3a25be8
first steps of making 'opt' a first class type for Nim
2017-09-25 13:19:36 +02:00
Andreas Rumpf
e879da5791
some work to make 'opt' a first class type
2017-09-24 11:21:52 +02:00
Jacek Sieka
ba4cc4bf35
a few tiny cleanups ( #5712 )
...
exposes emitLazily (for nlvm) and simplifies some conditionals
2017-05-29 09:42:26 +02:00
Markus F.X.J. Oberhumer
87888e8129
Ascii character code 127 (DEL) is not printable.
2017-05-16 18:09:24 +02:00
Zahary Karadjov
8cd5f1f8f5
introduce tyInferred for the unbound concept type params
...
* Why is tyInferred needed?
The bindings in TCandidate are capable of inferring types within a single
call expression. In concepts, we need to infer types in the same way, but
across the whole body of the concept.
Previously, once a concept type param was inferred, it was destructively
mutated using t.assignType, but this proved to be problematic in the presence
of overloads, because the bindings established while a non-matching overload
is tested must be reverted/forgotten. tyInferred offers a non-destructive way to
keep track of the inference progress.
While introducing new types usually requires a lot of code paths in the compiler
to updated, currently tyInferred is only a short-lived type within the concept body
pass and it's unlikely to introduce breakage elsewhere in the compiler.
2017-03-24 16:58:15 +02:00
Zahary Karadjov
eab1d0cc02
support for accessing the inferred concept type params with the dot operator
2017-03-24 16:58:15 +02:00
Yuriy Glukhov
e213b120ab
Fixes #5452
2017-02-28 17:23:25 +02:00
Araq
4c5ecb46b0
fixes a minor codegen issue where name mangling could produce an identifier used by the codegen; refs #5437
2017-02-26 17:41:00 +01:00
Arne Döring
92c2a51bf7
removed compiler internal list implementation ( #5371 )
2017-02-22 17:33:12 +01:00
Andreas Rumpf
848676cec6
name mangling bugfixes; ndi file generation for debugger support
2017-02-03 09:49:36 +01:00
Andreas Rumpf
fab69661ad
new name mangling rules for easier debugging
2017-02-02 16:27:48 +01:00
Araq
e6c5622aa7
removed tyArrayConstr completely from the compiler; introduced tyAlias instead in preparation for further bugfixes
2016-11-14 23:18:30 +01:00
Araq
860cbd3107
signature hashing: more progress
2016-11-11 08:58:42 +01:00
Jacek Sieka
f5c3eb6a25
clean up tyMutable remnants
2016-10-24 23:30:10 +08:00
Jacek Sieka
b3de34548d
clean up tyConst remnants
2016-10-24 23:19:46 +08:00
Jacek Sieka
f488ed973d
clean up tyBigNum remnants
2016-10-24 23:11:38 +08:00
Jacek Sieka
6f7b891bdc
remove remnants of tyIter
2016-10-24 21:10:48 +08:00
Andreas Rumpf
9605435f2e
get rid of deprecated toLower/toUpper
2016-07-19 19:28:01 +02:00
Andreas Rumpf
b47d9b7b91
fixes #4371
2016-07-08 10:34:12 +02:00
Araq
36f68e1650
fixes #3329
2015-09-18 02:24:12 +02:00
Araq
ecc0090939
fixes #2551 ; fixes #2212 ; breaks bootstrapping in debug mode; bootstrap with -d:release
2015-04-25 23:16:57 +02:00
def
39049e151f
Get rid of deprecation warnings
2015-04-07 15:47:18 +02:00
Araq
d61f326f38
prevent name mangling for C++ DLLs
2015-03-05 01:34:09 +01:00
Araq
76e44dd034
test tsets2.nim compiles again
2015-03-01 23:01:02 +01:00
Araq
f4a0400de2
fixes #2199 , fixes #2197
2015-02-24 19:19:08 +01:00
Federico Ceratto
c95f6f117a
Fix typos
2015-02-15 16:06:06 +00:00