~sircmpwn/harec

0.24.2 4 months ago .tar.gz browse log

harec 0.24.2

This is the stable release of harec 0.24.2. For complete details on the
full Hare release, consult the release notes for the standard library.

This version fo harec depends on qbe 1.2.

Alexey Yerin (11):
      check: Handle error expressions in offset()
      Clean up includes
      expr_hash: Handle STORAGE_ERROR case
      check: Handle error in bindings of for-accumulator
      expr_hash: Remove unnecessary alias check
      Disallow casting types of undefined size
      typedef: Emit struct literals
      Remove unused gen_context.store
      eval: Disallow auto-dereferencing
      typedef: Handle values of enums with rune storage
      eval: Implement slicing expressions

Alona Enraght-Moony (2):
      parse: simplify nested switch
      parse: Remove unnecessary special-case from parse_if_expression

Bor Grošelj Simić (40):
      drop some "descriptive" names in generated IL
      makefiles/tests.mk: make everything depend on harec
      check: drop check of for_expr binding result type
      gen_expr_delete: split single element/subslice cases
      remove a use of *void in tests
      simplify condition in identifier_eq
      gen: implement gen_slice_ptrs and load_slice_data helpers
      check: rewrite slice_bounds_check
      eval: fix and add tests for casts from tagged unions
      check: lower len(array) to a constant
      gen: remove another overly verbose temporary name
      remove useless line
      check_expr_compound: simplify lower_implicit_cast logic
      type_store: fix tuple size calculation
      eval: use restrict keyword
      type_store: simplify function signatures in struct initialization
      test some embedded struct error cases
      use arch specific sizes from ctx->arch consistently
      gen: rewrite slice bounds checks
      gen_expr_assign_slice: use gen_subslice_info
      gen_expr_delete: use gen_subslice_info
      test functions with bodies have named parameters
      gen: rewrite expandable array -> slice assignment
      gen: use store_slice_data instead of manual slice stores
      type_store: return errors more explicitly in case of struct init errors
      type_store: fix union size calculation
      prohibit @packed in check, not in the parser
      ast: split up slice and array atypes
      ast: improve representation of array literal expandability
      resolve: pass function location data into prototype check
      util: simplify printing in errline()
      eval: truncate bitwise not and integer unary negation results
      check: improve binding assignability failure error
      check: don't special case STORAGE_ERROR in check_function
      check: drop pointless branch
      gen: extract fixed_abort condition checks into a separate function
      gen: rewrite slice and array alloc cases
      check: rewrite check_expr_call
      check: fix outdated comment about flexible promotion
      tests: fix typo

Byron Torres (1):
      Makefile: add uninstall target

Drew DeVault (4):
      check.c: fix up lingering issue from rename
      Generate meaningful names for @init functions
      Generate arbitrary names for @init functions
      scripts/version: upgrade to 0.24.2

Ember Sawady (1):
      fix some spurious errors

Joe Finney (1):
      Allow optional parameters in variadic functions.

Lorenz (xha) (3):
      check: fix error location in check_expr_append_insert
      12-loops: fix scope test
      implement for-each

Mallory Adams (1):
      rt::compile ensure tests fail when "invalid" Hare is valid

Sebastian (27):
      gen: fix implicitly void if false branch
      parse: fix memory leak
      eval: fix signed integer comparisons
      check: remove TODO
      Remove unnecessary forward declaration
      lex: make comment more accurate
      gen: s/strconst/strliteral/g
      Makefile: recompile everything when a header changes
      makefiles/tests.mk: make all tests depend on .cache/rt.td
      typedef: fix some format specifiers
      set TDENV when running tests
      tests: rename 00-constants to 00-literals
      util: ignore write errors to stderr
      Check stage at which compilation failed in reject tests
      tests/00-literals: s/append/static append/
      gen: fix for-each iterator with tagged union type
      typedef: use const in more places
      types: remove extraneous check
      types: make unbounded arrays not assignable to slices
      gen: remove gen_defers from gen_expr_for
      main: remove unnecessary 'next' variable
      mod: use string initializer instead of memcpy
      parse: remove dead branch
      parse: use error function for empty block error
      check: fix measurement error locations
      check: simplify switch exhaustivity checking
      tests.mk: add missing testmod.td dependency

Song Shuai (1):
      typedef: Remove unnecessary includings of "typedef.h"

jturtle (1):
      lex: allow digit separators

spxtr (2):
      Check that enums are exported if used in exported types.
      Implement optional function parameters.

0.24.2-rc1 4 months ago .tar.gz browse log

harec 0.24.2-rc1

This is the first release candidate for harec 0.24.2.

For complete details on the full Hare release, consult the release notes
for the standard library.

This version of harec depends on qbe 1.2.

0.24.2-rc2 4 months ago .tar.gz browse log

harec 0.24.2-rc2

This is the second release candidate for harec 0.24.2.

For complete details on the full Hare release, consult the release notes
for the standard library.

This version of harec depends on qbe 1.2.

0.24.0 9 months ago .tar.gz browse log

harec 0.24.0

This is the initial versioned pre-release of the Hare compiler.

harec 0.24.0 depends on qbe 1.2.

0.24.0-rc2 9 months ago .tar.gz browse log

harec 0.24.0-rc2

This is the second release candidate of harec 0.24.0. The following
patches have been added since -rc1:

Sebastian (2):
      gen: fix implicitly void if false branch
      eval: fix signed integer comparisons

0.24.0-rc1 10 months ago .tar.gz browse log

harec 0.24.0-rc1

This is the first release candidate for harec 0.24.0.