Timothee Cour
7e94420847
cString => cSourceString; tyCString => tyCstring so that error msgs show cstring, not cString ( #17744 )
2021-04-17 11:14:09 +02:00
cooldome
3af7818af4
Fix #12636 ( #15850 )
...
* close #11142
* fix #12636
* undo unwanted changes
* fix illegal recursion case
2020-11-05 18:55:52 +01:00
cooldome
f8cac6bbbc
fix #15752 ( #15754 )
2020-10-28 00:09:26 +01:00
Andreas Rumpf
64016ddedc
fixes view types for sizeof() and --gc:orc ( #15680 )
2020-10-22 18:52:05 +02:00
cooldome
fe187719ab
fix #15516 ( #15518 )
2020-10-08 09:12:03 +02:00
Clyybber
1440e70c62
allow packed union ( #14868 )
...
Co-authored-by: Arne Döring <arne.doering@gmx.net >
2020-07-01 11:41:03 +02:00
Andreas Rumpf
3ba0c30758
sizeof for empty objects/tuples should be 1; fixes #14690 ( #14751 )
2020-06-21 19:58:37 +02:00
Timothee Cour
9502e39b63
nim doc --backend:js, nim doc --doccmd:-d:foo, nim r --backend:js, --doccmd:skip + other improvements (#14278 )
...
* `nim doc --backend:js|cpp...`
`nim doc --doccmd:'-d:foo --threads:on'`
`nim r --backend:cpp...` (implies --run --usenimcache)
* --usenimcache works with all targets
* --docCmd:skip now skips compiling snippets; 50X speedup for doc/manual.rst
2020-05-11 12:01:18 +02:00
Timothee Cour
66db9de714
CT sizeof(+friends) for {.importc, completeStruct.} types, enable ABI static checks ( #13926 )
...
* -d:checkabi obsolete (ABI check now enforced); add `addTypeHeader` helper
* cleanups
* import sizeof at CT for {.completeType.}
* address comments; revert default enabling of -d:checkAbi for now
* mimportc_size_check.nim => msizeof5.nim; merge mabi_check.nim into msizeof5.nim; refactor
* all pragmas in errmsgs should be written: '.importc' (un-ambiguous and less verbose than {.importc.})
2020-04-23 11:24:09 +02:00
Andreas Rumpf
a6682de004
catchable defects ( #13626 )
...
* 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
2020-03-12 23:44:33 +01:00
Jasper Jenkins
796aafe7e0
make case-object transitions explicit, make unknownLineInfo a const, replace a few magic numbers with consts ( #13170 )
2020-01-17 10:34:31 +01: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
Arne Döring
0496a666e2
implemented alignas pragma ( #12643 )
...
* implemented alignas pragma
* fix bootstrap
* generate c++ compatible syntax for alignas
* Make it work.
* Multiple alignof expressions. Implement top level alignof.
2019-11-13 08:22:41 +00:00
Araq
ed2fb36bc6
refactoring: use the new strings and seqs when optSeqDestructors is active
2019-10-20 08:11:07 +02:00
Andreas Rumpf
dd082b6ec8
fixes #12264 [backport] ( #12302 )
2019-09-30 21:44:24 +02:00
Federico Ceratto
39290cf88c
Fix spellings ( #12277 ) [backport]
2019-09-27 07:02:54 +02:00
Clyybber
ed1d41c51e
Small ast.nim cleanup ( #12156 )
...
* Remove sonsLen
* Use Indexable
2019-09-09 11:54:15 +02:00
Andreas Rumpf
21fc8b4d4d
refactor sizealignoffset ( #12077 )
...
* 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
2019-08-28 19:36:29 +02:00
Arne Döring
afbcd1b330
int128 on firstOrd, lastOrd and lengthOrd ( #11701 )
...
* fixes #11847
2019-08-07 15:53:16 +02:00
cooldome
d563efb719
fixes #11792 ( #11793 )
2019-07-21 16:53:22 +02:00
Araq
87a2ced1ba
there is only one style -- my style
2019-07-10 19:17:06 +02:00
Arne Döring
11dad688fe
Offsetof fixes ( #11690 )
...
* first fixes
* more tests and fixes
* code normalization
2019-07-09 09:07:45 +02:00
Arne Döring
20d0ef8afb
[backport] fix #11320 ( #11538 )
...
* [backport] fix #11320
* fix test for 32 bit test
2019-07-03 08:00:40 +02:00
Clyybber
f18b3af9d4
Replace countup(x, y-1) with x ..< y
2019-05-07 12:32:05 +02:00
Araq
c3067e36bb
newruntime: progress
2019-04-01 16:51:18 +02:00
Arne Döring
97c3b113a5
Size ptr tuple ( #10846 )
...
* fixes #10117
* Add support for recursive tuples
* detect in generics
2019-03-18 11:37:09 +01:00
Arne Döring
1d9b88f25d
sizealign of union type ( #10780 )
...
* sizealign of union type
* add error message for packed union
2019-03-04 09:19:38 +01:00
Arne Döring
abad758a7e
Fix for sizeof bitsize combination ( #10227 )
...
* fix #10082
* added test
2019-01-07 18:09:57 +01:00
Andreas Rumpf
062d7e3a39
fixes #10082
2018-12-30 02:45:43 +01:00
Araq
1711a60f7b
fixes #9868
2018-12-05 16:16:58 +01:00
Andreas Rumpf
350396e1ca
gc:destructors: more progress
2018-11-29 20:10:52 +01:00
cooldome
ea5fc9f204
fixes #9794 : sizeof tuple is incorrect if contains imported object ( #9795 )
...
* fixes #9794
* Fix linux test
2018-11-26 09:46:19 +01:00
cooldome
2ac7f52388
Fixes multiple bugs with sink arguments ( #9802 )
...
* fixes #9781
* fix spacing
2018-11-26 09:45:45 +01:00
Arne Döring
1e08fff2d5
bitsize respected in size calculation. ( #9756 )
2018-11-19 13:48:40 +01:00
Arne Döring
5dfcc4e91c
make tsizeof run on C++ backend ( #9734 )
2018-11-18 14:36:20 +01:00
Arne Döring
0059f16dfb
Merge pull request #9511 from krux02/krux02-devel
...
Krux02 devel
2018-10-31 17:12:36 +01:00
Arne Döring
1ec5c6fdf5
Sizeof alignof fixes ( #9568 )
...
fixes #9545
2018-10-30 16:41:06 +01:00
Arne Döring
f84bf45f17
set code owner
2018-10-30 13:50:06 +01:00
Araq
8232bd04f9
sizeof(UncheckedArray) should be invalid; fixed the formating of sizealignoffsetimpl.nim to make it bearable
2018-10-14 00:58:43 +02:00
Timothee Cour
745f1642d6
implement sizeof and alignof operator (manually squashed #5664 ) ( #9356 )
2018-10-14 00:52:28 +02:00