Skip to content

Releases: lewtec/leaven

0.1.0

Choose a tag to compare

@github-actions github-actions released this 11 Sep 00:04

Changelog

  • 4f672ce feat(cli): restore stdin help and package default
  • e1aaad6 feat(cli): run leaven through lewkit x/cmd
  • 6c1ba3e fix(cli): parse --input on the spec
  • 29208f0 fix(cli): pass --input from csmith harness
  • 39c83ca fix(cli): take the .ll path as a positional
  • f2053fe refactor(cli): drop atomic write and lewkit-only tests
  • 5b61b2b refactor(cli): parse then Run, drop App clone
  • e0ee30b refactor(cli): run leaven through App after versionCmd drop
  • d5a40d9 rm huge logo from releases

Released by GoReleaser.

0.0.2

Choose a tag to compare

@github-actions github-actions released this 26 Aug 01:57

Leaven

Changelog

  • 9e52ea4 Add -package flag for generated Go package name.
  • e59421f Add IR sanity fixtures for anon struct names and unreachable.
  • fba7fe1 Add a couple of vector instructions and __memcpy_chk.
  • d0cf067 Add a test
  • 4fffef1 Add binarytrees benchmark as a test, and fix malloc breakage.
  • 5ce9546 Add children-before-heap Subtree fixture with runtime run checks.
  • f2df508 Add csmith differential fuzz tests with mise clang 14.
  • 87f0b87 Add disclaimer.
  • ec8e456 Add fannkuch-redux test.
  • ca95df4 Add forgotten parentheses.
  • 5240820 Add fprintf/abort/realloc libc stubs; map glibc _IO_FILE to os.File.
  • 9b646f4 Add getchar
  • 633a665 Add license and readme.
  • 8007207 Add malloc and calloc to libc package.
  • 0a575a9 Add mandelbrot test.
  • 36ac9b7 Add memmove and memset to libc package.
  • e28c467 Add nbody test.
  • 7a2caa4 Add note about GC-related panics.
  • dd96805 Add scripts/fuzz-janitor-loop.sh for fuzz then catalog harvest.
  • 6494d87 Add source.c for every IR fixture (regression C repros).
  • b189232 Add spectral-norm test.
  • 36b6903 Add string functions from PDClib.
  • ce713a7 Add strlen and GoString.
  • eab2f5c Add varargs support.
  • a00e7e4 Add vector support to some instructions.
  • b3dc391 Allocate correctly-typed, garbage-colledted memory.
  • 940bd01 Attempt to support truncating to odd bit sizes (like i3).
  • 4d18e79 Be a little smarter about taking the address of globals.
  • 5d1e1a5 Convert bool to int.
  • b0764a7 Correct typo
  • 6ce0018 Detect unsafe pointer casts.
  • efdd8bd Do all munging of type names in one place.
  • ee95e7d Don't dereference global symbols.
  • 5485b81 Don't emit declarations of anonymous union types.
  • bcf2752 Fix Go keywords, i8→i1 bool trunc, auto-imports; add go_issues fixture.
  • 1abf3b8 Fix csmith fuzz failures: printf, udiv/urem, bitcast, labels, i64.
  • 137e9ad Fix function-pointer bitcasts; map iswlower/iswupper.
  • ee76927 Fix mid-function void ret; map iswalpha/iswdigit.
  • 046d2ba Fix unreachable emission: real tab, not backslash-t.
  • f3608d1 Fix variable name that I forgot to update.
  • f292e64 Get rid of "found bad pointer in Go heap" errors.
  • d0ca426 Handle constant.Index in getelementptr.
  • 1d11cee Handle float32 infinities.
  • ab97755 Handle negative constants in pointer arithmetic.
  • 16829cd Handle signed int constants better.
  • 37da0fc Implement __memset_chk
  • 72ff374 Implement __strcat_chk
  • b0b6cb3 Implement alloca with make rather than malloc.
  • 0b8320e Implement ashr
  • 364224e Implement extractelement
  • 30265dc Implement inttoptr
  • 6110954 Implement printf in libc package.
  • d60f775 Implement puts() and fadd
  • c11a073 Inital support for vectors.
  • fd66828 Initial commit.
  • 3416cd3 Janitor: clear fmt.Errorf/%w and tabled sentinel backlog.
  • 3ebeb3f Janitor: typed timeout errors and cleaner csmith tool resolution.
  • 6cf5fae Make alloca type-safe.
  • df04443 Make byteSlice work on 32-bit systems.
  • e072bb6 Make libc.Realloc copy old bytes (tree-sitter new_node).
  • cc6d79d Map fputs/fputc, iswspace, and llvm.memmove intrinsic.
  • 52ba694 Map free→libc.Free and __assert_fail→libc.AssertFail.
  • 8bcf918 Map nonstandard int widths to Go ints; reject widths over 64.
  • de25348 Map strlen to libc.Strlen (haskell scanners).
  • beed247 Map system stdarg/stdio: va_start/end, vsnprintf, snprintf, fdopen, fclose.
  • 2d1ff1d Map wctype/exit; rename locals that shadow funcs or types.
  • 46ca199 Merge branch 'master' of https://github.com/andybalholm/leaven
  • 059e92b Merge pull request #13 from lewtec/20260809-assimilate-trees
  • 1a77df4 Merge pull request #2 from mewpull/issue-1
  • dbf31a1 Merge pull request #4 from mewpull/llir-v0.3.0
  • d2e4394 Merge pull request #5 from mewpull/update-to-llir-llvm-0.3.1
  • b6160e5 Misc. new features.
  • 7b638c8 More disclaimer
  • bc9e499 More issues with signed int constants.
  • a028d74 Move most of the logic from main to a separate function.
  • bf5bb7b Remove dots from names of anonymous constants.
  • 43c1439 Replace dots in variable names with underscores.
  • 092b9ad Represent tagged pointer unions as uintptr (tree-sitter Subtree).
  • 19337df Rewrite library functions when used as values (free fnptr).
  • 4e7a199 Sanitize clang type names like anon.1 to valid Go identifiers.
  • 2981d19 Sanitize hyphens in LLVM names for Go identifiers.
  • d025381 Skip csmith cases that hang natively instead of failing.
  • 7763959 Start my libc package with mset_pattern16
  • 082f6b9 Store IR sanity fixtures one folder each with expect.json tables.
  • da546a5 Support atomicrmw (strip clang align; map add/sub/xchg to sync/atomic).
  • 0d94a9b Support constant icmp/zext/sext/trunc expressions.
  • b152e98 Support extractvalue/insertvalue; allow all pointer bitcasts.
  • 2848143 Support float types.
  • b9e8bb4 Support inttoptr/ptrtoint for tagged-pointer patterns.
  • 402eb45 Support named blocks.
  • a0c77f3 Support various new features.
  • 84bc4e1 Support vectors in add and trunc
  • 37d8408 Suppress unused-variable errors.
  • 46fe83c Translate LLVM unreachable to panic("unreachable").
  • 48a362d Translate and and or instructions on booleans.
  • a9bb0ba Translate array constants.
  • bd916f5 Translate bitcast expression.
  • e1f95fb Translate boolean constants.
  • 6fe34e7 Translate fcmp instruction.
  • 75841f2 Translate fcmp with fancy NaN behavior.
  • bdae70c Translate fdiv and fsub instructions.
  • 063b430 Translate float constants.
  • 6461c90 Translate fmul instruction.
  • 5830430 Translate fpext instruction.
  • bf040ea Translate fptosi instruction.
  • 2a0d3b3 Translate fptrunc instruction.
  • af3fbed Translate getelementptr constant expressions.
  • 66104a0 Translate null pointer constant.
  • c877b50 Translate printf as noarch.Printf (from elliotchance/c2go).
  • 6e8dfbb Translate putchar and ldexp functions
  • dfcab4a Translate sdiv instruction.
  • c4b71bf Translate sitofp instruction.
  • c37e31f Translate some math functions.
  • c17ff81 Translate uitofp instruction.
  • cba9511 Transpile strcmp from mustl libc.
  • f2f0cb6 Unblock tree-sitter core go build end-to-end.
  • 3787e1d Update llir package.
  • b84a6ad Update llvm packag...
Read more

0.0.1

Choose a tag to compare

@github-actions github-actions released this 26 Aug 01:10

Leaven

Changelog

  • 9e52ea4 Add -package flag for generated Go package name.
  • e59421f Add IR sanity fixtures for anon struct names and unreachable.
  • fba7fe1 Add a couple of vector instructions and __memcpy_chk.
  • d0cf067 Add a test
  • 4fffef1 Add binarytrees benchmark as a test, and fix malloc breakage.
  • 5ce9546 Add children-before-heap Subtree fixture with runtime run checks.
  • f2df508 Add csmith differential fuzz tests with mise clang 14.
  • 87f0b87 Add disclaimer.
  • ec8e456 Add fannkuch-redux test.
  • ca95df4 Add forgotten parentheses.
  • 5240820 Add fprintf/abort/realloc libc stubs; map glibc _IO_FILE to os.File.
  • 9b646f4 Add getchar
  • 633a665 Add license and readme.
  • 8007207 Add malloc and calloc to libc package.
  • 0a575a9 Add mandelbrot test.
  • 36ac9b7 Add memmove and memset to libc package.
  • e28c467 Add nbody test.
  • 7a2caa4 Add note about GC-related panics.
  • dd96805 Add scripts/fuzz-janitor-loop.sh for fuzz then catalog harvest.
  • 6494d87 Add source.c for every IR fixture (regression C repros).
  • b189232 Add spectral-norm test.
  • 36b6903 Add string functions from PDClib.
  • ce713a7 Add strlen and GoString.
  • eab2f5c Add varargs support.
  • a00e7e4 Add vector support to some instructions.
  • b3dc391 Allocate correctly-typed, garbage-colledted memory.
  • 940bd01 Attempt to support truncating to odd bit sizes (like i3).
  • 4d18e79 Be a little smarter about taking the address of globals.
  • 5d1e1a5 Convert bool to int.
  • b0764a7 Correct typo
  • 6ce0018 Detect unsafe pointer casts.
  • efdd8bd Do all munging of type names in one place.
  • ee95e7d Don't dereference global symbols.
  • 5485b81 Don't emit declarations of anonymous union types.
  • bcf2752 Fix Go keywords, i8→i1 bool trunc, auto-imports; add go_issues fixture.
  • 1abf3b8 Fix csmith fuzz failures: printf, udiv/urem, bitcast, labels, i64.
  • 137e9ad Fix function-pointer bitcasts; map iswlower/iswupper.
  • ee76927 Fix mid-function void ret; map iswalpha/iswdigit.
  • 046d2ba Fix unreachable emission: real tab, not backslash-t.
  • f3608d1 Fix variable name that I forgot to update.
  • f292e64 Get rid of "found bad pointer in Go heap" errors.
  • d0ca426 Handle constant.Index in getelementptr.
  • 1d11cee Handle float32 infinities.
  • ab97755 Handle negative constants in pointer arithmetic.
  • 16829cd Handle signed int constants better.
  • 37da0fc Implement __memset_chk
  • 72ff374 Implement __strcat_chk
  • b0b6cb3 Implement alloca with make rather than malloc.
  • 0b8320e Implement ashr
  • 364224e Implement extractelement
  • 30265dc Implement inttoptr
  • 6110954 Implement printf in libc package.
  • d60f775 Implement puts() and fadd
  • c11a073 Inital support for vectors.
  • fd66828 Initial commit.
  • 3416cd3 Janitor: clear fmt.Errorf/%w and tabled sentinel backlog.
  • 3ebeb3f Janitor: typed timeout errors and cleaner csmith tool resolution.
  • 6cf5fae Make alloca type-safe.
  • df04443 Make byteSlice work on 32-bit systems.
  • e072bb6 Make libc.Realloc copy old bytes (tree-sitter new_node).
  • cc6d79d Map fputs/fputc, iswspace, and llvm.memmove intrinsic.
  • 52ba694 Map free→libc.Free and __assert_fail→libc.AssertFail.
  • 8bcf918 Map nonstandard int widths to Go ints; reject widths over 64.
  • de25348 Map strlen to libc.Strlen (haskell scanners).
  • beed247 Map system stdarg/stdio: va_start/end, vsnprintf, snprintf, fdopen, fclose.
  • 2d1ff1d Map wctype/exit; rename locals that shadow funcs or types.
  • 46ca199 Merge branch 'master' of https://github.com/andybalholm/leaven
  • 059e92b Merge pull request #13 from lewtec/20260809-assimilate-trees
  • 1a77df4 Merge pull request #2 from mewpull/issue-1
  • dbf31a1 Merge pull request #4 from mewpull/llir-v0.3.0
  • d2e4394 Merge pull request #5 from mewpull/update-to-llir-llvm-0.3.1
  • b6160e5 Misc. new features.
  • 7b638c8 More disclaimer
  • bc9e499 More issues with signed int constants.
  • a028d74 Move most of the logic from main to a separate function.
  • bf5bb7b Remove dots from names of anonymous constants.
  • 43c1439 Replace dots in variable names with underscores.
  • 092b9ad Represent tagged pointer unions as uintptr (tree-sitter Subtree).
  • 19337df Rewrite library functions when used as values (free fnptr).
  • 4e7a199 Sanitize clang type names like anon.1 to valid Go identifiers.
  • 2981d19 Sanitize hyphens in LLVM names for Go identifiers.
  • d025381 Skip csmith cases that hang natively instead of failing.
  • 7763959 Start my libc package with mset_pattern16
  • 082f6b9 Store IR sanity fixtures one folder each with expect.json tables.
  • da546a5 Support atomicrmw (strip clang align; map add/sub/xchg to sync/atomic).
  • 0d94a9b Support constant icmp/zext/sext/trunc expressions.
  • b152e98 Support extractvalue/insertvalue; allow all pointer bitcasts.
  • 2848143 Support float types.
  • b9e8bb4 Support inttoptr/ptrtoint for tagged-pointer patterns.
  • 402eb45 Support named blocks.
  • a0c77f3 Support various new features.
  • 84bc4e1 Support vectors in add and trunc
  • 37d8408 Suppress unused-variable errors.
  • 46fe83c Translate LLVM unreachable to panic("unreachable").
  • 48a362d Translate and and or instructions on booleans.
  • a9bb0ba Translate array constants.
  • bd916f5 Translate bitcast expression.
  • e1f95fb Translate boolean constants.
  • 6fe34e7 Translate fcmp instruction.
  • 75841f2 Translate fcmp with fancy NaN behavior.
  • bdae70c Translate fdiv and fsub instructions.
  • 063b430 Translate float constants.
  • 6461c90 Translate fmul instruction.
  • 5830430 Translate fpext instruction.
  • bf040ea Translate fptosi instruction.
  • 2a0d3b3 Translate fptrunc instruction.
  • af3fbed Translate getelementptr constant expressions.
  • 66104a0 Translate null pointer constant.
  • c877b50 Translate printf as noarch.Printf (from elliotchance/c2go).
  • 6e8dfbb Translate putchar and ldexp functions
  • dfcab4a Translate sdiv instruction.
  • c4b71bf Translate sitofp instruction.
  • c37e31f Translate some math functions.
  • c17ff81 Translate uitofp instruction.
  • cba9511 Transpile strcmp from mustl libc.
  • f2f0cb6 Unblock tree-sitter core go build end-to-end.
  • 3787e1d Update llir package.
  • b84a6ad Update llvm packag...
Read more