summary refs log tree commit diff stats
path: root/compiler/sizealignoffsetimpl.nim
Commit message (Expand)AuthorAgeFilesLines
* fixes #22553; regression of offsetof(T, anFieldOfUncheckedArray) (#24014)ringabout2024-08-271-0/+7
* type graph refactor; part 3 (#23064)Andreas Rumpf2023-12-141-6/+5
* Types: Refactorings; step 1 (#23055)Andreas Rumpf2023-12-121-32/+32
* NIR: store sizes, alignments and offsets in the type graph; beginning… (#22...Andreas Rumpf2023-10-161-6/+6
* Fix #22713: Make size unknown for tyForward (#22714)SirOlaf2023-09-171-4/+3
* use strictdefs for compiler (#22365)ringabout2023-08-061-0/+1
* refactoring in preparation for better, simpler name mangling that wor… (#21...Andreas Rumpf2023-04-241-25/+25
* fixes #20914; fixes the alignment of big sets (#20918)ringabout2022-11-261-2/+2
* top-down type inference, implements rfc 149 (#20091)metagn2022-08-241-2/+2
* fixes #19569 (#19595) [backport]Andreas Rumpf2022-03-091-8/+6
* fixes #19051 [backport:1.6] (#19133)Andreas Rumpf2021-11-121-2/+17
* cString => cSourceString; tyCString => tyCstring so that error msgs show cstr...Timothee Cour2021-04-171-1/+1
* Fix #12636 (#15850)cooldome2020-11-051-2/+6
* fix #15752 (#15754)cooldome2020-10-281-4/+4
* fixes view types for sizeof() and --gc:orc (#15680)Andreas Rumpf2020-10-221-1/+1
* fix #15516 (#15518)cooldome2020-10-081-4/+6
* allow packed union (#14868)Clyybber2020-07-011-9/+7
* sizeof for empty objects/tuples should be 1; fixes #14690 (#14751)Andreas Rumpf2020-06-211-2/+2
* `nim doc --backend:js`, `nim doc --doccmd:-d:foo`, `nim r --backend:js`, `--d...Timothee Cour2020-05-111-1/+1
* CT sizeof(+friends) for {.importc, completeStruct.} types, enable ABI static ...Timothee Cour2020-04-231-1/+2
* catchable defects (#13626)Andreas Rumpf2020-03-121-1/+1
* make case-object transitions explicit, make unknownLineInfo a const, replace ...Jasper Jenkins2020-01-171-2/+2
* Cosmetic compiler cleanup (#12718)Clyybber2019-11-281-28/+28
* implemented alignas pragma (#12643)Arne Döring2019-11-131-0/+4
* refactoring: use the new strings and seqs when optSeqDestructors is activeAraq2019-10-201-2/+2
* fixes #12264 [backport] (#12302)Andreas Rumpf2019-09-301-5/+6
* Fix spellings (#12277) [backport]Federico Ceratto2019-09-271-1/+1
* Small ast.nim cleanup (#12156)Clyybber2019-09-091-4/+4
* refactor sizealignoffset (#12077)Andreas Rumpf2019-08-281-201/+142
* int128 on firstOrd, lastOrd and lengthOrd (#11701)Arne Döring2019-08-071-4/+4
* fixes #11792 (#11793)cooldome2019-07-211-1/+1
* there is only one style -- my styleAraq2019-07-101-4/+4
* Offsetof fixes (#11690)Arne Döring2019-07-091-18/+123
* [backport] fix #11320 (#11538)Arne Döring2019-07-031-1/+1
* Replace countup(x, y-1) with x ..< yClyybber2019-05-071-1/+1
* newruntime: progressAraq2019-04-011-1/+1
* Size ptr tuple (#10846)Arne Döring2019-03-181-8/+0
* sizealign of union type (#10780)Arne Döring2019-03-041-2/+52
* Fix for sizeof bitsize combination (#10227)Arne Döring2019-01-071-3/+8
* fixes #10082Andreas Rumpf2018-12-301-25/+11
* fixes #9868Araq2018-12-051-1/+2
* gc:destructors: more progressAndreas Rumpf2018-11-291-2/+2
* fixes #9794: sizeof tuple is incorrect if contains imported object (#9795)cooldome2018-11-261-3/+3
* Fixes multiple bugs with sink arguments (#9802)cooldome2018-11-261-4/+4
* bitsize respected in size calculation. (#9756)Arne Döring2018-11-191-3/+8
* make tsizeof run on C++ backend (#9734)Arne Döring2018-11-181-10/+18
* Merge pull request #9511 from krux02/krux02-develArne Döring2018-10-311-0/+9
|\
| * set code ownerArne Döring2018-10-301-0/+9
* | Sizeof alignof fixes (#9568)Arne Döring2018-10-301-1/+1
|/
* sizeof(UncheckedArray) should be invalid; fixed the formating of sizealignoff...Araq2018-10-141-87/+34
>name == NULL) outofmem(__FILE__, "HTAtom_for"); strcpy(a->name, string); a->next = hash_table[hash]; /* Put onto the head of list */ hash_table[hash] = a; #ifdef NOT_DEFINED CTRACE((tfp, "HTAtom: New atom %p for `%s'\n", a, string)); #endif /* NOT_DEFINED */ return a; } #ifdef LY_FIND_LEAKS /* * Purpose: Free off all atoms. * Arguments: void * Return Value: void * Remarks/Portability/Dependencies/Restrictions: * To be used at program exit. * Revision History: * 05-29-94 created Lynx 2-3-1 Garrett Arch Blythe */ static void free_atoms(void) { auto int i_counter; HTAtom *HTAp_freeme; /* * Loop through all lists of atoms. */ for (i_counter = 0; i_counter < HASH_SIZE; i_counter++) { /* * Loop through the list. */ while (hash_table[i_counter] != NULL) { /* * Free off atoms and any members. */ HTAp_freeme = hash_table[i_counter]; hash_table[i_counter] = HTAp_freeme->next; FREE(HTAp_freeme->name); FREE(HTAp_freeme); } } } #endif /* LY_FIND_LEAKS */ static BOOL mime_match(const char *name, const char *templ) { if (name && templ) { static char *n1 = NULL; static char *t1 = NULL; char *n2; char *t2; StrAllocCopy(n1, name); /* These also free the ones */ StrAllocCopy(t1, templ); /* from previous call. */ if (!(n2 = strchr(n1, '/')) || !(t2 = strchr(t1, '/'))) return NO; *(n2++) = (char) 0; *(t2++) = (char) 0; if ((0 == strcmp(t1, "*") || 0 == strcmp(t1, n1)) && (0 == strcmp(t2, "*") || 0 == strcmp(t2, n2))) return YES; } return NO; } HTList *HTAtom_templateMatches(const char *templ) { HTList *matches = HTList_new(); if (initialised && templ) { int i; HTAtom *cur; for (i = 0; i < HASH_SIZE; i++) { for (cur = hash_table[i]; cur; cur = cur->next) { if (mime_match(cur->name, templ)) HTList_addObject(matches, (void *) cur); } } } return matches; }