Releases: xgo-dev/llgo
Releases · xgo-dev/llgo
Release list
v0.9.4
libraries:
- path, path/filepath (#593)
- regexp, regexp/syntax (#598 #602)
- encoding/{binary, hex, base32, base64} (#604)
- hash, hash/{adler32, crc32, crc64} (#615)
- bufio, encoding/csv (#606)
- bytes (#602)
- math/rand (#617)
- crypto/md5 (#608)
- os/exec (#587 #590)
- reflect.Value: Uint fix (#591)
- os.Pipe, syscall.CloseOnExec (#589)
- os.Expand (#596)
- os.ReadFile (#612)
- io.Pipe (#578 #579 #582 #586)
- c/openssl (#607 #616)
- c/zlib: crc32/adler32 (#615)
- c/pthread/sync: use C to wrap return type (#576)
- c/lua:metatable & coroutine (#584)
- c/libuv: fix return type FsType & struct rename (#572)
- cpp/std: support nogc (#594)
- py: add some basic dict methods (#605)
- README (#601 #611 #618)
tools:
- llcppg (#566)
changes:
- llgo/ssa: fix panic in defer (#583)
- llgo/ssa: closure changeType check convert (#600)
- llgo/ssa: add support for min and max built-in functions (#614)
- cl: afterInit skip pkgHasPatch (#580 #581)
- cl: fix pkg init hasPatch && patch io.pipe (#582 #586)
- build: fix sigsetjmp issues and ensure required libs on Linux (#597 #599)
- build: replicate macOS -dead_strip optimization on Linux (#610)
- runtime: fix endSelect (#573)
- runtime.Panic: mv error/Stringer to printany (#585)
- xtool: nm/nmindex (#588)
v0.9.3
v0.9.2
highlights:
- build: support rpath
- c/neco: prepare for future coroutine-based goroutine version
libraries:
- c/syscall: zerrors (#533)
- c/os: Fcntl (#502)
- c/os: Setrlimit/Getrlimit (#533)
- c/clang: castdump (#514 #516)
- c/lua: name style (#507)
- c/neco (#525)
- cpp/llvm (#513)
- cpp/inih: small fix (#509)
- syscall: Wait4 (#533)
- os: Args, StartProcess, Wait, Sysctl, environ (#513 #533)
- fmt: Errorf (#527)
- time: ParseDuration (#527)
- strings (#527)
- flag (#527 #530)
- README (#508 #510 #532 #536)
features:
- build: add llvm.BinDir to PATH (#513)
- build: support rpath (#515 #519 #522 #531)
- cmd: dylibdeps (#528)
- xtool: llvm InstallNameTool (#517 #521)
changes:
v0.9.1
highlights:
- mechanism to support C++ libraries. As part of this, we have migrated the C++
std::string(see cpp/std package) and a third-party C++ library cpp/inih, which is used for reading ini files.
libraries:
- c: Fopen, Fclose, Perror, AllocaCStrs (#465 #497 #504)
- c/os: Execl, Execv, Fork, etc. (#495)
- c/syscall (#495 #496)
- c/socket (#501 #503)
- c/raylib (#473)
- c/zlib (#472)
- c/lua (#430)
- cpp/std (#505 #506)
- cpp/inih (#466 #505 #506)
- rust/sled: rust sled demo (have moved to llgoexamples) (#450 #480 #499)
- syscall, os, os/exec (#495 #504)
- time: Duration, Timer (#478)
- log (#467)
- context (#468)
features:
- c.AllocaCStrs; ssa: AllocaU/ArrayAlloca/Times/AllocaCStrs (#504)
- cl: support
// llgo:type C(#454 #476) - build: replace precompiled *.lla with local compilation (#462)
- build: clFiles support cflags (#505)
- build _wrap: llgo_check (to be continued) (#506)
- cmd: add
llgo versioncommand (#489) - README (#474 #481)
changes:
- llgo/ssa: func binop eq fix (#460)
- llgo/ssa: fix setDirectIface (#470)
- llgo/ssa: fix return multi results (#477)
- llgo/ssa: correct Sizeof to align size properly (#493)
- build: ensure GOBIN directory exists before use (#464)
- build: fix buildpkg (#490)
- xtools: mv xtool/clang/parser, ar => chore/_deprecated (#475)
- ci: implement release-build.yml workflow with GoReleaser (#494)
- ci: update go.yml workflow to trigger on pushes and PRs to any branches (#469)
- mod: github.com/goplus/mod v0.13.12
v0.9.0
highlights:
- All Go syntax (not including
cgo) is already supported.
features:
libraries:
changes:
v0.8.10
features:
libraries:
- c/math (float32) (#414)
- c/math/rand (#403 #414)
- c/raylib (#409 #410 #415 #423 #427)
- c/raylib: tetris demo (#423 #427)
- c/clang (#410 #416)
- c/clang: use llvm-config (#416)
- c/zlib (#404 #413)
- os: UserHomeDir/UserConfigDir/UserCacheDir (#420)
- os, syscall, io/fs: Errno, Stdin/out/err (#422)
- os.File (#426 #433)
- fmt, os, runtime, syscall, time (#429)
demos:
- cppmintf: implements multiple intefaces in c++ (#398)
- cmptest: sortdemo (#418)
- cmptest: iodemo, fmtdemo (#437)
changes:
- cl linkname: not exist method warning (#436)
- llgo/ssa: phi.AddIncoming fix: use checkExpr (#419)
- llgo/ssa: fix slice high (#428)
- llgo/ssa: makeSlice fit int size and check (#425)
- llgo/ssa: fix abiType && abiMethoOf (#392)
- llgo/ssa: fix abiType & abiNamedOf (#417)
- llgo/ssa: fix abi patch types.pointer (#434)
- runtime: global abi basic (#421)
- runtime: panic with any custom type (#399)
- runtime: type align (#405)
- build: fix link runtime (#438)
- c/llama2: rm precompiled *.ll files (#407)
- c/llama2: explicitly link libm to ensure compatibility with Linux (#408)
- xtool: utilize llvm-config to find LLVM executables (#424)
- update bytealg for pkg bytes/strings (#428)
v0.8.9
highlights:
- go syntax: support generics
- go libraries: syscall, strconv, sort, reflect, math/cmplx, os, sync, sync/atomic
- c libraries: c/os, c/math/cmplx, c/sync/atomic, c/pthread/sync
- cmd:
llgo cmptest [build flags] [packages](#391 #393)
features:
- patch library: llgo:skipall (#332 #343)
- patch library: call init (#352 #355)
- library: syscall (#366)
- library: strconv (#369)
- library: sort (#384 #385)
- library: reflect (#371 #379 #380 #381 #382)
- library: c/math/cmplx, math/cmplx (#368 #374)
- library: c/os, os, demo: getcwd (#364 #376)
- library: c/sync/atomic, sync/atomic (#326 #327 #328 #332 #333)
- library: c/pthread/sync, sync (#339 #343 #348 #350)
- library: c/cjson, c/sqlite README: how to install (#322 #365)
- library: c string library (#364)
- runtime: tracePanic (#363)
- cl: c.Func (llgo.funcAddr) (#387)
- cl: demo: cppintf (how to use c++ interface) (#387 #388 #389)
- llgo/ssa: complex op and print/panic (#373)
- builtin: real/imag/complex (#368)
- build: instantiate generics (#351)
- build: use -dead_strip to reduce app size (#325 #331)
- build: LLGoFiles (support to compile c files) (#335)
- build: overlayFiles for fix math on amd64 (#383)
- build: disable verbose info for deps (#386)
- cmd:
llgo cmptest [build flags] [packages](#391 #393)
changes:
- llgo/ssa: fix ssa.Index and indexType (#330)
- llgo/ssa: index/indexAddr check range (#346)
- llgo/ssa: abi.TypeName fix: error interface is public (#364)
- llgo/ssa: fix reentrant of ABI initialization (#377 #378)
- cl: check context.inCFunc (#347)
- cl: compileFuncDecl/funcName fix (#343)
- cl: fn.SetRecover (#352)
- patch library: fix (link dependencies) (#343)
- patch library: llgo/ssa/abi: PathOf fix - support trim PatchPathPrefix (#360)
- typepatch fix: don't change patch pkg (#360)
- typepatch fix (don't change types) (#333)
- typepatch: fix globalType (#348)
- build: explicitly link libpthread for compatibility with glibc versions before 2.34 (#334)
- build: set $GOPATH/bin as default GOBIN for Config.BinPath (#362)
- build: remove check for default GOPATH and GOROOT being identical (#375)
- library c: c.Int/Uint not alias C.int/uint (#349)
- README: update install instruction of LLGOROOT (#356)
- README: update python & install instructions (#357)
- ci,README: improve install instructions (#338)
- ci,README: add Dependencies section and update install instructions accordingly (#342)
v0.8.8
highlights:
- support panic & recover
- packages: c/bdwgc, c/math, math, math/bits
- patch a standard library (eg. internal/lib/math)
features:
- recover (#307 #309)
- patch a standard library (#321 #323 #324)
- package c/bdwgc (#319)
- package c/math (#320)
- package math (#320 #321)
- package math/bits (#304)
- link by pkg-config (#314)
changes:
- runtime: expand abi array (#315)
- runtime: rm internal/runtime/c (#319)
- llgo/ssa: float Const fix (#303)
- llgo/ssa: global use elem type (#313)
- internal/abi.Map: IndirectKey/IndirectElem (#318)
- testlibgo: mv math => mathbits (#304)
- cl: replace runtime => llgo/internal/runtime (#303)
- fix LLGO_LIB_PYTHON instruction (#308)
v0.8.7
highlights:
- support defer & panic
- support gc
features:
- defer & panic (#278 #279 #280 #283 #285 #286 #287 #288 #289 #290 #301 #302)
- gc & nogc (#284 #291 #292)
- llgo/ssa: typeAssert support interface (#272)
- llgo/ssa: interface equal (#298)
- cl: isVargs support defer/go (#299)
- build: build runtime local (#281 #282)
- libc compatible (#275 #276 #282)
changes:
v0.8.6
highlights:
- support goroutine
- support defer
features:
- goroutine (#254 #255 #256)
- defer (#261 #262 #263 #264 #273)
- cl/blocks (#273)
- llgo/ssa: memory (malloc/free) (#255)
- llgo/ssa: Do Call/Go/Defer (#251)
- llgo/ssa: Builtin (#257)
- llgo/ssa: IfThen/RunDefers/EndBuild (#261)
- llgo/ssa: DeferAlways/DeferInCond/DeferInLoop (#263)
- llgo/ssa: MakeInterface check abi.KindDirectIface (#258)
- build: support pkg-config and link args (#269)
changes: