[hare] Hare compiler, written in C11 for POSIX OSs
Log | Files | Refs | README | LICENSE

DateCommit messageAuthorFiles+-
2022-06-28 19:41eval_expr: move expression type and result assignment from individual functionsArmin Weigl2+8-22
2022-07-02 08:26emit_const: correctly emit enum aliasesArmin Weigl2+4-3
2022-06-25 02:17silence a "possibly uninitialized" warningBor Grošelj Simić1+1-1
2022-06-17 21:14lex: fix number lexingSebastian1+19-1
2022-06-27 17:04eval_result: drop unused EVAL_NEED_CONTEXTArmin Weigl1+0-5
2022-06-26 14:18emit_const: fix inverted booleanArmin Weigl1+1-1
2022-06-24 16:06gen: fix assertion failure when using uintptr enums in globalsAlexey Yerin2+10-2
2022-06-24 21:53fix x{re,c}alloc behavior with size=0Bor Grošelj Simić1+2-2
2022-06-23 23:19gen: fix segfault when allocating multiple of 2^32Sebastian1+3-1
2022-06-17 21:28check: only allow one fn declaration attributeSebastian1+11-6
2022-06-21 19:48check: replace ctx.resolving_enum with ctx.scopeArmin Weigl3+15-19
2022-06-20 05:15type_enum_value: remove unused structArmin Weigl1+0-9
2022-06-19 21:01resolve_enum_field: fix value calculation of first enum fieldArmin Weigl2+23-0
2022-06-17 21:29rt: assert that pipe2 succeededSebastian1+1-1
2022-06-17 21:29check: add newline to memstream error messageSebastian1+1-1
2022-06-17 11:13gen: use memmove for slice copyDrew DeVault1+2-2
2022-06-12 23:30Parse labels in parse instead of lexSebastian4+9-41
2022-06-12 23:30Improve usage stringSebastian1+1-1
2022-06-15 20:11check: expect: fix typo s/error/verror/Armin Weigl1+1-1
2022-06-14 13:19.builds/freebsd.yml: drop gmakeEyal Sawady1+2-3
2022-06-11 08:01aarch64: fix startup codeDrew DeVault1+0-1
2022-06-10 18:41tuples: Fix handling of incorrect typeVlad-Stefan Harbuz2+10-0
2022-06-10 13:52check: dealias initializer in tuple unpacking caseAlexey Yerin2+8-1
2022-06-08 10:55typedefs.c: mention ident for invalid exported declDrew DeVault1+12-10
2022-06-07 19:54check.c: fix uninitialized idecl issueDrew DeVault1+1-1
2022-06-07 11:29check: call handle_errors() in expect()Bor Grošelj Simić1+59-54
2022-06-07 11:31introduce synerr() and use it instead of synassert(false,...)Bor Grošelj Simić1+74-60
2022-06-07 11:12parse: set name to NULL to prevent -Wsometimes-uninitialized with clangAlexey Yerin1+1-3
2022-06-07 11:06typedef: fix uintptr enums (again)Drew DeVault1+2-0
2022-06-04 10:51add tuple unpacking for bindingsVlad-Stefan Harbuz6+359-3
2022-06-05 04:27check: handle open_memstream errorSebastian1+6-0
2022-06-04 14:47handle enum values without names when generating .td filesBor Grošelj Simić3+26-22
2022-06-01 22:33fix issues with some enum declaration ordersBor Grošelj Simić4+72-45
2022-06-01 22:33complete enum types immediatelyBor Grošelj Simić4+63-67
2022-06-01 22:33store enum value locationBor Grošelj Simić3+4-2
2022-06-01 22:33s/ident/name/ in scope_lookup callBor Grošelj Simić1+1-1
2022-06-01 22:33document enum resolution in the declaration solver explanationBor Grošelj Simić1+7-0
2022-06-01 22:33fix dependency cycle detectionBor Grošelj Simić1+75-63
2022-06-01 22:33fix a bunch of bugs in resolve_enum_fieldBor Grošelj Simić1+33-19
2022-06-01 22:33simplify and generalize declaration resolutionBor Grošelj Simić3+89-52
2022-06-01 22:33move type scanning details out of scan_decl_finishBor Grošelj Simić1+27-28
2022-06-04 19:47rt: Fix stack alignment in _startNikola6+6-0
2022-06-05 04:27check: fix gen_typename memory leaksSebastian1+68-19
2022-06-04 12:36fix error location reporting in typedef filesBor Grošelj Simić1+1-1
2022-06-05 00:31ensure 24-imports tests actually passBor Grošelj Simić5+42-33
2022-06-04 16:43Fix segfault on not enough params for variadic function callSebastian LaVine1+1-1
2022-06-04 12:05typedef: emit casts for uintptr enumsDrew DeVault2+10-2
2022-05-31 02:20Use C99 format specifiers in fprintf for OpenBSD compatibilityJason Lenz1+2-2
2022-05-29 19:13configure: add --helpSebastian1+32-0
2022-05-28 23:20zero out ns when duplicating unqualified identifierBor Grošelj Simić1+2-0
2022-05-28 01:01location: pass around indices instead of pathnamesBor Grošelj Simić11+71-60
2022-05-29 21:52fix incorrect sizeof parameterBor Grošelj Simić1+2-1
2022-05-28 00:56configure: fix unsupported arch detection and reportingBor Grošelj Simić1+3-3
2022-05-28 00:56configure: remove a remnant of reflectionBor Grošelj Simić1+0-1
2022-05-19 03:46check: only lower rconst if value fits into typeSebastian1+31-0
2022-05-22 23:06check: disallow @noreturn with @init/@fini/@testSebastian1+2-0
2022-05-22 23:06check: unparse function flagSebastian1+11-4
2022-05-22 23:06lex: disallow decimal point in integer literalSebastian1+13-0
2022-05-21 01:03scan_enum_field: remove obsolete TODOsBor Grošelj Simić1+0-4
2022-05-21 01:03import members without linear scans over scope for enum valuesBor Grošelj Simić1+9-6
2022-05-21 01:03handle circular dependencies in enumsBor Grošelj Simić2+27-9
2022-05-21 01:03implement enum aliasesBor Grošelj Simić7+148-11
2022-05-21 01:03use 'struct identifiers' for lists of identifiersBor Grošelj Simić4+11-11
2022-05-21 01:03make enum type id algorithm rely on enum nameBor Grošelj Simić13+160-173
2022-05-21 01:03prohibit enum definitions outside type declarationsBor Grošelj Simić2+16-4
2022-05-21 01:03scan_enum_field: s/ival/uval/ for unsigned enumsBor Grošelj Simić1+1-1
2022-05-21 01:03remove unneeded scope_pushBor Grošelj Simić1+0-1
2022-05-20 06:58add testmod, a dummy module used in compiler testsBor Grošelj Simić6+54-33
2022-05-17 13:31eval: avoid integer div-by-0 in compile-time exprKarl Schultheisz1+18-2
2022-05-16 11:53Do not prevent FPEs in evalDrew DeVault1+3-23
2022-05-15 13:51type_store: reject zero struct field alignmentKarl Schultheisz1+4-0
2022-05-15 02:00eval: avoid float exception in compile-time exprsKarl Schultheisz1+23-3
2022-05-14 02:42parse: parse_control_statement -> parse_control_expressionSebastian1+2-2
2022-05-14 02:43docs: more accurate runtime.txtSebastian1+3-3
2022-05-14 02:43gitignore: don't ignore scripts in tests dirSebastian1+3-0
2022-05-14 02:57check: disallow casts on terminating exprsSebastian1+5-0
2022-05-14 03:37docs/env.txt: add HA_STAGESebastian1+4-0
2022-05-10 01:22eval: support index and struct access exprsSebastian3+65-5
2022-05-09 22:38parse: allow static bindings in for expressionSebastian2+62-35
2022-05-10 01:24check: ensure constant slice-alloc capacity >= lengthSebastian1+16-0
2022-05-10 01:24eval: support len exprSebastian3+30-1
2022-05-07 02:45Allow literal arrays to be copied by alloc()Sebastian3+51-16
2022-05-06 21:00Improve Error Messages.Nixon Enraght-Moony1+11-8
2022-05-07 02:46lex: fix base prefix lexingSebastian1+21-19
2022-05-07 02:50parse_stage: make staticSebastian1+1-1
2022-05-07 02:46all: styleSebastian11+18-18
2022-05-07 02:46rt: fix hyperlink syntax in doc commentSebastian1+1-1
2022-05-01 09:06config.sh: fix unknown opt handlingDrew DeVault1+2-1
2022-04-30 03:24Expand tuple testsSebastian1+3-0
2022-04-30 03:24lex: fix nested tuple access lexingSebastian3+17-6
2022-04-29 22:50Improve error for invalid assignment.Nixon Enraght-Moony1+2-1
2022-04-29 22:44Improve error for invalid `len` call.Nixon Enraght-Moony1+2-1
2022-04-26 16:14gen: support copying global structJean Dao2+37-0
2022-04-29 03:56Add OpenBSD portBrian Callahan20+781-47
2022-04-30 03:30rt: check for fork failure in compileSebastian1+1-0
2022-04-26 15:06Drop references to scdoc in the build systemEyal Sawady2+1-16
2022-04-26 16:13check: reject return statement not in functionKarl Schultheisz1+4-0
2022-04-26 16:13check: require init'r for context-defined arraysKarl Schultheisz1+3-0
2022-04-28 13:05configure: drop cpp header analysisDrew DeVault3+28-7
2022-04-27 20:03type_store: add location to non-struct/union embedding errorAlexey Yerin1+6-10
2022-04-25 03:40check: implicit dereferencing for insert() and delete()Sebastian3+7-7
2022-04-23 10:35check: limit switch exprs to comparable typesEyal Sawady1+10-0
2022-04-25 23:49Limit object allocation to defined sizes > 0Eyal Sawady1+4-0
2022-04-24 12:34check: improve error msg for invalid return valuesEyal Sawady1+4-2
2022-04-25 23:08eval: fix casts from aliases to tagged unionsEyal Sawady1+1-1
2022-04-26 03:36Fix uninitialized use warningAshish SHUKLA1+1-1
2022-04-20 02:29lex: error on invalid escape in rune/str literalSebastian1+26-4
2022-04-19 19:56README.md: update build badgesEyal Sawady1+2-2
2022-04-18 17:1324-imports.ha: use static assert inside rt::compile snippetsBor Grošelj Simić1+9-9
2022-04-18 16:04rt: remove unused codeBor Grošelj Simić1+0-33
2022-04-17 23:56Remove "items" from {ast_,}expression_allocSebastian2+2-8
2022-04-15 18:53types: use promotion algo to cast flexible constsKarl Schultheisz1+1-1
2022-04-11 16:06parse: reject defs that lack an initializerKarl Schultheisz1+4-1
2022-04-09 19:00utf8: remove inaccurate commentSebastian1+0-2
2022-04-09 19:00utf8: s/character/codepoint/gSebastian3+12-12
2022-04-09 19:00utf8: remove fputchSebastian2+0-14
2022-04-09 18:37gen: remove mkrttypeSebastian2+0-12
2022-04-08 15:52Fix casting constants to type aliasesEyal Sawady1+2-2
2022-04-08 00:49drop unused parameter in type_store_lookup_aliasBor Grošelj Simić3+5-5
2022-04-08 00:49error out on undefined measurementsBor Grošelj Simić1+5-0
2022-04-08 00:49report errors in global and const initializersBor Grošelj Simić1+2-0
2022-04-05 23:01check: fix unhinted copy allocationEyal Sawady1+1-1
2022-03-28 20:52gen: merge type assertion and type test codepathsBor Grošelj Simić1+23-43
2022-03-28 20:52allow casting with nested tagged unionsBor Grošelj Simić2+69-39
2022-03-28 20:52update syntax in commentsBor Grošelj Simić1+5-5
2022-03-28 20:52allow casting tagged unions to their subsetsBor Grošelj Simić4+131-61
2022-03-28 20:52rename tagged_subset_compat parametersBor Grošelj Simić1+12-12
2022-03-28 21:37Allow enums with rune storageSebastian3+13-3
2022-03-28 21:37parse: fix failed assertion for non-integer enum storageSebastian1+15-1
2022-03-26 19:40.builds/*.yml: switch to upstream qbeEyal Sawady2+2-2
2022-03-26 19:40tests/25-promotion: fix shift behaviorEyal Sawady1+2-2
2022-03-24 00:44implement type assertions on nullable pointersBor Grošelj Simić3+115-32
2022-03-24 00:44set cast.secondary type in lower_implicit_castBor Grošelj Simić1+1-1
2022-03-24 00:44fix null type handlingBor Grošelj Simić4+102-19
2022-03-25 01:58check: evaluate initializer before storing shadowed typeSebastian1+7-4
2022-03-25 02:02rt: remove temp functionSebastian1+0-26
2022-03-23 14:43Remove @packedDrew DeVault7+32-69
2022-03-22 16:25check_expr_const: don't use type hintEyal Sawady1+0-9
2022-03-22 16:25type_is_castable: fix dangling stack pointerEyal Sawady1+2-1
2022-03-23 14:28promote_const: fix ambiguous tagged union caseEyal Sawady1+4-0
2022-03-20 09:14Implement improved C-style variadic argumentsDrew DeVault18+272-16
2022-03-20 09:14Remove {ast_,}expression_typeDrew DeVault2+1-11
2022-03-19 11:01check: fix some bugs with C variadismDrew DeVault1+5-5
2022-03-12 14:33type_is_assignable: ensure array member types matchBor Grošelj Simić2+10-1
2022-03-12 14:33type_is_assignable: fix pointer to array assignability logicBor Grošelj Simić2+14-2
2022-03-11 15:20all: implement packed structsDrew DeVault7+69-32
2022-03-10 14:22add more struct autofill testsBor Grošelj Simić1+32-0
2022-03-10 14:22eval: fix struct_autofill for embedded structsBor Grošelj Simić2+14-11
2022-03-16 09:44expand import testsBor Grošelj Simić1+80-6
2022-03-16 09:44rt: set HARECACHE when invoking harec for testingBor Grošelj Simić1+4-1
2022-03-16 09:44check: rewrite load_importBor Grošelj Simić1+48-67
2022-03-16 09:44parse: add support for complex import variantsBor Grošelj Simić3+50-35
2022-03-03 04:02parse: allow switch/match/compound to start bin/cast exprSebastian1+6-0
2022-03-15 20:12Allow enums to promote with ints of the same storageEyal Sawady1+8-1
2022-03-08 12:15lex: separate negative literals into two tokensEyal Sawady9+40-24
2022-01-13 13:11eval: handle char in itruncEyal Sawady2+7-1
2022-03-12 08:28rt+freebsd: fix compilationEyal Sawady1+3-2
2022-03-11 23:41check: use dereferenced type when checking lenSebastian1+1-1
2022-03-11 23:41main: add -h flagSebastian1+2-1
2022-03-10 10:04fix errors after disallowing assignment of non-void types to voidAjay R1+3-2
2022-03-10 10:03types: disallow assignment of non-void types and error types to voidAjay R2+28-2
2022-03-06 13:15check: fix @noreturn return type checkEyal Sawady1+1-1
2022-03-08 01:47.gitignore: don't ignore test sourcesSebastian1+1-1
2022-03-08 01:47lex: remove T_PLUSPLUS and T_MINUSMINUSSebastian2+0-10
2022-03-08 01:47tests: test unary negation (-)Sebastian1+2-0
2022-03-08 01:47lex: only permit space, tab, and newline as whitespaceSebastian1+7-1
2022-03-08 01:46typedef: cast char to unsigned char in isalnumSebastian1+1-1
2022-03-01 04:45eval: fix default value for slicesEyal Sawady1+1-1
2022-02-25 16:45Add tests for flexible constantsEyal Sawady2+195-0
2022-02-25 16:45types: overhaul flexible constantsEyal Sawady12+354-323
2022-03-04 03:29check: disallow floats for bitwise/modulus exprsSebastian1+17-5
2022-03-03 02:38prohibit embedded struct literals in named structsBor Grošelj Simić1+6-0
2022-03-03 01:59adapt eval_struct for embedded structsBor Grošelj Simić5+93-52
2022-02-28 11:53config.sh: place pwd ahead of $PATH in harec.shDrew DeVault1+1-1
2022-02-22 22:22zero out ident in parse_identifierBor Grošelj Simić1+1-0
2022-02-21 18:15lex: allocate space for a NUL byteAlexey Yerin1+1-1
2022-02-20 23:40gitignore: ignore test executablesSebastian1+2-0
2022-02-20 00:16lex: add support for `raw strings`Sebastian2+14-4
2022-02-20 00:58don't try to match object.ident in scope_lookupBor Grošelj Simić5+10-6
2022-02-20 00:11lex: fix incorrect xcalloc parametersSebastian1+1-1
2022-02-20 00:13docs: update runtime.txtSebastian1+3-0
2022-02-19 14:06scan: correct enum ident and name orderBor Grošelj Simić1+17-18
2022-02-19 03:15fix a null dereference and a memory leakBor Grošelj Simić1+5-3
2022-02-16 17:57check: ensure @noreturn functions return voidBor Grošelj Simić1+4-0
2022-02-16 17:57ensure @init, @test and @fini functions don't have parametersBor Grošelj Simić1+2-0
2022-02-16 00:32check: handle multiple type declarations in a single listBor Grošelj Simić1+17-7
2022-02-02 20:27emit.c: use upstream qbe syntax for linkageQuentin Carbonneaux1+9-9
2022-02-02 21:13avoid SIGFPE when attempting to initialize an invalid tupleBor Grošelj Simić1+10-5
2022-02-02 14:15check: implicitly cast slice allocation capacity to sizeBor Grošelj Simić2+7-0
2022-01-30 18:04check: disallow 'case let' of zero or undefined sizeAlexey Yerin1+5-0
2022-01-29 00:55gen: unsigned <-> float castsBor Grošelj Simić4+90-4
2022-01-29 08:55Allow @init/@fini funcs to share nameDrew DeVault3+15-5
2022-01-23 04:41config.sh: POSIX-compliant config.mkSebastian1+29-29
2022-01-23 04:41config.sh: Quote "$outdir"Sebastian1+2-2
2022-01-23 04:41config.sh: Fix printf commandSebastian1+1-1
2022-01-23 04:41emit.c: cast isprint parameter to unsigned charSebastian1+2-1
2022-01-24 04:28append/insert: don't abort on error pathBor Grošelj Simić1+5-1
2022-01-24 04:28append/insert: pass correct type hintsBor Grošelj Simić3+25-5
2022-01-24 04:28improve error messages for syntactically invalid insert expressionsBor Grošelj Simić2+12-4
2022-01-24 04:28append/insert: detect and report errorsBor Grošelj Simić3+92-6
2022-01-24 04:12implement {i8,i16} -> floating point castsBor Grošelj Simić3+78-3
2022-01-19 12:29check: fix allocation of array pointersDrew DeVault1+17-1
2022-01-17 03:52gen_data_item: fix generation of tagged globalsBor Grošelj Simić2+10-1
2022-01-16 20:10gen: fix bounds check on slice assignmentEyal Sawady1+1-1
2022-01-15 08:10tests/11-globals: import padding test case from #549Alexey Yerin1+33-0
2022-01-14 20:08gen: emit missing padding at end of tuple globalsAlexey Yerin1+11-0
2022-01-14 08:48check: improve error messages for invalid castsEyal Sawady1+6-2
2022-01-11 23:52don't SIGFPE on tuples with zero-sized valuesBor Grošelj Simić3+11-3
2021-12-31 14:02all: overhaul append & insert semanticsDrew DeVault9+406-439
2021-12-31 22:58gen_expr_unarithm: handle booleans >1Armin Weigl2+5-4
2021-12-29 12:59rt/+freebsd/syscall+riscv64.s: Move parameters between registersArmin Weigl1+35-112
2021-12-29 12:59rt/+linux/syscall+riscv64.s: Move parameters between registersArmin Weigl1+35-112
2021-12-28 21:01Handle fully-qualified local identifiers consistentlyBor Grošelj Simić1+2-15
2021-12-27 18:50src/check: Fix uninitialized warning with btypeHaelwenn (lanodan) Monnier1+7-0
2021-12-27 03:16struct_insert_field: simplify explicit offset computationBor Grošelj Simić1+2-2
2021-12-27 03:16struct_init_from_atype: fix segfault on error pathBor Grošelj Simić1+3-0
2021-12-26 15:36tests/Makefile: remove an unused recipeBor Grošelj Simić1+0-6
2021-12-26 15:32emit alignment info when presentBor Grošelj Simić2+7-0
2021-12-23 13:07check: handle contextual array constantsDrew DeVault1+8-0
2021-11-19 09:01Overhaul allocation expressionsDrew DeVault8+326-105
2021-12-21 11:56Overhaul expandable arraysDrew DeVault8+132-67
2021-12-15 04:07emit.c: fix a bug with unprintable chars in stringsBor Grošelj Simić1+1-1
2021-12-13 12:24check: disallow deferring in function scopesEyal Sawady1+5-0
2021-12-11 23:45gen: fix deferring @noreturn functionsEyal Sawady2+4-1
2021-12-09 12:43check: loosen restrictions on struct initializersDrew DeVault1+3-2
2021-12-07 11:12parse: update match case binding syntaxEyal Sawady3+21-43
2021-12-05 02:08add forward declarations testsBor Grošelj Simić2+256-1
2021-12-05 02:08rewrite declaration resolutionBor Grošelj Simić10+827-787
2021-12-05 02:08scope: separate scope_object initialization and insertionBor Grošelj Simić2+32-16
2021-12-05 02:08fix an invalid comparison that should cause an errorBor Grošelj Simić1+1-1
2021-12-04 03:37remove a leftover from @hiddenBor Grošelj Simić1+1-1
2021-12-01 05:08Fix exported @symbol globalsEyal Sawady2+4-6
2021-12-01 05:08check: fix exporting of global prototypesEyal Sawady2+18-14
2021-11-23 08:41all: remove @hiddenDrew DeVault6+2-15
2021-11-23 08:36all: remove reflectionDrew DeVault26+6-1392
2021-11-20 01:48error out on codepoints not known to Hare grammarBor Grošelj Simić1+5-2
2021-11-12 12:29check: structs must be either auto-filled or initialized completelyAlexey Yerin2+48-5
2021-11-07 16:40typedef: fix a typo in enum member format stringUmar Getagazov1+2-2
2021-11-07 14:02Fix infinite loop on invalid enum valueEyal Sawady1+5-1
2021-11-06 08:41rt/hare.sc: move .text higher in the address spaceDrew DeVault1+2-2
2021-11-05 16:59check: drop non-void result warningDrew DeVault1+0-4
2021-10-30 20:53typedef: support STORAGE_CHAR in storage_to_suffixAlexey Yerin1+2-0
2021-10-24 18:57types: strip flags when checking for castabilityAlexey Yerin1+6-0
2021-10-24 08:50Remove email triggers from .buildsDrew DeVault2+0-8
2021-10-24 08:37.builds: mail hare-dev on CI failuresDrew DeVault2+8-0
2021-10-24 08:27rt: add ENTRY to hare.scDrew DeVault1+1-0
2021-10-24 08:12Update README.md with FreeBSD buildsDrew DeVault1+8-1
2021-10-24 08:10rt: fix dup2 parametersDrew DeVault1+1-1
2021-10-24 08:06Add FreeBSD build manifestDrew DeVault1+22-0
2021-10-24 07:09Initial FreeBSD supportDrew DeVault16+950-13
2021-10-24 08:01hare.sc: add PHDRSDrew DeVault1+11-6
2021-10-23 05:35shift_fields: fix embedded structs/union offsetsEyal Sawady2+7-2
2021-10-23 05:35Implement offset expressionsEyal Sawady4+43-6
2021-10-20 08:05README.md: correct stdlib URLDrew DeVault1+1-1
2021-10-18 12:54gen: fix global slices containing aggregate typesEyal Sawady1+1-1
2021-10-05 21:15Fix type reductionEyal Sawady1+9-6
2021-10-05 12:40rt: add types for more archesDrew DeVault4+85-20
2021-10-05 12:06all: remove ENUM from types::builtinDrew DeVault5+17-17
2021-10-05 08:08Updates to reflection following standardizationDrew DeVault3+20-22
2021-10-03 09:28all: fixes for forward references and type infoDrew DeVault2+181-80
2021-10-03 08:25gen: update type enums to uintDrew DeVault2+6-9
2021-10-03 08:25gen: implement proper type comparisonsDrew DeVault2+14-0
2021-09-26 17:34gen: fix typeinfo for func w/o paramsDrew DeVault1+27-20
2021-09-26 08:46gen: implement tuple reflectionDrew DeVault2+61-3
2021-09-26 08:41gen: implement tagged union reflectionDrew DeVault2+69-0
2021-09-26 08:18gen: struct/union type infoDrew DeVault3+140-2
2021-09-26 07:46gen: rig up more typeinfo structuresDrew DeVault4+191-10
2021-09-25 12:27gen: implement enum reflectionDrew DeVault5+128-11
2021-09-25 11:05gen: rig up anonymous type info via type()Drew DeVault1+13-5
2021-09-25 10:18tests: add 34-reflect, fix other testsDrew DeVault15+302-41
2021-09-25 09:35gen: flesh out type info emit somewhatDrew DeVault6+239-28
2021-09-03 14:40all: add @hidden attributeDrew DeVault9+37-23
2021-09-03 11:19gen: implement type() for builtinsDrew DeVault6+74-5
2021-09-03 10:54rt: add static typeinfo globalsDrew DeVault4+109-2
2021-09-03 09:00check: check type expressionsDrew DeVault3+36-2
2021-09-03 08:50all: basic first-class type riggingsDrew DeVault13+90-11
2021-10-04 19:35type_store: don't initialize types that can't be referencedBor Grošelj Simić1+3-0
2021-09-25 07:49lex: remove ` alias for caseDrew DeVault1+0-3
2021-09-18 08:02check: don't pass hint to last compound exprDrew DeVault1+1-2
2021-09-15 07:41all: rework switch grammar & semanticsDrew DeVault10+249-132
2021-09-22 19:33gen: fix out-of-bounds write in cast to narrower union for matchMichael Forney1+2-1
2021-09-19 19:46Fix field offset calculation for unions and structsChristopher M. Riedl2+60-14
2021-09-18 22:44Allow fields with offset 0Eyal Sawady1+2-2
2021-09-09 18:44check: error out on unspecified declarationEyal Sawady1+11-6
2021-09-06 08:47check: binarithm: disallow invalid result typesEyal Sawady1+53-13
2021-09-06 08:47Make enums numericEyal Sawady1+1-1
2021-09-04 10:32Error out on unexported aliases in structsEyal Sawady1+1-1
2021-09-04 09:58Drop result type reduction algorithm descriptionEyal Sawady1+0-10
2021-09-04 07:32check: don't dealias result type for slice[...]Eyal Sawady3+29-8
2021-09-04 07:17result reduction: merge `type` with `const type`Eyal Sawady2+27-0
2021-09-04 06:39typedef: error out on emitting unexported aliasesEyal Sawady6+52-27
2021-09-04 05:43struct_subtype: add recursionDrew DeVault1+2-1
2021-09-04 02:52gen: add unreachable abort to tagged matchEyal Sawady1+5-0
2021-09-03 22:13tests: test embedded structsEyal Sawady1+33-0
2021-09-03 22:13type_get_field: handle alias embedsEyal Sawady1+1-1
2021-09-03 22:13ast: simplify embedded struct literalsEyal Sawady3+31-55
2021-09-03 10:35type_is_assignable: implement struct subtypingEyal Sawady2+40-0
2021-09-03 10:35Rework embedded structsEyal Sawady6+129-113
2021-09-03 09:58tagged_init: remove debugging printfEyal Sawady1+0-1
2021-09-02 10:21check: style fixDrew DeVault1+0-1
2021-09-02 06:46parse, gen: implement &unary-expressionEyal Sawady3+23-7
2021-09-02 02:44append/insert: drop *unary-expression formEyal Sawady2+4-11
2021-09-01 13:04gen: add padding at the end of structsAlexey Yerin1+11-0
2021-09-01 11:51tests: test yield termination semanticsDrew DeVault1+10-0
2021-09-01 10:58gen: gen defers after yield valueDrew DeVault1+8-6
2021-09-01 09:59check: add useful test for missing yieldsDrew DeVault1+4-0
2021-08-31 12:41Use yields to determine expression list result typeDrew DeVault11+82-22
2021-08-31 12:40gen: basic yield implementationDrew DeVault3+33-12
2021-08-31 11:53check: implement yieldDrew DeVault3+59-14
2021-08-31 11:52type store: early return from reduce on 1 typeDrew DeVault1+2-0
2021-08-31 09:11all: lay groundwork for yield expressionsDrew DeVault8+41-3
2021-08-30 06:42Revert "gen: stop generating after terminating expression"Drew DeVault1+1-1
2021-08-29 20:26gen: stop generating after terminating expressionUmar Getagazov1+1-1
2021-08-23 16:45check: fix string length calculationAlexey Yerin1+2-2
2021-08-23 14:28all: move labels to compound expressionsDrew DeVault13+205-173
2021-08-23 02:27do not treat Hare literals as C stringsBor Grošelj Simić1+8-7
2021-08-23 08:46gen: insert trailing padding in tagged data itemsDrew DeVault1+6-0
2021-08-22 18:17gen: fix padding in tagged data itemsDrew DeVault1+6-0
2021-08-22 13:31gen: support tagged data of size zeroDrew DeVault1+5-3
2021-08-22 13:29eval, gen: implement tagged typesDrew DeVault4+35-2
2021-08-18 15:24eval: only allow taking address of globalsBor Grošelj Simić2+30-12
2021-08-17 18:38check: remove obsolete commentEyal Sawady1+0-1
2021-08-16 21:39type_store: bubble up errorsEyal Sawady1+117-62
2021-08-16 21:39check: refactor error list into contextEyal Sawady4+457-475
2021-08-16 21:33type_store_lookup_alias: minor simplificationEyal Sawady1+1-2
2021-08-16 08:08.builds/alpine.yml: ditch cprocDrew DeVault1+0-16
2021-08-15 09:36rt: initial riscv64 supportDrew DeVault3+451-0
2021-08-14 12:30gen: fix negationDrew DeVault1+2-2
2021-08-14 12:30gen: break on missing subtypeDrew DeVault1+1-1
2021-08-14 12:30all: fix padding at end of typesDrew DeVault3+11-2
2021-08-14 09:46gen: fix type for alloc objectDrew DeVault1+6-1
2021-08-13 14:18aggregate_lookup: fix inverted special caseDrew DeVault1+3-3
2021-08-13 12:52gen: abort when reaching supposedly unreachable codeDrew DeVault3+18-0
2021-08-13 12:48gen: remove obsolete commentDrew DeVault1+0-3
2021-08-13 12:43gen: copy match object to new bindingDrew DeVault1+17-7
2021-08-13 12:07check: disallow unbounded slicesEyal Sawady1+4-2
2021-08-13 11:53gen: fix missing side-effects on some castsDrew DeVault1+1-0
2021-08-13 11:10gen: fix off-by-one in slice/delete bounds checkEyal Sawady3+8-3
2021-08-13 10:56check: error out on too few tuple valuesEyal Sawady1+4-0
2021-08-13 10:40gen: fix type assertions to tagged unionsEyal Sawady1+6-1
2021-08-13 09:51gen: fix slicing of aliasesEyal Sawady1+2-1
2021-08-13 09:15insert: implement auto-derefEyal Sawady3+16-7
2021-08-13 09:15append: implement auto-derefEyal Sawady3+19-11
2021-08-13 09:15gen: implement deleteEyal Sawady2+96-4
2021-08-13 08:32gen: branch_copyresult: handle more void casesDrew DeVault1+3-1
2021-08-13 08:22gen: call result is non-xtypeDrew DeVault1+2-4
2021-08-13 08:03gen: implement static insertDrew DeVault2+28-8
2021-08-13 07:26gen: implement variadic insertDrew DeVault1+21-2
2021-08-13 07:11gen: check bounds on insertDrew DeVault1+12-0
2021-08-13 07:11gen: fix memmove address calculationDrew DeVault1+1-1
2021-08-13 06:47gen: initial implementation of insertDrew DeVault1+74-1
2021-08-12 06:56tests: merge new and old test suitesDrew DeVault21+235-706
2021-08-12 06:04gen: fix empty auto-filled struct initializersDrew DeVault1+0-1
2021-08-12 06:02gen: dealias call lvalue typeDrew DeVault1+1-1
2021-08-12 06:01gen: fix slicing expressions on [*]type arraysDrew DeVault1+32-21
2021-08-12 06:00gen: lower qbe subtypes on call argsDrew DeVault1+4-0
2021-08-12 05:53gen: relocate cast special casesDrew DeVault1+16-15
2021-08-12 05:49check: don't create 0z bindings on propagateDrew DeVault2+25-11
2021-08-11 09:42eval: implement tuple accessEyal Sawady4+14-2
2021-08-11 07:19gen: fix nested match with aliasesEyal Sawady2+5-3
2021-08-11 07:34gen: fix use-after-free on append to selfDrew DeVault3+11-4
2021-08-11 04:27gen: implement static appendEyal Sawady1+22-5
2021-08-10 12:11gen: style fix for appendDrew DeVault1+1-1
2021-08-10 10:10gen: fix defers on returnEyal Sawady2+4-2
2021-08-10 10:10Generate defers for @noreturn functionsEyal Sawady1+7-1
2021-08-10 09:59gen: implement control expressionsEyal Sawady3+44-11
2021-08-10 12:10gen: implement variadic appendDrew DeVault2+38-6
2021-08-10 10:37gen: implement slice assignmentEyal Sawady2+44-2
2021-08-10 09:14gen: fix cast from empty array to sliceEyal Sawady1+9-4
2021-08-10 10:23gen: basic implementation of appendDrew DeVault1+55-1
2021-08-10 09:04gen: implement efficient path for slice allocDrew DeVault2+25-25
2021-08-10 08:00gen: enable 25-promotionDrew DeVault1+1-2
2021-08-10 07:59gen: implement qbe subtype extensionDrew DeVault2+35-2
2021-08-10 07:54gen: implement non-c_compat struct/union typesDrew DeVault2+6-1
2021-08-10 07:53gen: implement static bindingsDrew DeVault2+17-1
2021-08-10 07:51gen: tolerate missing defer scope in gen_defersDrew DeVault2+4-2
2021-08-10 07:47gen: fix struct auto-fill ABIDrew DeVault2+2-1
2021-08-10 07:42gen: enable tests/17-alloc and fix issuesDrew DeVault2+18-6
2021-08-10 06:38gen: fix void returnEyal Sawady1+6-2
2021-08-10 06:38Re-enable some of the old test suiteEyal Sawady2+54-54
2021-08-10 06:38gen: implement freeEyal Sawady1+16-1
2021-08-10 06:21gen: implement && and ||Eyal Sawady1+46-4
2021-08-09 19:25gen: implement @test functionsAlexey Yerin1+47-3
2021-08-09 12:47gen: implement @init and @fini for functionsAlexey Yerin1+55-2
2021-08-09 13:44gen: ensure cap side-effects occur first in allocDrew DeVault1+7-5
2021-08-09 13:36gen: general implementation of slice allocDrew DeVault1+96-3
2021-08-09 11:32gen: implement simple alloc caseDrew DeVault2+46-0
2021-08-09 11:12gen: implement array expansionDrew DeVault1+30-4
2021-08-09 09:07gen: implement str == str, str != strDrew DeVault4+51-2
2021-08-09 09:07gen: skip bounds test on [*]typeDrew DeVault1+18-13
2021-08-09 08:57gen: implement switchDrew DeVault3+135-8
2021-08-09 08:49gen: set gvout for default match caseDrew DeVault1+4-2
2021-08-09 08:13Implement len() et al for pointers to compositesDrew DeVault2+8-5
2021-08-09 08:05gen: implement cast silce => *arrayDrew DeVault2+11-2
2021-08-09 07:49gen: implement bounds check for indexing expressionAlexey Yerin1+32-4
2021-08-09 07:41gen: implement bound checks for slicing operationAlexey Yerin1+17-0
2021-08-09 07:55gen: implement match subset typesDrew DeVault3+68-4
2021-08-08 17:41gen: handle match w/o out valueDrew DeVault1+18-6
2021-08-08 17:19gen: implement nullable pointer matchDrew DeVault3+106-4
2021-08-08 10:19gen: initial implementation of matchDrew DeVault3+225-3
2021-08-07 10:55gen: implement enum store/loadAlexey Yerin3+48-5
2021-08-07 10:18gen: implement slicing and slice indexingDrew DeVault3+119-3
2021-08-07 08:43gen: cast array => sliceDrew DeVault3+138-61
2021-08-07 08:12gen: implement type assertionsDrew DeVault4+86-13
2021-08-07 07:23gen: implement type test assertions ('is')Drew DeVault2+41-2
2021-08-06 13:40gen: don't qualify gen_store for tagged w/commentDrew DeVault1+1-4
2021-08-06 13:16gen: complete unary arithmetic implementationDrew DeVault1+21-2
2021-08-06 13:00gen: minor cleanup for gen_expr_cast_atDrew DeVault1+14-31
2021-08-06 12:58gen: implement casting from tagged unionsDrew DeVault2+23-2
2021-08-06 12:40gen: use 'from' for inner union in cast-to-taggedDrew DeVault1+1-1
2021-08-06 12:38gen: implement cast-to-tagged case 2Drew DeVault4+77-3
2021-08-05 13:44gen: implement subtype tagged castsDrew DeVault2+38-6
2021-08-05 12:49gen: initial tagged union implementationDrew DeVault5+175-11
2021-08-05 12:25gen: add qtype for sliceDrew DeVault1+7-2
2021-08-05 11:29gen: implement deferDrew DeVault4+93-13
2021-08-05 11:11gen: use mklabel in gen_function_declDrew DeVault1+1-1
2021-08-05 10:32gen: implement for loopsDrew DeVault3+62-1
2021-08-05 09:11gen: update value type in cast early returnDrew DeVault1+3-1
2021-08-05 09:08gen: implement measurementsDrew DeVault1+48-1
2021-08-05 08:34gen: implement globalsDrew DeVault3+288-1
2021-08-05 08:22gen: expand tests/904-copyDrew DeVault1+17-2
2021-08-05 08:20gen: basic implementation of castsDrew DeVault3+168-2
2021-08-05 07:50gen: simplify out temp allocation for if exprsDrew DeVault1+1-1
2021-08-05 07:48gen: commoditize branch consolidationDrew DeVault3+23-12
2021-08-05 07:35gen: fix if with void outEyal Sawady2+5-3
2021-08-04 19:47gen: use gen_expr_at for assignmentDrew DeVault1+3-3
2021-08-04 12:01gen: fix string internal data structureDrew DeVault2+3-3
2021-08-04 11:59temporary tests: flesh out abortDrew DeVault3+31-2
2021-08-04 11:49gen: implement if expressionsDrew DeVault3+54-3
2021-08-04 11:20gen: simplify label generationDrew DeVault3+17-11
2021-08-04 10:56gen: expand tests/904-copyDrew DeVault1+9-2
2021-08-04 10:52gen: introduce gen_copy_aligned, refactor copyDrew DeVault1+4-8
2021-08-04 10:16gen: implement += et alEyal Sawady3+25-3
2021-08-04 10:39gen: more sophisticated (hack) for trailing retDrew DeVault1+6-1
2021-08-04 10:36gen: fix terminating function bodiesDrew DeVault1+1-1
2021-08-04 10:33gen: simplify gen_copy_memcpyDrew DeVault1+3-11
2021-08-04 08:59gen: temporarily use memcpy for array/stringDrew DeVault1+2-1
2021-08-04 08:55gen: implement indirect assignDrew DeVault1+7-2
2021-08-04 08:53gen: implement basic assignmentDrew DeVault1+17-1
2021-08-04 08:44gen: implement assertDrew DeVault1+43-0
2021-08-04 08:35gen: implement string constantsDrew DeVault1+31-1
2021-08-04 08:15gen: implement basic binarithmDrew DeVault1+17-1
2021-08-04 07:49gen: implement tuple value accessDrew DeVault4+36-35
2021-08-04 07:45gen: implement tuple expressionsDrew DeVault2+38-2
2021-08-04 07:20gen: implement index expressionsDrew DeVault1+23-1
2021-08-04 06:59gen: implement array constantsDrew DeVault1+61-4
2021-08-04 06:48gen: add mkrtfunc utilityDrew DeVault3+14-10
2021-08-03 07:37gen: implement auto-derefDrew DeVault1+4-2
2021-08-03 07:29gen: implement unary &, *Drew DeVault1+35-2
2021-08-02 16:48gen: add placeholder for auto-derefDrew DeVault1+10-1
2021-08-02 16:42gen: introduce mkqtmp, removes spurious copyDrew DeVault3+17-8
2021-08-02 16:36gen: implement field accessDrew DeVault1+18-0
2021-08-02 13:57gen: skip final adds on gen_copy_structDrew DeVault1+7-5
2021-08-02 13:51gen: use mklval for gen_expr_struct_atDrew DeVault1+1-2
2021-08-02 13:51gen: use mktemp for gen_expr_callDrew DeVault1+1-5
2021-08-02 13:50gen: implement gen_copy_structDrew DeVault3+54-2
2021-08-02 13:27gen: implement call expressionsDrew DeVault1+62-3
2021-08-02 11:58gen: implement parametersDrew DeVault1+38-3
2021-08-02 10:07gen: add gen_expr_with helperDrew DeVault1+18-7
2021-08-02 09:47gen: introduce _with gen_expr constructDrew DeVault1+12-23
2021-08-02 09:39gen: implement -at variant of gen_expr_listDrew DeVault1+21-3
2021-08-02 09:34gen: use gen_expr_at for struct fieldsDrew DeVault1+1-5
2021-08-02 09:26gen: correct ptr type in gen_expr_struct_atDrew DeVault1+1-0
2021-08-02 09:16gen: eliminate non-_at variant of struct exprDrew DeVault1+11-15
2021-08-02 09:12gen: initial gen_expr_at frameworkDrew DeVault1+39-14
2021-08-01 08:51gen: struct expressionsDrew DeVault3+94-2
2021-08-01 07:33gen: access expressionsDrew DeVault2+60-0
2021-07-31 17:35gen: binding expressionsDrew DeVault5+77-45
2021-07-31 08:26gen: return expressionsDrew DeVault1+20-4
2021-07-31 08:10gen: expression listsDrew DeVault1+18-0
2021-07-26 18:31gen: de-alias constant typesDrew DeVault1+1-1
2021-07-26 15:40gen: implement constantsDrew DeVault3+144-15
2021-07-25 10:57gen vN+1b: raze gen to evaluate a new approachDrew DeVault3+7-1056
2021-07-25 07:55gen: classify functions as non-aggregateDrew DeVault2+5-11
2021-07-25 07:35gen: fix non-access field/index expressionsDrew DeVault2+59-5
2021-07-25 07:02gen: remove obsolete TODODrew DeVault1+0-1
2021-07-25 06:59gen: merge call & deref testsDrew DeVault5+62-61
2021-07-24 16:13gen: implement aggregate return typesEyal Sawady2+17-7
2021-07-24 12:47gen: expand call testsDrew DeVault1+12-0
2021-07-24 12:43gen: add test for gen_copyDrew DeVault4+61-2
2021-07-24 12:41gen: fix calls with indirect primitive paramsDrew DeVault1+6-1
2021-07-24 12:24gen: expand deref tests, fix call issueDrew DeVault3+19-4
2021-07-24 10:16gen: s/auto_deref/gen_auto_deref/gDrew DeVault1+21-21
2021-07-24 07:56tests/configure: add harec dependencyDrew DeVault1+1-1
2021-07-16 11:37Fix comments on arithm testEyal Sawady1+2-2
2021-07-16 11:37Add call testEyal Sawady1+12-0
2021-07-16 11:37Add minimal test runtimeEyal Sawady3+10-2
2021-07-24 07:37gen: implement call expressionsEyal Sawady2+60-3
2021-07-24 07:37gen: implement automatic dereferenceDrew DeVault3+46-2
2021-07-16 11:37gen: fix gen_copy for functionsEyal Sawady2+3-2
2021-07-16 11:37gen: implement delaration accessEyal Sawady3+24-4
2021-07-16 11:37gen_address_index: make result indirectEyal Sawady1+1-0
2021-07-16 11:37gen: fix uninitialized gen_tempsEyal Sawady1+7-7
2021-07-14 14:41gen: fix binarithm with direct outputDrew DeVault5+37-13
2021-07-11 23:17gen: implement basic binarithm casesDrew DeVault5+176-2
2021-07-10 19:56gen: set min size for memcpy to 128Drew DeVault1+2-2
2021-07-04 23:37Add temporary test suite for genN+1Drew DeVault2+61-36
2021-07-04 22:36gen: implement assertion expressionsDrew DeVault1+51-1
2021-07-04 22:00gen: split off genutil.cDrew DeVault4+170-143
2021-07-04 16:13gen: introduce temp_workcopyDrew DeVault1+18-16
2021-07-04 15:43gen: rearrange gen_copy for greater readabilityDrew DeVault1+22-22
2021-07-04 15:42gen: implement string copyDrew DeVault1+41-1
2021-07-04 15:31gen: implement string constantsDrew DeVault2+54-2
2021-07-03 15:55gen: add more indirect assertionsDrew DeVault1+4-0
2021-07-03 15:48gen: implement indirect assignmentDrew DeVault1+16-2
2021-07-03 15:38gen: implement unary dereferenceDrew DeVault1+17-1
2021-07-03 15:30gen: implement unary address operatorDrew DeVault1+40-5
2021-07-03 15:04gen: implement struct/union copyDrew DeVault1+21-2
2021-07-03 14:57gen: implement function parametersDrew DeVault3+91-9
2021-07-03 00:14gen: implement array index accessDrew DeVault2+63-7
2021-07-02 18:44gen: assert types match for gen_copyDrew DeVault1+1-0
2021-07-02 18:44gen: minor fixes for gen_copyDrew DeVault1+2-2
2021-07-02 18:37gen: basic array supportDrew DeVault2+77-2
2021-07-02 16:52gen: improve docs for internal typesDrew DeVault1+6-0
2021-07-02 16:47gen: implement field accessDrew DeVault1+42-13
2021-07-02 16:33gen: implement basic assignmentsDrew DeVault2+46-20
2021-07-02 16:01gen: implement basic access expressionsDrew DeVault1+96-0
2021-07-02 15:35gen: implement bindingsDrew DeVault2+39-7
2021-07-02 14:46gen: simplify =w constantsDrew DeVault1+0-4
2021-07-02 14:22gen: tweak size constants for future arch workDrew DeVault1+10-2
2021-07-02 14:21gen: implement f32, f64 constantsDrew DeVault1+5-1
2021-07-01 18:32gen: implement struct constantsDrew DeVault5+174-64
2021-07-01 18:28gen: implement enumsDrew DeVault3+14-5
2021-07-01 18:18gen: expand type support somewhatDrew DeVault4+105-25
2021-07-01 18:01gen: implement expression list, returnDrew DeVault2+44-1
2021-07-01 17:08gen: add @end label to functionsDrew DeVault1+1-0
2021-07-01 16:57gen: implement loading values from temporariesDrew DeVault3+87-4
2021-07-01 15:21gen: pull in the type storeDrew DeVault3+8-3
2021-07-01 15:20gen: add TODO regarding return valuesDrew DeVault1+2-0
2021-07-01 14:28gen: basic implementation of constantsDrew DeVault4+174-17
2021-07-01 14:04gen: basic temporary allocationDrew DeVault5+106-28
2021-07-01 13:37gen: basic function riggingsDrew DeVault1+36-1
2021-07-01 13:17Raze gen vNDrew DeVault5+9-3996
2021-08-04 12:19check: emit location for aborts with a messageAlexey Yerin1+12-0
2021-07-29 19:10config.sh: set AR in resulting configurationAlexey Yerin1+1-0
2021-07-14 17:01eval: flesh out unariy !, ~, and -Eyal Sawady1+11-2
2021-07-10 19:16gen: switching on strUmar Getagazov2+42-10
2021-07-08 21:02gen: emit memcpy for initializing large arraysDrew DeVault2+37-12
2021-07-05 16:49Add support for parsing subnormal floatsVlad-Stefan Harbuz2+2-2
2021-07-07 13:34typedef: add special case for NaN and Infinity floating point constantsSudipto Mallick1+12-2
2021-07-06 22:22Add using slices to create recursive data structuresCharlie Stanton2+33-1
2021-06-24 16:56Rename typ_store_reduce_{tagged => result}Eyal Sawady3+5-5
2021-06-23 15:07gen: fix more issues with qbe subtypesDrew DeVault3+15-4
2021-06-19 18:41Add tagged union reduction testsEyal Sawady2+150-0
2021-06-19 18:41Implement tagged union reductionEyal Sawady3+110-9
2021-06-15 07:41rt::free: drop unnecessary castEyal Sawady1+1-1
2021-06-15 03:18Fix type_storage_unparse(STORAGE_NULL)Eyal Sawady1+1-1
2021-06-06 08:06Don't accept a tag list for -TEyal Sawady6+14-108
2021-06-04 00:58Implement static deleteEyal Sawady4+35-8
2021-06-02 23:42rune_unparse: add \USteven Guikal2+6-3
2021-05-24 11:35check_expr_unarithm: dealias LNOT parameterArmin Weigl3+12-2
2021-05-24 11:32gen_slice_alloc: dealias initializer typeArmin Weigl2+9-5
2021-05-24 13:52Add new fixed assertion for static insert/appendDrew DeVault2+4-3
2021-05-21 18:39Allow any pointer type to promote to *voidDrew DeVault1+6-2
2021-05-06 17:34Disallow assignment from *void a nullable pointerEyal Sawady3+4-4
2021-05-05 21:07Add fnv1a_{u64,size} and use when appropriateEyal Sawady4+32-6
2021-05-03 16:04check: fix multi-global declarationsEyal Sawady2+56-26
2021-05-03 06:47parse: make error types a prefixEyal Sawady3+14-13
2021-05-02 19:02eval: implement floatsEyal Sawady2+114-50
2021-05-02 19:52check: implement flexible rune constantsEyal Sawady1+25-2
2021-05-02 17:58Revert "eval_binarithm: implement floats"Drew DeVault2+49-96
2021-05-02 17:58Revert "eval_cast: implement floats"Drew DeVault1+0-2
2021-05-02 17:58Revert "eval_cast: fix integer -> float casts"Drew DeVault1+1-10
2021-05-02 17:58Revert "eval_cast: fix float -> integer casts"Drew DeVault1+1-9
2021-05-02 16:24eval_cast: fix float -> integer castsEyal Sawady1+9-1
2021-05-02 16:19eval_cast: fix integer -> float castsEyal Sawady1+10-1
2021-05-02 16:14eval_cast: implement floatsEyal Sawady1+2-0
2021-05-02 16:02eval_binarithm: implement floatsEyal Sawady2+96-49
2021-04-30 10:16implement &&=, ||= and ^^= operatorsBor Grošelj Simić5+155-55
2021-04-29 13:24Fix FNV-32 prime constantDrew DeVault2+5-5
2021-04-28 16:57Revert match syntax changesEyal Sawady3+77-45
2021-04-28 18:52docs/runtime.txt: document additional functionsDrew DeVault1+34-0
2021-04-28 17:23gen: fix error with new slice capacityDrew DeVault2+8-2
2021-04-28 17:16Fix slice capacity with undefined length arrayDrew DeVault1+6-5
2021-04-28 17:04all: implement static append/insertDrew DeVault5+89-9
2021-04-28 17:02gen: correct capacity from slicing expressionsDrew DeVault1+15-2
2021-04-28 15:40gen: implement variadic insertDrew DeVault3+55-9
2021-04-28 14:07Finish (non-variadic) insert implementationDrew DeVault7+206-3
2021-04-26 14:07.gitignore: re-add build/Eyal Sawady1+1-0
2021-04-26 12:59print an error message for duplicate struct/union membersBor Grošelj Simić2+5-1
2021-04-26 12:50rt::compile: null-terminate execve argumentsBor Grošelj Simić3+25-4
2021-04-26 00:10use exit(EXIT_FAILURE) instead of abort()Bor Grošelj Simić2+5-5
2021-04-26 00:10use EXIT_{FAILURE, SUCCESS} for exit codesBor Grošelj Simić3+16-16
2021-04-25 13:43check: make unhandled error less inscrutableDrew DeVault1+2-2
2021-04-25 13:36simplify duplicate member pruning in tagged unionsBor Grošelj Simić1+8-10
2021-04-25 13:36eliminate a redundant special caseBor Grošelj Simić1+1-5
2021-04-25 02:16forbid tagged unions with a single memberBor Grošelj Simić2+13-2
2021-04-25 01:40.gitignore: ignore build artifactsKiëd Llaentenn1+5-1
2021-04-24 17:01gen_cast_to_tagged: loosen assertionEyal Sawady1+4-1
2021-04-24 18:07Disallow errors when the type hint is voidEyal Sawady1+24-12
2021-04-24 18:07Improve type hintingEyal Sawady1+10-9
2021-04-24 12:29all: add ! postfix operator to abort on errorDrew DeVault7+95-23
2021-04-21 21:48gen: Make ">>" respect signednessThomas Bracht Laumann Jespersen2+24-1
2021-04-23 12:12parse: implement static slice mutationsDrew DeVault3+32-8
2021-04-23 12:02parse: implement insert expressionsDrew DeVault8+59-12
2021-04-22 01:27check: handle zero-sized struct/tuple fields cleanlyBor Grošelj Simić1+5-1
2021-04-20 22:36Add gen testEyal Sawady2+47-1
2021-04-20 22:36gen: improve efficiency of gen_copyEyal Sawady1+44-20
2021-04-20 22:36qbe, qtype: fix type alignmentsEyal Sawady2+10-2
2021-04-20 00:07parse: disallow name: type => expr for match casesEyal Sawady2+10-45
2021-04-20 00:07parse: disallow null as a primitive typeEyal Sawady1+0-4
2021-04-19 19:18Update match according to a recent spec changeAlexey Yerin2+38-29
2021-04-18 20:57Add support for static abortsAlexey Yerin2+18-13
2021-04-18 15:57Fix exported prototypesEyal Sawady2+8-4
2021-04-18 01:30eval: implement casts to pointersEyal Sawady1+4-1
2021-04-17 19:06Rework type promotionEyal Sawady1+58-55
2021-04-17 11:30parse: remove control from expression-listDrew DeVault1+2-14
2021-04-16 13:54gen: to_tagged: set tag after gen_exprDrew DeVault1+11-9
2021-04-16 13:45gen: alloc: store to pointer after initializationDrew DeVault1+4-5
2021-04-13 21:03Fix stack overflow in is_zeroes()Kiëd Llaentenn1+23-24
2021-04-13 12:56lex: allow signed exponents for floating literalsSudipto Mallick2+26-8
2021-04-11 14:26parse: fix append variadic operator placementDrew DeVault2+18-9
2021-04-10 15:24type_store: handle errors gracefullyDrew DeVault1+22-4
2021-04-10 13:23gen_data_item: emit f32 as singleArmin Weigl2+9-1
2021-04-09 23:08Provide a type hint to the last expr in a listEyal Sawady1+2-2
2021-04-10 11:11Fix tuples with tagged hints and 0-size fieldsEyal Sawady2+13-5
2021-04-09 15:55rt/+linux/syscall+aarch64: Move parameters between registersArmin Weigl1+28-70
2021-04-09 18:28gen_data_item: do not truncate 64 bit enum membersArmin Weigl2+7-1
2021-04-09 18:27check_expr_alloc: dealias type hintArmin Weigl1+1-1
2021-04-08 21:43Remove traceEyal Sawady9+32-385
2021-04-08 21:42parse: pull builtins out of postfix-expressionEyal Sawady1+34-36
2021-04-07 13:51Drop expression classesEyal Sawady3+162-200
2021-04-07 00:02Statically allocate the type storeEyal Sawady1+1-1
2021-04-06 17:48fix slicing of array double pointerArmin Weigl2+6-2
2021-04-06 16:09parse: fix omission in postfix measure caseDrew DeVault1+2-0
2021-04-06 12:47typedef: support exported enum constantsDrew DeVault1+15-2
2021-04-05 19:20*_expr_assign: dealias indirect assignment targetArmin Weigl3+10-7
2021-04-05 17:55check_expr_assert: dealias conditionArmin Weigl1+1-1
2021-04-05 17:55check_expr_if: dealias conditionArmin Weigl2+11-1
2021-04-05 17:55check_expr_for: dealias conditionArmin Weigl2+11-1
2021-04-04 09:03fix precision for floating point numbers in ssaSudipto Mallick1+3-2
2021-04-03 13:16fix printing of floating point numbers in ssaSudipto Mallick1+2-2
2021-04-01 17:06Remove str => *const char castDrew DeVault7+29-32
2021-04-01 16:57Do not emit a NUL terminator for string constantsDrew DeVault4+6-8
2021-04-01 16:19Permit some sub-units to have no declarationsDrew DeVault3+18-9
2021-03-29 23:47type_is_castable: switch on to->storageEyal Sawady1+31-29
2021-03-27 21:15emit: update to upstream syntax for data sectionMichael Forney1+3-2
2021-03-27 18:35gen_expr_slice: dealias sourceArmin Weigl1+2-0
2021-03-27 16:32gen_expr_measure: dealias arrayArmin Weigl1+1-1
2021-03-27 13:36gen: Cast constants to uint64_t for 64-bit data itemsThomas Bracht Laumann Jespersen1+1-1
2021-03-27 13:28gen: fix slice allocation from arraysDrew DeVault1+2-0
2021-03-26 19:10check_expr_binarithm: use promoted valuesArmin Weigl3+14-4
2021-03-24 01:21main: initialize defines to NULLDrew DeVault1+1-1
2021-03-23 12:40gen: fix qval_for_object with non-long typesDrew DeVault1+4-3
2021-03-21 21:47gen: fix casts between tagged unionsEyal Sawady1+1-1
2021-03-20 14:42Implement -D (define) optionDrew DeVault9+120-30
2021-03-19 00:02Update for prototype grammar changesEyal Sawady4+17-31
2021-03-18 15:25tests: string constants with null terminatorBor Grošelj Simić1+3-0
2021-03-18 17:19gen: fix extypes on function returnsDrew DeVault1+1-1
2021-03-18 04:35Fix dereferencing of aliases of pointersEyal Sawady1+4-3
2021-03-15 18:32check.c: fix usage of stdarg macrosBor Grošelj Simić1+4-0
2021-03-15 18:32do not treat string constants as null-terminatedBor Grošelj Simić3+10-4
2021-03-14 23:23gen: treat uintptr data as pointersMykyta Holubakha1+0-1
2021-03-14 21:10check: improve message on check error in vaargEyal Sawady1+2-2
2021-03-14 20:39Initial pass on float supportEyal Sawady7+91-10
2021-03-14 19:16type_store_lookup_alias: update flagged aliasesEyal Sawady1+25-7
2021-03-14 20:11eval: implement slice defaultsDrew DeVault1+1-1
2021-03-14 19:06check: fix assertion failure on some assignsDrew DeVault1+4-3
2021-03-14 14:48gen: run defers in reverse orderDrew DeVault2+3-4
2021-03-14 03:20scan: simplify scan_declarationEyal Sawady1+5-10
2021-03-14 02:29Fix rt::wexitstatusEyal Sawady2+8-2
2021-03-14 02:09Implement forward referencesEyal Sawady3+1226-508
2021-03-13 23:10type_store: drop extra offset alignment assertMykyta Holubakha1+0-1
2021-03-13 21:52config.sh: output a harec.sh fileDrew DeVault1+4-0
2021-03-13 18:13parse: fix static asserts in postfix expressionsEyal Sawady1+6-2
2021-03-12 15:23mod: use POSIX-compatible version referenceDrew DeVault1+22-4
2021-03-12 14:17gen: fix storage of arraysDrew DeVault2+11-6
2021-03-11 19:02parse: fix type decls with multiple declarationsEyal Sawady1+0-1
2021-03-11 17:20gen: discard out on terminating if branchesDrew DeVault1+4-2
2021-03-11 16:52Loosen assignment rules for non-taggedDrew DeVault2+5-1
2021-03-10 05:22Add location to fixed abortsEyal Sawady4+45-27
2021-03-11 15:18Store a cache of loaded modulesDrew DeVault9+82-22
2021-03-11 14:39Increase size of type map to 64KDrew DeVault5+6-5
2021-03-11 14:26Use a hash map for scope objectsDrew DeVault4+49-20
2021-03-10 19:08Call deferred functions before noreturn functionsSteven Guikal2+27-0
2021-03-10 15:18gen: fix aggregate types in appendDrew DeVault2+2-0
2021-03-10 14:53type store: add expectDrew DeVault1+22-6
2021-03-10 01:30gen: fix extype usage in appendDrew DeVault1+1-1
2021-03-08 20:10Fix type assertions to tagged unionsEyal Sawady1+4-9
2021-03-08 16:48gen: fix store in type testDrew DeVault1+2-1
2021-03-07 21:51Use `fixed_aborts` values as fixed abort reasonsEyal Sawady2+3-2
2021-03-05 18:37Prevent use of return in @noreturn functionsArmin Weigl1+4-0
2021-03-04 22:41implement compile-time evaluation of tuplesBor Grošelj Simić5+94-4
2021-03-04 22:01eval.c: evaluate compile-time logical AND with &&Bor Grošelj Simić1+1-1
2021-03-04 22:01gen: fix computation of expected struct field offsetBor Grošelj Simić1+1-1
2021-03-06 17:14gen: implement char data itemsDrew DeVault1+1-1
2021-03-01 19:57parse: remove obsolete TODOEyal Sawady1+2-3
2021-03-02 14:34type store: various fixes for struct typesDrew DeVault1+10-10
2021-03-02 14:21type_store: add sanity checks around struct fieldsDrew DeVault1+6-0
2021-03-02 14:19qtype: sort struct types by offsetDrew DeVault1+23-1
2021-02-28 15:47check: fix return value expectDrew DeVault1+1-1
2021-02-28 15:47Improve type-related assertion failure messagingDrew DeVault2+33-3
2021-02-27 21:08Fix labelled break/continue in unlabelled loopsEyal Sawady2+7-2
2021-02-27 21:05check: fix tagged union tuple hintsEyal Sawady1+1-1
2021-02-27 12:57check: abort on return inside a defer expressionBor Grošelj Simić1+3-0
2021-02-27 12:57check: abort on error propagation inside a deferBor Grošelj Simić1+3-1
2021-02-27 02:31check: forbid error propagation with non-tagged typesBor Grošelj Simić1+1-1
2021-02-26 23:57check: implement tagged union hints for tuplesEyal Sawady1+27-0
2021-02-26 21:40don't generate implicit casts on terminating exprsEyal Sawady1+2-2
2021-02-26 22:50gen: fix assertion on value typeDrew DeVault1+1-1
2021-02-26 22:48Support referencing symbols in global initializersDrew DeVault6+96-17
2021-02-26 17:08gen: allow slice assignment from smaller sliceDrew DeVault1+3-3
2021-02-26 00:55check: overhaul alloc type hinting supportDrew DeVault1+29-11
2021-02-25 22:36rt::{ensure, unensure}: get length from sliceEyal Sawady2+7-7
2021-02-25 21:54types: improve alias handling on slice castDrew DeVault1+7-2
2021-02-25 11:45tagged_init: memove the correct number of bytesEyal Sawady1+2-1
2021-02-24 22:06gen: use source type for loadDrew DeVault1+3-3
2021-02-24 20:30gen: generate enum data itemsDrew DeVault1+30-0
2021-02-24 16:44fix segfault on import of nonexistant memberArmin Weigl2+14-0
2021-02-24 14:36type_store: fix offsets in tuple lookupDrew DeVault1+2-1
2021-02-24 04:16Fix issues with member-imported alias typesEyal Sawady1+4-0
2021-02-24 01:04Actually fix enum access for member importEyal Sawady1+6-3
2021-02-23 19:40Handle lowering non-float constants to floatEyal Sawady1+3-3
2021-02-23 19:40Lower constants to int on ambiguous tagged unionsEyal Sawady1+5-4
2021-02-23 18:13fix enum access for member importArmin Weigl1+16-0
2021-02-23 18:13fix enum access for namespace importArmin Weigl1+9-0
2021-02-23 18:13fix enum access for alias importArmin Weigl1+8-0
2021-02-23 16:21Implement importsArmin Weigl4+91-10
2021-02-23 16:21allow trailing '::' in parse_identiferArmin Weigl3+29-16
2021-02-23 19:58check: fix issues with tag selection in propagateDrew DeVault1+2-2
2021-02-23 19:21Loosen up switch value restrictionsDrew DeVault1+3-2
2021-02-23 19:10check: pop scope when leaving propagateDrew DeVault1+1-0
2021-02-23 19:00gen: tolerate out value in continueDrew DeVault1+0-1
2021-02-23 18:59This is terrible, don't read itDrew DeVault1+15-3
2021-02-23 18:38typedefs: emit error typesDrew DeVault1+4-0
2021-02-23 18:33tests/23-errors: add error propagation testDrew DeVault2+21-2
2021-02-23 18:27check: lower error propagation to match expressionDrew DeVault2+56-12
2021-02-23 16:42check: implement error propagationDrew DeVault2+87-1
2021-02-23 16:41Fix various issues with flag handling and typesDrew DeVault2+42-8
2021-02-22 22:28Make len take a complex expressionEyal Sawady1+1-1
2021-02-23 13:50parse: implement error propagationDrew DeVault9+24-4
2021-02-23 13:49Remove dumpDrew DeVault3+0-470
2021-02-23 13:03Implement error type flagDrew DeVault5+24-1
2021-02-23 00:29all: simplify alloc expressionsDrew DeVault7+41-30
2021-02-22 14:5418-match: update match syntaxDrew DeVault1+4-12
2021-02-22 14:48Make switch and match cases scope expressionsEyal Sawady1+7-4
2021-02-22 14:48parse_scope_expression: implement indirect non-assignmentsEyal Sawady1+15-5
2021-02-21 23:06Add delete testsEyal Sawady2+44-1
2021-02-21 23:06gen: implement deleteEyal Sawady1+100-1
2021-02-21 23:06Add rt::unensureEyal Sawady1+14-2
2021-02-21 23:06lex, parse, check: implement deleteEyal Sawady9+66-0
2021-02-21 23:06Fix len and append on aliases of slice typesEyal Sawady2+12-8
2021-02-21 00:53parse: remove obsolete TODOsEyal Sawady1+0-2
2021-02-21 00:42all: s/TYPE_STORAGE_/STORAGE_/gEyal Sawady11+1296-1296
2021-02-20 16:07Add @noreturn to start_haArmin Weigl1+1-1
2021-02-19 18:59Implement variable shadowingDrew DeVault2+6-4
2021-02-19 18:29Allow slices to cast to []voidDrew DeVault1+4-0
2021-02-19 18:06type_store: enum values can refer to other valuesDrew DeVault1+16-0
2021-02-17 02:47gen: fix use of extypes in assignmentDrew DeVault1+2-2
2021-02-17 01:04gen: fix cast from zero-length array to sliceEyal Sawady2+18-4
2021-02-16 21:25typedefs: emit str constantsDrew DeVault1+13-1
2021-02-15 18:29move syscall helpers into function-sectionsArmin Weigl2+14-2
2021-02-14 19:17Implement slice assignmentEyal Sawady3+72-1
2021-02-14 17:41typedef: emit some debugging infoDrew DeVault1+2-1
2021-02-14 17:37all: implement explicit struct offsetsDrew DeVault8+65-17
2021-02-14 15:54qtype: fix tagged unions with middle zero typesDrew DeVault3+29-3
2021-02-13 19:15gen: handle default case terminatingDrew DeVault2+10-4
2021-02-13 17:34check: fix result type of control exprsDrew DeVault1+2-0
2021-02-13 17:03parse: fix incorrect synassert messageDrew DeVault1+1-1
2021-02-13 16:58check: don't use non-tuple type hint in tuplesDrew DeVault1+1-1
2021-02-13 16:53gen: don't de-alias for type assertionDrew DeVault1+1-1
2021-02-13 16:51gen: fix comments in type testDrew DeVault1+3-1
2021-02-13 16:50gen: fix cast from tagged to aggregateDrew DeVault1+8-4
2021-02-13 16:32gen: more casts between alignment-distinct taggedsDrew DeVault2+32-1
2021-02-13 16:04gen: fix double side effects of `as`Drew DeVault1+64-61
2021-02-13 15:46gen: convert between alignments on match bindingDrew DeVault2+73-19
2021-02-12 23:15add \Uxxxxxxxx rune formDrew DeVault3+19-4
2021-02-12 19:34rt::realloc: free on zero sizeDrew DeVault1+1-0
2021-02-12 19:13rt::realloc: accept 0 for inputDrew DeVault1+3-2
2021-02-12 19:10rt::ensure: fix append to empty sliceDrew DeVault1+9-3
2021-02-12 19:06Fix allocation of empty slicesDrew DeVault2+9-1
2021-02-12 15:50types: uintptr needs an explicit castDrew DeVault1+1-5
2021-02-12 15:26check: if without else does not terminateDrew DeVault1+1-1
2021-02-12 15:21check: return void even if value is absentDrew DeVault1+13-9
2021-02-12 15:17parse: fix match (x) { int => return, }Drew DeVault1+1-0
2021-02-12 14:01check: fix lowering of static bindingsDrew DeVault1+2-1
2021-02-12 13:53gen: fix gen_copy on null destDrew DeVault1+3-0
2021-02-11 21:13parse: allocation: initialize exp->locEyal Sawady1+4-1
2021-02-11 17:11rt::compile: use length inferred arrayDrew DeVault1+2-2
2021-02-11 16:52emit: move zeroed data into .bssDrew DeVault1+34-0
2021-02-11 16:31Implement equiv. of -ffunction-sectionsDrew DeVault3+35-22
2021-02-10 19:11Implement allocations with implicit capacityEyal Sawady2+10-3
2021-02-10 18:50Update tuple test for flexible constantsEyal Sawady1+8-8
2021-02-10 18:49Allow assignment from str to *const charEyal Sawady2+5-6
2021-02-10 18:46Use more specific build badgeEyal Sawady1+1-1
2021-02-10 17:44*.ha: update for flexible constants/type promotionEyal Sawady30+845-854
2021-02-10 17:44Implement type promotionEyal Sawady4+237-18
2021-02-10 17:44Implement flexible constantsEyal Sawady14+223-25
2021-02-10 17:44Expand type hintingEyal Sawady2+12-7
2021-02-10 17:39tests/21-tuples: add testing return typeDrew DeVault1+8-0
2021-02-10 17:36Implement tuplesDrew DeVault16+444-13
2021-02-10 00:42qbe.h: remove unused forward declarationBor Grošelj Simić1+1-2
2021-02-09 18:27lex: remove unused variableEyal Sawady1+0-10
2021-02-09 18:18types.h: remove type_storage_is_signedEyal Sawady2+1-2
2021-02-08 20:41Require freed expr to be slice, string, or pointerEyal Sawady1+5-0
2021-02-08 18:58Fix defers on terminating expression listDrew DeVault1+3-1
2021-02-07 16:44check: improve array type hintingDrew DeVault1+24-1
2021-02-07 15:21check: log affected type in error messageDrew DeVault1+2-1
2021-02-07 13:29all: port to aarch64Drew DeVault7+415-9
2021-02-07 12:54synassert on missing comma between case optionsArmin Weigl1+4-6
2021-02-06 22:02Generate udiv/urem for unsigned division/moduloEyal Sawady1+2-2
2021-02-06 22:03parse, check: assign to slice expressionDrew DeVault3+17-2
2021-02-05 21:19gen: fix issues with type testingDrew DeVault1+2-1
2021-02-05 18:24check: use type hint in if statementsEyal Sawady3+8-8
2021-02-05 17:17Add if testsEyal Sawady2+76-1
2021-02-05 17:16check: implement if with tagged union resultEyal Sawady2+14-4
2021-02-05 16:43gen: fix additional issues with matchDrew DeVault1+5-5
2021-02-05 16:02gen: emit commits for type ID referenceDrew DeVault3+31-3
2021-02-05 15:45gen: don't abort on type promotionDrew DeVault1+0-1
2021-02-04 23:37lex: use decimal basechrs for suffixEyal Sawady1+1-0
2021-02-04 23:18rt: realloc: don't reallocate if s == nEyal Sawady1+1-1
2021-02-04 23:00rt: size2bin: fix assertionEyal Sawady1+1-1
2021-02-04 21:07eval: implement default values for arraysDrew DeVault3+11-1
2021-02-03 23:40Add append testsEyal Sawady2+53-1
2021-02-03 23:40gen: implement appendEyal Sawady1+84-1
2021-02-03 23:40Add rt::ensureEyal Sawady2+16-0
2021-02-03 23:40check: implement appendEyal Sawady1+40-1
2021-02-03 23:40Refactor append and free out of EXPR_ALLOCEyal Sawady7+118-86
2021-02-04 19:21check, gen: allow tests to have name conflictsDrew DeVault2+16-9
2021-02-04 12:17verify qbe is present on the systemBor Grošelj Simić1+10-0
2021-02-04 12:17utilize $SCDOC when checking for scdoc presenceBor Grošelj Simić1+1-1
2021-02-04 16:56tests/configure: use hare.sc linker scriptDrew DeVault1+1-1
2021-02-04 16:53docs/runtime.txt: detail @test supportDrew DeVault2+46-0
2021-02-04 15:54gen: emit test_array entries for @testsDrew DeVault3+168-144
2021-02-03 22:15gen: implement string comparisonsDrew DeVault4+53-3
2021-02-03 17:25Fix rt::reallocEyal Sawady1+2-1
2021-02-03 19:26Initial riggings for build tags and @test supportDrew DeVault7+112-6
2021-02-03 14:49rt: use QBE variableSimon Ser1+1-1
2021-02-03 03:25gen: fix empty autofill field initializersDrew DeVault1+6-0
2021-02-03 02:36gen: implement freeing stringsDrew DeVault2+22-5
2021-02-03 02:36eval: fix struct autofillDrew DeVault2+84-12
2021-02-03 01:33Implement struct autofillDrew DeVault7+42-14
2021-02-03 01:08gen: implement match against tagged subsetDrew DeVault2+45-1
2021-02-02 23:06gen: more refactoring for matchDrew DeVault1+63-35
2021-02-02 22:51gen: detect unhandled case and assert(0); // TODODrew DeVault1+7-5
2021-02-02 22:25Fix issue with unaliased match casesDrew DeVault2+14-1
2021-02-02 22:23gen: implement match transitivityDrew DeVault2+89-9
2021-02-02 21:55gen: simplify match generationDrew DeVault2+7-25
2021-02-02 21:29check: simplify match compatibility evaluationDrew DeVault1+8-18
2021-02-02 20:54gen: fix terminating switch branchesDrew DeVault1+6-2
2021-02-02 20:52lex: fix non-decimal literalsDrew DeVault1+13-0
2021-02-02 20:03Allow complex expression in simple bindingsDrew DeVault1+1-1
2021-02-02 19:51gen: fix terminating match on nullable pointerDrew DeVault1+6-2
2021-02-02 19:36check: lower switch branches to type hintDrew DeVault2+14-5
2021-02-02 18:55check: verify that match cases are assignableDrew DeVault1+5-0
2021-02-02 18:44check: use type hint for match resultDrew DeVault1+6-2
2021-02-02 16:49check: lower casts to tagged intermediatesDrew DeVault2+13-3
2021-02-02 16:49check: simplify match variantsDrew DeVault1+26-29
2021-02-02 00:13Fix unwrapping of types in namespaceDrew DeVault2+3-1
2021-02-02 00:03typedefs: fix variadic function declarationsDrew DeVault1+9-1
2021-02-02 00:00check: fix variadic calls with no paramsDrew DeVault2+14-1
2021-02-01 22:56gen: handle discarded match case resultDrew DeVault1+8-4
2021-02-01 22:26check: add y::* to scope on import x::y::*Drew DeVault2+14-2
2021-02-01 22:26check: if terminates when all branches terminateDrew DeVault1+1-0
2021-02-01 21:38types: fix oversights in slice assignmentDrew DeVault1+5-2
2021-02-01 21:08gen: insert struct padding into globalsDrew DeVault1+11-0
2021-02-01 21:08gen: fix storage of long in globalsDrew DeVault1+1-1
2021-02-01 21:07check: use expect for type promotion TODODrew DeVault1+6-2
2021-02-01 20:36types: fix cast to runeDrew DeVault1+1-1
2021-02-01 20:21gen: implement struct globalsDrew DeVault4+17-2
2021-02-01 20:12eval: implement struct constantsDrew DeVault2+60-2
2021-02-01 19:44Implement casting slices to array pointersDrew DeVault3+18-9
2021-02-01 17:58type store: assert tagged members have sizeDrew DeVault1+1-0
2021-02-01 17:21gen: use rt::memcpy for all copiesDrew DeVault2+19-70
2021-02-01 17:10parse: fix error with match on type aliasDrew DeVault1+6-8
2021-02-01 16:46gen_copy: fix selection of largest union fieldDrew DeVault1+1-0
2021-02-01 15:37check_expr_struct: result is alias, not structDrew DeVault1+6-4
2021-02-01 15:05gen: ensure side-effects of casting voidDrew DeVault1+1-0
2021-02-01 15:05gen: fix addressing of aggregate objectsDrew DeVault1+2-1
2021-02-01 13:57eval: fix issues with casting & enum constantsDrew DeVault1+2-2
2021-01-31 22:58Implement static assertionsEyal Sawady3+28-7
2021-01-31 22:08Fix match statements on tagged unions with pointersDrew DeVault1+8-7
2021-01-31 22:07check: calling @noreturn functions terminatesDrew DeVault1+3-0
2021-01-31 22:07typedefs: implement enumsDrew DeVault3+23-5
2021-01-31 21:08Loosen compound expressionsEyal Sawady4+23-8
2021-01-31 21:06Implement context-defined array lengthsDrew DeVault7+48-6
2021-01-31 20:11check: implement named struct initializersDrew DeVault3+98-34
2021-01-31 17:47gen: fix gen_copy alignment issuesDrew DeVault1+8-1
2021-01-31 17:11gen: use appropriate type for struct fieldsDrew DeVault1+3-0
2021-01-31 16:28types: dealias pointer referents for castDrew DeVault1+4-3
2021-01-31 16:28typedefs: fix function paramsDrew DeVault1+2-0
2021-01-31 16:11Implement tagged union duplicate pruningDrew DeVault2+5-2
2021-01-31 16:06check: fix issue with type assertionsDrew DeVault2+18-3
2021-01-31 16:01gen: rig up new tagged rulesDrew DeVault3+27-13
2021-01-31 15:33types: fix oversight in assignabilityDrew DeVault1+3-3
2021-01-31 15:29types: refactor tagged union castability rulesDrew DeVault1+7-34
2021-01-31 14:45types: implement tagged_subset_compatDrew DeVault2+34-9
2021-01-31 14:37all: s/TYPE_STORAGE_TAGGED_UNION/TYPE_STORAGE_TAGGED/gDrew DeVault11+46-46
2021-01-31 14:35types store: migrate assignable/castable to typesDrew DeVault6+294-307
2021-01-30 23:21qtype: fix void as last member of tagged qtypeDrew DeVault1+1-1
2021-01-30 23:21gen: fix storing void to tagged unionDrew DeVault2+15-6
2021-01-30 20:14gen: set data field of empty string to nullDrew DeVault2+28-10
2021-01-30 20:02typedefs: sort struct fields by offsetDrew DeVault1+44-10
2021-01-30 19:46gen: fix array globals of aggregate typesDrew DeVault3+10-2
2021-01-30 19:40gen_array: handle 0-length arraysDrew DeVault1+4-0
2021-01-30 19:23rt: check for memory leaks on exitDrew DeVault1+7-0
2021-01-30 19:17gen: implement basic slice allocation & freeDrew DeVault2+86-4
2021-01-30 18:15Implement slice globalsDrew DeVault3+57-3
2021-01-30 03:38rt: update license: LGPL => MPL 2.0Drew DeVault1+367-159
2021-01-27 21:20type store: null out interm for exact matchDrew DeVault1+10-5
2021-01-27 20:44Add 'dump', temporary debug moduleDrew DeVault4+450-0
2021-01-25 21:30eval: don't use itrunc for f32/f64Drew DeVault1+2-2
2021-01-25 21:26eval: expand castsDrew DeVault2+10-6
2021-01-25 00:03Fix usageEyal Sawady1+1-1
2021-01-24 21:29Fix several problems with casting tagged unionsDrew DeVault4+81-55
2021-01-24 20:18Loosen pointer assignment rulesDrew DeVault2+11-7
2021-01-24 20:08typedefs: emit function typesDrew DeVault1+20-1
2021-01-24 19:57check: set match/switch result to tag of resultsDrew DeVault5+123-11
2021-01-24 18:56Implement recursive data structuresDrew DeVault4+77-17
2021-01-24 18:28rt::malloc: use array expansionDrew DeVault1+1-8
2021-01-24 18:14typedefs: emit module dependenciesDrew DeVault4+31-2
2021-01-24 18:03parse: fix identifier reorderingDrew DeVault1+21-4
2021-01-24 17:44typedef: flesh out typesDrew DeVault2+30-4
2021-01-24 17:28parse: fix slicing anything other than a numberDrew DeVault1+1-3
2021-01-24 17:28gen: fix extypes as function paramsDrew DeVault1+1-1
2021-01-24 17:23parse: fix issues with static assertionsDrew DeVault1+1-6
2021-01-24 17:05gen: fix slicing pointers to objectsDrew DeVault3+20-7
2021-01-24 16:52gen: fix issues with assign+mutate operatorsDrew DeVault1+8-7
2021-01-24 16:45Fix issues with extypes in arraysDrew DeVault2+29-12
2021-01-24 16:13gen: fix isssues with aggregate types in returnDrew DeVault2+33-12
2021-01-24 15:15Fix several issues with aliases and matchDrew DeVault6+51-7
2021-01-24 14:56parse: fix parsing match against type aliasDrew DeVault2+5-5
2021-01-24 14:53type store: fix align of tags of zero-length typesDrew DeVault1+4-0
2021-01-24 14:37gen: implement match against nullable pointerDrew DeVault2+105-4
2021-01-24 13:54parse: fix match with pointer typesDrew DeVault1+17-1
2021-01-23 21:45tests/18-match: use array for test casesDrew DeVault1+1-1
2021-01-23 21:43README.md: add build status badgeDrew DeVault1+1-1
2021-01-23 21:41Add match testDrew DeVault4+58-18
2021-01-23 21:27gen: fix len() expression issuesDrew DeVault2+13-5
2021-01-23 20:46type store: fix error in string casting rulesDrew DeVault1+3-2
2021-01-23 19:43gen: implement match expressionsDrew DeVault4+113-7
2021-01-23 14:18check: partially implement match expressionsDrew DeVault2+105-1
2021-01-23 00:31parse: use synassert for match (x) { foo::int =>Drew DeVault1+2-1
2021-01-23 00:24parse: implement match expressionsDrew DeVault2+115-16
2021-01-22 18:14rt: drop must_malloc referencesDrew DeVault1+1-8
2021-01-22 17:34Add allocation testsEyal Sawady2+61-1
2021-01-22 17:34rt: implement allocationsEyal Sawady8+401-1
2021-01-22 17:34gen: implement allocationsEyal Sawady1+87-2
2021-01-22 17:34check: implement allocationsEyal Sawady6+103-11
2021-01-22 17:34Flesh out evalEyal Sawady1+287-4
2021-01-22 17:04Export HARECACHE for buildsDrew DeVault1+1-1
2021-01-22 16:58makefile: add install targetDrew DeVault1+3-1
2021-01-22 16:58mod: print errored path in lookup failureDrew DeVault1+2-2
2021-01-22 16:15mod: handle missing modulesDrew DeVault1+8-0
2021-01-22 16:04tests: use rt via hare modulesDrew DeVault14+70-22
2021-01-22 15:36check modules, insert symbols into subunit scopeDrew DeVault4+37-23
2021-01-22 15:24Refactor check in preparation for modulesDrew DeVault10+179-77
2021-01-22 14:32Add module loading skeletonDrew DeVault5+62-1
2021-01-22 14:11typedefs: implement str and pointer typesDrew DeVault1+6-2
2021-01-22 13:52typedef: partially implement constant declarationsDrew DeVault1+75-8
2021-01-20 21:42check: add constants to declarationsDrew DeVault4+28-4
2021-01-20 21:39enum decl_type: styleDrew DeVault3+10-8
2021-01-20 21:28typedef: emit @symbolDrew DeVault3+14-3
2021-01-20 21:20typedefs: emit type declarationsDrew DeVault1+11-1
2021-01-20 21:19check: add types to declarationsDrew DeVault3+21-5
2021-01-20 21:14typedef: implement emit_globalDrew DeVault1+11-2
2021-01-20 20:52Initial support for typedef generationDrew DeVault5+124-2
2021-01-20 20:17tests/16-defer: also test return behaviorDrew DeVault1+4-0
2021-01-20 19:30parse_scope_expression: fix casts and binarithmsEyal Sawady1+2-2
2021-01-20 20:03gen: implement deferDrew DeVault4+126-10
2021-01-20 18:23Allow scope expressions to be compound expressionsEyal Sawady1+9-0
2021-01-20 18:17gen: generalize loop contexts -> scope contextsDrew DeVault2+46-19
2021-01-20 15:54parse: re-home deferred expressionsDrew DeVault1+13-13
2021-01-20 14:46check: implement deferDrew DeVault5+26-3
2021-01-20 14:27parse: implement defer expressionsDrew DeVault6+24-0
2021-01-19 16:21gen: implement enumsEyal Sawady2+10-9
2021-01-19 16:21Add enum testsEyal Sawady2+55-1
2021-01-19 16:21scan: implement enum valuesEyal Sawady1+38-0
2021-01-19 16:21type store: (partially) implement enumsEyal Sawady3+83-12
2021-01-19 16:10Require loop labels to be unique among ancestorsEyal Sawady4+13-3
2021-01-19 00:23lex: add defer keywordDrew DeVault2+2-0
2021-01-19 00:23lex: remove obsolete "while" keywordDrew DeVault2+1-3
2021-01-18 18:25types: fix _is_integer and _is_numericDrew DeVault1+2-2
2021-01-18 05:34type_is_integer, type_is_numeric: fix for aliasesEyal Sawady1+4-2
2021-01-18 05:32tests/13-tagged: use const when applicableEyal Sawady1+10-10
2021-01-17 19:48tests/07-aliases: uncomment now-supported codeDrew DeVault1+7-8
2021-01-17 19:43Implement array expansionDrew DeVault6+57-9
2021-01-17 18:27check: pass type hints throughoutDrew DeVault3+116-91
2021-01-17 16:25Use uint for tagged union tag valueDrew DeVault8+97-67
2021-01-17 15:18check, gen, emit: tolerate zero declarationsDrew DeVault3+0-4
2021-01-16 17:55lex: handle negative integer literalsEyal Sawady1+8-0
2021-01-17 15:07tests: add 14-switchDrew DeVault3+34-2
2021-01-17 15:00gen: implement switch expressionsDrew DeVault2+71-2
2021-01-16 22:41check: (partially) implement switch expressionsDrew DeVault2+82-1
2021-01-16 20:19Add initial documentationDrew DeVault2+52-0
2021-01-16 20:03parse: implement switch expressionDrew DeVault3+113-1
2021-01-16 18:08tests/13-tagged: add test for cast from taggedDrew DeVault1+10-2
2021-01-16 18:02gen: implement type assertionsDrew DeVault4+52-7
2021-01-16 17:36gen: remove obsolete variadic TODODrew DeVault1+0-1
2021-01-16 16:52type store: fix tagged union prohibited assignmentsDrew DeVault2+10-1
2021-01-16 16:42tests/13-tagged: simplify assertionDrew DeVault1+1-3
2021-01-16 16:39type store: reduction of tagged unions with aliasDrew DeVault2+55-7
2021-01-16 16:38check: dealias target for type assertionsDrew DeVault1+3-3
2021-01-16 16:22type store: correct issue with nested tagged unionsDrew DeVault2+2-1
2021-01-16 16:05Implement type alias unwrappingDrew DeVault4+20-5
2021-01-16 14:55type store: implement tagged mutual assignmentDrew DeVault2+29-1
2021-01-16 14:55gen: fix gen_copy for signed b/h typesDrew DeVault4+25-11
2021-01-16 01:20gen: implement array/slice bounds testDrew DeVault4+113-22
2021-01-16 00:05Implement `is` operatorDrew DeVault5+97-5
2021-01-15 22:30tests: add tagged union testDrew DeVault3+40-3
2021-01-15 22:12gen: implement aggregate type copyDrew DeVault2+35-9
2021-01-15 19:10gen: fix issue with non-aggregate type tagsDrew DeVault1+1-1
2021-01-15 19:05gen: implement casting to tagged unionDrew DeVault1+62-2
2021-01-15 17:44gen: generate qbe type for tagged unionsDrew DeVault3+57-5
2021-01-15 17:15type store: basic tagged union assignment rulesDrew DeVault1+25-2
2021-01-15 16:31type store: initialize tagged union typesDrew DeVault3+105-2
2021-01-14 22:02tests: don't use such a wide margin on outputDrew DeVault1+1-1
2021-01-14 21:16Disallow assignment from non-arrays to arraysEyal Sawady1+2-1
2021-01-14 21:10type store: remove dead branchDrew DeVault1+0-5
2021-01-14 20:57Add loop testEyal Sawady3+106-49
2021-01-14 21:00type store: delete a lot of codeDrew DeVault1+10-208
2021-01-14 19:20Store type hash in type structDrew DeVault4+37-5
2021-01-14 18:47type_hash: fix identifier collisionsDrew DeVault1+1-0
2021-01-14 16:00Move type_hash into types.cDrew DeVault4+87-86
2021-01-14 14:56type store: add architeture noteDrew DeVault1+1-0
2021-01-14 14:52type store: use uint64_t for hashesDrew DeVault1+2-2
2021-01-14 14:47type store: revert type sort order supportDrew DeVault4+43-50
2021-01-14 14:42type store: correctly hash uint64_t valuesDrew DeVault3+21-10
2021-01-14 14:37type store: switch to FNV-1A hashing functionDrew DeVault3+29-27
2021-01-13 20:24check, gen: implement static bindingsDrew DeVault5+57-9
2021-01-13 19:39parse: implement static bindingsDrew DeVault3+29-8
2021-01-13 18:42gen: finish implementation of slicing expressionsDrew DeVault3+35-6
2021-01-13 17:03gen: partially implement slicing expressionsDrew DeVault4+102-5
2021-01-13 15:16check: implement slicing expressionsDrew DeVault3+58-2
2021-01-13 15:01Implement call argument variadismDrew DeVault3+17-5
2021-01-12 23:35Add break/continue testEyal Sawady2+50-1
2021-01-12 23:35gen: implement break/continueEyal Sawady2+43-4
2021-01-12 23:35check: implement break/continueEyal Sawady3+46-3
2021-01-12 23:35parse: implement break/continueEyal Sawady2+32-3
2021-01-13 02:29rt: main returns voidDrew DeVault1+1-1
2021-01-12 22:21rt: slim down to only what we needDrew DeVault1+1-32
2021-01-12 22:20eval: implement basic castsDrew DeVault2+72-2
2021-01-12 21:16rt/rtmain: bind init/fini array as constDrew DeVault1+4-4
2021-01-12 21:16rt/rtmain: don't re-declare exitDrew DeVault1+0-1
2021-01-12 20:40Implement @init/@finiDrew DeVault8+88-7
2021-01-12 19:48gen: implement globalsDrew DeVault4+99-12
2021-01-12 19:05check: implement globalsDrew DeVault3+105-34
2021-01-12 17:13tests: use logical AND to consoldate assertionsDrew DeVault4+24-60
2021-01-12 17:02Implement logical AND and logical OREyal Sawady3+66-1
2021-01-12 17:08s/identifier_eq/identifier_cmp/gDrew DeVault4+12-16
2021-01-12 17:06type_store: s/type_eq_type/type_cmp/gDrew DeVault1+42-31
2021-01-12 16:58Add function testDrew DeVault2+29-1
2021-01-12 16:52gen: add stupid fucking hackDrew DeVault1+3-1
2021-01-12 16:04check: remove obsolete TODODrew DeVault1+0-1
2021-01-12 16:03Implement Hare-style variadismDrew DeVault5+87-8
2021-01-11 20:06tests/04-strings: styleDrew DeVault1+4-2
2021-01-11 19:30Implement implicit string concatenationEyal Sawady2+22-0
2021-01-11 19:43Allow all types to be cast to themselvesEyal Sawady1+5-0
2021-01-11 19:29tests/07-aliases: uncomment assertionDrew DeVault1+1-1
2021-01-11 19:02check: allow type hint to recursively applyDrew DeVault1+1-0
2021-01-11 18:58rt::compile: use const where appropriateDrew DeVault1+2-2
2021-01-11 18:55rt::compile: remove unnecessary castEyal Sawady1+1-1
2021-01-11 18:53rt::compile: call write as often as necessaryDrew DeVault2+9-3
2021-01-11 18:46rt::compile: further simplificationDrew DeVault1+1-2
2021-01-11 18:44Implement spec simplifications for array typesDrew DeVault4+46-23
2021-01-11 16:26parse: implement allocation expressionsEyal Sawady2+98-0
2021-01-11 16:26lex: add alloc, append, and free tokensEyal Sawady2+6-0
2021-01-11 16:46Add assignment test for slicesDrew DeVault1+26-0
2021-01-11 16:03Add slice testDrew DeVault2+44-1
2021-01-11 15:57gen: implement slice indexingDrew DeVault1+3-1
2021-01-11 15:55Implement implicit cast from slice to arrayDrew DeVault2+9-2
2021-01-11 15:47gen: implement conversion from array to sliceDrew DeVault1+24-2
2021-01-11 15:34Initial type riggings for slicesDrew DeVault2+21-7
2021-01-11 14:12Add type alias testsEyal Sawady2+96-1
2021-01-11 14:12gen: implement type aliasesEyal Sawady2+29-28
2021-01-11 14:12check: implement type aliasesEyal Sawady7+104-31
2021-01-11 14:01.build.yml: test with cprocEyal Sawady1+16-0
2021-01-11 13:34config.sh: save $LDFLAGSEyal Sawady1+2-0
2021-01-10 22:14Remove obsolete todo filesDrew DeVault2+0-100
2021-01-10 22:13gen: fix implicit dereference issuesDrew DeVault2+13-22
2021-01-10 20:2004-strings: further improvementsDrew DeVault1+16-17
2021-01-10 20:1504-strings: column length limitDrew DeVault1+3-1
2021-01-10 20:0704-strings: use const where possibleDrew DeVault1+3-3
2021-01-10 19:26Expand string testDrew DeVault1+20-1
2021-01-10 19:22Implement struct field selectionDrew DeVault6+160-8
2021-01-10 17:06Add basic struct testDrew DeVault2+20-1
2021-01-10 16:34gen: implement struct expressionsDrew DeVault3+43-4
2021-01-10 15:58types: refactor struct fields into separate structDrew DeVault5+44-30
2021-01-10 14:44check: basic struct expression implementationDrew DeVault5+96-0
2021-01-05 18:19lex: fix logical OREyal Sawady1+1-1
2021-01-05 00:07Carry const flag over via array accessDrew DeVault1+2-1
2021-01-05 00:01Fix issues with aggregate types in emitDrew DeVault3+16-11
2021-01-03 20:15Fix assignments to aggregate indiciesDrew DeVault2+11-7
2021-01-03 18:40gen: unify object access and expand tests accordinglyDrew DeVault2+70-65
2021-01-03 17:30Prevent assignment of *const <type> to *voidDrew DeVault5+13-8
2021-01-03 16:36tests: fix makefile formattingDrew DeVault1+1-1
2021-01-03 16:10check: lower implicit castsDrew DeVault5+156-11
2021-01-03 15:26gen: allocate string for castDrew DeVault2+9-6
2021-01-02 22:37make: add more .PHONY targets, fix libhart.aDrew DeVault3+6-1
2021-01-02 21:24make clean: remove rt objectsDrew DeVault3+7-2
2021-01-02 21:03Use QBE, AS, LD from environmentDrew DeVault2+7-3
2021-01-02 20:45make clean: remove test binariesDrew DeVault3+6-15
2021-01-02 20:42rt/compile: simplify following compiler updatesDrew DeVault2+8-8
2021-01-02 20:25Update string test for implicit dereferencingEyal Sawady1+6-7
2021-01-01 18:46Implement implicit dereferencingEyal Sawady3+33-0
2021-01-01 19:32rt: wrap compile exit status in wexitstatusDrew DeVault1+1-1
2021-01-01 19:29Make nullable deref test fail for right reasonsDrew DeVault1+1-1
2021-01-01 19:26Add expected build failure testingDrew DeVault5+69-2
2021-01-01 18:51Add string alignment test (and fix related bug)Drew DeVault2+5-3
2021-01-01 18:38Fix aggregate type dereference, add string testDrew DeVault4+29-5
2021-01-01 18:15type store: specify array/slice castsDrew DeVault1+2-0
2021-01-01 18:03parse: fix trailing comma on parameter listDrew DeVault1+4-0
2021-01-01 17:58Add (basic) pointer test and fix nullable issueDrew DeVault3+27-3
2021-01-01 17:49Add assertions and constraints around assignmentDrew DeVault3+17-14
2021-01-01 17:44tests/01-arrays: add assignment testDrew DeVault1+14-0
2021-01-01 17:40Add integer size & alignment testsDrew DeVault2+45-1
2021-01-01 17:30Add array test and fix some bugsDrew DeVault3+59-4
2021-01-01 17:15check: generate assertion message if applicableDrew DeVault1+8-4
2020-12-31 22:34gen: implement += et alEyal Sawady1+14-2
2020-12-31 22:34parse, check: implement += et alEyal Sawady5+33-7
2020-12-31 22:34gen: refactor indirect assign into gen_expr_assignEyal Sawady1+21-23
2020-12-31 22:07lex: fix invalid allocationDrew DeVault1+1-1
2020-12-31 21:49Rig up simple test suiteDrew DeVault9+73-0
2020-12-31 21:28build: always enable runtimeDrew DeVault2+2-5
2020-12-31 21:27all: bootstrap runtimeDrew DeVault17+114-65
2020-12-31 20:55gen, emit: escape string constantsDrew DeVault3+34-3
2020-12-31 20:54lex: treat \t as 8 columnsDrew DeVault1+2-0
2020-12-31 20:41rt: reduce scope to support only current featuresDrew DeVault7+348-451
2020-12-31 20:39Loosen assignment restrictions with voidDrew DeVault1+4-2
2020-12-31 20:39Pull line numbers into checkDrew DeVault4+151-76
2020-12-31 19:07Initial implementation of constantsDrew DeVault4+63-11
2020-12-31 15:56rt: don't rely on implicit castsDrew DeVault4+6-6
2020-12-31 15:47Implement str -> *const char castDrew DeVault2+21-12
2020-12-31 15:37gen: implement len()Drew DeVault2+27-4
2020-12-31 15:28gen: restructure some TODOs a bitDrew DeVault1+9-3
2020-12-31 15:04gen: implement some basic castsDrew DeVault1+119-2
2020-12-31 14:28lex: fix hexadecimal literalsDrew DeVault1+12-8
2020-12-31 00:35check: set for loop result to voidDrew DeVault1+1-0
2020-12-30 20:59Allow str to be assigned from *const charDrew DeVault1+2-1
2020-12-30 20:47check: implement castsDrew DeVault4+80-2
2020-12-30 20:28parse: fix cast expressionsEyal Sawady1+8-6
2020-12-30 20:22parse: implement unbounded arraysEyal Sawady1+6-0
2020-12-30 20:07rt: memcmp: fix typoEyal Sawady1+1-1
2020-12-30 19:52parse: implement cast expressionsDrew DeVault3+34-1
2020-12-30 19:20rt: fix some v1-ismsDrew DeVault2+2-2
2020-12-30 19:19gen: implement assertion expressionsDrew DeVault5+63-16
2020-12-30 18:44check: implement assertion expressionsDrew DeVault1+35-1
2020-12-30 18:38type store: rig up struct and union typesEyal Sawady4+124-10
2020-12-30 17:39build system: fix --enable-rtEyal Sawady1+3-2
2020-12-30 18:32parse: implement assertion expressionsDrew DeVault6+79-14
2020-12-30 16:27Rig runtime up into build systemDrew DeVault9+57-8
2020-12-30 15:35Implement -N <namespace> optionDrew DeVault4+25-7
2020-12-30 15:30lex: fix error with names at the end of the fileDrew DeVault1+1-4
2020-12-30 15:21parse: remove parse structDrew DeVault1+349-356
2020-12-30 08:03type store: remove type_eq_atype and atype_hashEyal Sawady2+37-162
2020-12-30 14:53Implement option parsing and multi-subunit buildsDrew DeVault2+83-11
2020-12-30 14:18Implement simple forward referencesDrew DeVault1+1-4
2020-12-29 19:59gen: implement for loopsDrew DeVault2+48-3
2020-12-29 19:48check: implement for loopsDrew DeVault3+54-1
2020-12-29 19:41parse: implement for loopsDrew DeVault6+52-7
2020-12-29 18:39gen: fix if branches which terminateDrew DeVault1+6-2
2020-12-29 18:25gen: implement if expressionsDrew DeVault2+38-1
2020-12-29 17:23check: implement if expressionsDrew DeVault2+46-1
2020-12-29 17:14parse: implement if expressionsDrew DeVault3+41-3
2020-12-29 15:44Update todo.txtDrew DeVault1+0-2
2020-12-29 15:38Implement aggregate type assignmentsDrew DeVault3+71-7
2020-12-29 15:12parse: remove shadowed tok variableDrew DeVault1+1-2
2020-12-29 03:09parse: implement field accessEyal Sawady2+15-2
2020-12-29 03:09parse: implement struct literalsEyal Sawady2+154-4
2020-12-29 14:48gen: fix void callsDrew DeVault1+6-3
2020-12-29 14:43gen: implement string constantsDrew DeVault5+106-4
2020-12-29 14:08check: implement string literalsDrew DeVault5+31-11
2020-12-28 20:36gen: experimental support for aggregate parametersDrew DeVault1+6-2
2020-12-28 20:33gen: initial support for aggregate typesDrew DeVault5+130-13
2020-12-28 19:21Add bare-bones runtime to rt/Drew DeVault10+742-0
2020-12-28 18:23gen: fix various issues with callDrew DeVault3+21-14
2020-12-28 15:49util.h: add malloc macroEyal Sawady1+1-0
2020-12-28 15:28gen: add better docs and tracing around valuesDrew DeVault2+20-5
2020-12-28 15:20gen: simplify array indexingDrew DeVault1+24-22
2020-12-28 15:09gen: fix &arrayDrew DeVault1+6-3
2020-12-28 15:01gen: fix various issues with array typesDrew DeVault2+29-13
2020-12-28 14:59qbe: fix incorrect branch for body reallocationDrew DeVault1+5-3
2020-12-28 03:18lex: fix lexing of floating-point numbersEyal Sawady1+3-2
2020-12-28 02:39lex: fix tracing on commentsEyal Sawady1+4-1
2020-12-27 19:42gen: fix store for indirect sourcesDrew DeVault1+21-16
2020-12-27 19:31gen: large scale audit & refactoringsDrew DeVault5+250-138
2020-12-26 22:37gen: simplify alloc_temp & binding_allocDrew DeVault2+10-3
2020-12-26 19:00gen: implement indexing instructionsDrew DeVault2+40-14
2020-12-26 18:47check: implement index accessDrew DeVault4+39-15
2020-12-26 18:35parse: slicing and indexing expressionsDrew DeVault2+102-18
2020-12-26 17:26gen: implement array constantsDrew DeVault4+40-4
2020-12-26 16:26check: implement array literalsDrew DeVault5+79-7
2020-12-26 16:10type store: rig up array typesDrew DeVault4+71-5
2020-12-26 15:37Initial riggings for evalDrew DeVault9+79-6
2020-12-26 14:25gen: add some comments clarifying qbe_value usageDrew DeVault2+11-0
2020-12-26 14:14parse: implement array literalsDrew DeVault2+58-1
2020-12-26 14:03util.h: add cmalloc, realloc macrosDrew DeVault2+6-1
2020-12-25 22:11parse: implement slice and array typesEyal Sawady2+16-2
2020-12-25 22:10parse: implement tagged union typesEyal Sawady1+32-1
2020-12-25 22:10parse: implement struct and union typesEyal Sawady2+102-3
2020-12-25 22:10parse: refactor type parser to return typesEyal Sawady2+122-65
2020-12-25 21:18gen: introduce function prelude, rehome allocationsDrew DeVault4+45-21
2020-12-25 21:11.build.yml: install qbeDrew DeVault1+5-0
2020-12-25 21:09gen: fix qbe subtypes for ints <32 bitsDrew DeVault2+12-14
2020-12-25 19:21parse: fix nested expressionsDrew DeVault1+1-1
2020-12-25 19:15Implement logical arithmeticDrew DeVault5+99-16
2020-12-25 19:03Implement true, false, null constantsDrew DeVault7+67-8
2020-12-25 16:05check: prohibit len on undefined length arraysDrew DeVault1+2-1
2020-12-25 16:02qinstr: allocate alignments of 1 and 2 as 4Drew DeVault1+2-0
2020-12-25 16:02Implement type assignability rulesDrew DeVault8+162-29
2020-12-25 15:31check: prevent bindings of undefined or zero sizeDrew DeVault3+11-2
2020-12-25 15:19check: conform binding type flags behaviorDrew DeVault2+6-3
2020-12-24 23:59s/malloc/xcalloc/gEyal Sawady1+1-1
2020-12-24 23:46s/calloc/xcalloc/gDrew DeVault10+96-75
2020-12-24 21:50Add Alpine CIDrew DeVault1+11-0
2020-12-24 21:06type_eq_type: implement function typesDrew DeVault1+17-1
2020-12-24 20:30gen: implement call expressionsDrew DeVault9+136-29
2020-12-24 19:56check: implement call expressionsDrew DeVault4+68-0
2020-12-24 19:17parse: call expressionsDrew DeVault2+53-1
2020-12-24 17:26Implement prototypesDrew DeVault4+39-15
2020-12-24 17:06gen: alloc_temp: fix type of indirect valueDrew DeVault2+6-1
2020-12-24 16:31Update todo.txtDrew DeVault1+0-2
2020-12-24 16:27check: forbid nullable pointer dereferenceDrew DeVault1+5-1
2020-12-24 16:10Fix indirect temporary allocationsDrew DeVault1+2-1
2020-12-24 16:09gen: implement size()Drew DeVault1+29-1
2020-12-24 16:05check: implement measurement expressionsDrew DeVault3+33-1
2020-12-24 16:01parse: parse measurement expressionsDrew DeVault4+63-1
2020-12-24 14:49gen: implement unary pointer dereferenceDrew DeVault3+69-7
2020-12-24 14:40gen: handle functions with void returnDrew DeVault1+15-8
2020-12-24 14:40type store: expand support for pointersDrew DeVault1+6-0
2020-12-24 14:36gen: implement indirect assignmentDrew DeVault2+19-10
2020-12-24 14:28check: implement indirect assignmentDrew DeVault1+15-10
2020-12-24 14:22check, gen: implement unary addressDrew DeVault4+88-6
2020-12-24 05:53Fix parsing of the unary-expression case of scope-expressionEyal Sawady1+4-13
2020-12-23 23:18parse: clarify unary-expression usage in scopeDrew DeVault1+1-1
2020-12-23 23:14parse: remove * from complex path in scopeDrew DeVault1+1-2
2020-12-23 21:18gen: DRYDrew DeVault1+2-6
2020-12-23 21:04gen: (mostly) implement unary arithmeticDrew DeVault1+50-0
2020-12-23 20:55check: constrain unarithm in compliance with specDrew DeVault1+4-1
2020-12-23 20:53check: (mostly) implement unary arithmeticDrew DeVault3+120-0
2020-12-23 20:45parse: unary & requires object-selectorDrew DeVault3+18-4
2020-12-23 20:36parse: implement unary arithmeticDrew DeVault3+71-23
2020-12-23 19:36Remove TODO regarding stretchy constantsDrew DeVault1+0-1
2020-12-23 19:21Implement const bindingsDrew DeVault5+72-3
2020-12-23 18:44gen: implement assignmentDrew DeVault3+27-5
2020-12-23 18:24check: initial support for assignmentsDrew DeVault4+37-6
2020-12-23 18:14parse: fix up scope-expressionDrew DeVault5+56-34
2020-12-23 17:19Catch unary dereference + complex expression caseDrew DeVault1+3-0
2020-12-23 17:09parse: implement assignment expressionsDrew DeVault2+55-40
2020-12-23 17:08check: test storage for binarithm validityDrew DeVault1+2-1
2020-12-23 17:08parse_type: improve error messageDrew DeVault1+4-1
2020-12-23 04:21parse: implement enum typesEyal Sawady8+119-28
2020-12-23 15:19parse: complete expression class hierarchyDrew DeVault3+166-69
2020-12-23 14:32gen: implement binary arithmeticDrew DeVault6+100-17
2020-12-23 14:06check: implement basic binary arithmeticDrew DeVault3+59-5
2020-12-22 21:50parse: update operator precedence rulesDrew DeVault1+12-12
2020-12-22 20:57parser: refactor parser to return expressionsDrew DeVault4+59-91
2020-12-22 19:08Add TODO regarding precedenceDrew DeVault1+2-0
2020-12-22 19:04Update todo.txtDrew DeVault1+2-0
2020-12-22 19:01parse: implement binary arithmeticDrew DeVault6+236-36
2020-12-22 15:07Add todo.txt with high-priority tasksDrew DeVault1+16-0
2020-12-22 14:47check: create scope for expression listDrew DeVault1+6-1
2020-12-22 14:43check, gen: bindingsDrew DeVault8+153-20
2020-12-22 14:02parse: fix simple binding initializersDrew DeVault1+3-0
2020-12-21 21:31parse: handle binding listsDrew DeVault5+87-5
2020-12-21 19:51gen: implement access expressionsDrew DeVault1+31-0
2020-12-21 19:42check: access expressionsDrew DeVault5+56-3
2020-12-21 19:34parse: simple access expressionsDrew DeVault2+56-6
2020-12-21 18:15gen: copy parameters to the stackDrew DeVault7+65-4
2020-12-21 16:16gen: initial parameter implementationDrew DeVault5+37-8
2020-12-21 15:11check: add function parameters to scopeDrew DeVault4+38-7
2020-12-21 14:37Initial riggings for scope managementDrew DeVault6+152-10
2020-12-20 22:28check: add TODO for importsDrew DeVault2+2-1
2020-12-20 22:21gen: remove obsolete commentDrew DeVault1+0-2
2020-12-20 21:48parse: fix compound expr w/only control statementDrew DeVault1+17-17
2020-12-20 20:53Remove EXPR_FUNCDrew DeVault3+0-3
2020-12-20 20:39gen: re-order pushi/geni argumentsDrew DeVault3+14-14
2020-12-20 20:31gen: implement returnDrew DeVault5+41-12
2020-12-20 20:23check: implement returnDrew DeVault2+29-0
2020-12-20 20:18parse: parse control-statementDrew DeVault5+63-3
2020-12-20 20:06check: remove broken @noreturn semanticsDrew DeVault1+0-7
2020-12-20 20:05gen: implement expression listsDrew DeVault5+44-0
2020-12-20 19:32check: add expression listsDrew DeVault4+41-2
2020-12-20 19:03parse: implement expression listsDrew DeVault2+71-3
2020-12-20 17:37gen: generalize store/loadDrew DeVault1+39-12
2020-12-20 17:21Implement return values properlyDrew DeVault8+199-12
2020-12-20 16:57gen: implement label generationDrew DeVault4+24-16
2020-12-20 16:50gen: implement some basic instruction handlingDrew DeVault7+221-10
2020-12-20 16:10gen: move type mapping to separate fileDrew DeVault4+145-131
2020-12-20 15:54Add emit scaffoldingDrew DeVault7+91-3
2020-12-20 15:37gen: flesh out initial qbe type systemDrew DeVault5+180-19
2020-12-20 14:00Lay out riggings for qbe abstractionDrew DeVault4+329-0
2020-12-20 01:43check: add TODO for namespacesDrew DeVault1+1-0
2020-12-20 01:41Initial riggings for genDrew DeVault6+100-3
2020-12-20 00:53builtin_type_for_storage: fix is_constEyal Sawady2+18-18
2020-12-20 00:33Decide at runtime which compilation stages to runEyal Sawady1+45-0
2020-12-19 18:22Implement rune literal checkingDrew DeVault4+8-1
2020-12-19 18:19check: re-classify string constant TODODrew DeVault1+1-1
2020-12-19 18:16check: populate identifier for checked declsDrew DeVault3+13-0
2020-12-19 15:56check_function: assign body to declarationDrew DeVault1+2-0
2020-12-19 15:54Type check constant expressionsDrew DeVault7+153-72
2020-12-19 14:43Prevent @init/@fini/@test from being exportedDrew DeVault1+10-6
2020-12-19 14:27Initial riggings for function checkDrew DeVault9+154-15
2020-12-18 17:39Rig up check phase 2Drew DeVault1+45-6
2020-12-18 17:24Scan function typesDrew DeVault5+39-10
2020-12-13 18:11Expand checked data structures for functionsDrew DeVault7+72-43
2020-12-13 14:59Initial riggings for type checkerDrew DeVault5+99-10
2020-12-13 14:33parse: fix some oversights with type flagsDrew DeVault1+4-4
2020-12-12 15:40lex: implement labelsEyal Sawady2+26-0
2020-12-12 16:16Build initial riggings for type storeDrew DeVault4+316-7
2020-12-12 13:39Replace bools with type flagsDrew DeVault4+19-8
2020-12-12 13:33Initial riggings for type graphDrew DeVault7+272-3
2020-12-12 04:42type_storage_unparse: unparse all type storagesEyal Sawady1+41-20
2020-12-12 04:40parse: improve tracingEyal Sawady1+26-14
2020-12-12 01:59Use UINT32_MAX as lex buffer placeholderEyal Sawady1+6-3
2020-12-11 22:56parse: implement declarationsEyal Sawady5+623-20
2020-12-11 22:56Unlex literalsEyal Sawady2+116-8
2020-12-11 22:56Lex attributesEyal Sawady2+18-3
2020-12-12 00:25Revert "Fix lexing of \0"Drew DeVault1+2-3
2020-12-11 22:26Fix lexing of \0Eyal Sawady1+3-2
2020-12-11 17:03lex: add T_TYPE tokenDrew DeVault2+2-0
2020-12-09 04:01parse: want: handle null tokEyal Sawady1+4-3
2020-12-07 22:08Initialize subunitEyal Sawady1+1-1
2020-12-07 20:38Add `abort` keywordDrew DeVault2+2-0
2020-11-22 18:58lex: track lineno and colnoEyal Sawady3+77-45
2020-11-22 16:43identifier: fix unparse with multiple namespacesDrew DeVault1+4-3
2020-11-22 16:30Add depth to tracesDrew DeVault4+70-14
2020-11-22 16:21parse: trace importsDrew DeVault2+16-4
2020-11-22 16:15parse: trace parsed identifier nameDrew DeVault4+71-3
2020-11-22 14:18parse: complete unlex TODOsDrew DeVault1+2-2
2020-11-22 14:18lex: correct error lexing ::Drew DeVault1+1-1
2020-11-22 14:17add trace subsystemDrew DeVault5+43-14
2020-11-22 14:10lex: add unlexDrew DeVault2+16-0
2020-11-22 13:55parse: populate AST_IMPORT_IDENTIFIERDrew DeVault1+4-1
2020-11-22 13:53lex: return lexical_token from lex()Drew DeVault2+5-5
2020-11-22 13:51parse: expand parse_importDrew DeVault1+18-2
2020-11-22 13:48parse: add 'want' functionDrew DeVault1+12-1
2020-11-22 13:44parse: initial riggingsDrew DeVault5+134-74
2020-11-20 16:03lex: add rune typeEyal Sawady2+2-0
2020-11-20 16:03Subsume runes and strings into T_LITERALEyal Sawady5+63-65
2020-11-17 15:58lex: parse floating-point literalsEyal Sawady3+46-10
2020-11-17 15:58lex: parse integer literalsEyal Sawady6+167-18
2020-11-14 22:00lex: return an error on an unrecognized characterEyal Sawady1+2-1
2020-11-01 20:10Initial scaffolding for parserDrew DeVault6+119-33
2020-11-01 19:44Add logical XOR operator (^^)Drew DeVault2+5-0
2020-10-24 19:28lex: handle string and rune constantsEyal Sawady3+125-2
2020-10-24 19:28lex: support UTF-8Eyal Sawady6+228-37
2020-10-21 03:33lex: handle commentsEyal Sawady1+4-1
2020-10-08 20:34lex: fix literal precision suffixesDrew DeVault1+1-1
2020-10-08 20:20lex: handle numeric literalsDrew DeVault3+94-7
2020-10-08 17:03lex: remove unnecessary consumeDrew DeVault1+0-1
2020-10-08 17:01lex: complete lex2 & lex3Drew DeVault3+166-47
2020-10-08 00:04lex2: correct invariantDrew DeVault1+1-2
2020-10-08 00:00lex: add lex2Drew DeVault2+114-3
2020-10-07 21:02lex: flesh out a bit moreDrew DeVault3+274-22
2020-10-06 00:17Initial commitDrew DeVault8+1137-0