Releases: goplus/llgo
Releases · goplus/llgo
v0.9.7
libraries:
- py (#699 #704 #744)
- c (#756)
- c/net (#700)
- c/signal (#710)
- c/pthread (#719 #720)
- c/clang (#715 #728 #729 #732 #736 #740 #743 #748 #749)
- c/lua (#696 #745 #746 #752 #751 #755)
- c/libuv (#706 #718 #692)
- os: patch TempDir, MkdirTemp, CreateTemp (#702)
- os: patch MkdirAll (#705 #711 #712 #725)
- os: fix Execl, Execle, and Execlp func signatures (#721)
- net/textproto: patch Dial (#707)
tools:
- llgo cmptest: add support for comparison with llgo.expect files (#701)
- llgo cmptest -gen (#708)
- llcppg/ast (#727 #691 #730 #731 #737 #734 #733 #741 #739 #738 #747 #750)
- llcppsymg (#693)
features:
- llgo/ssa: SliceToArrayPointer (#689)
- runtime: signal SIGSEGV (#710)
- runtime: init abi.Type.PtrBytes (#518)
- build: check -tags nogc (#724)
changes:
v0.9.6
v0.9.5
highlights:
- priority and state of Go std packages support (#642)
libraries:
- c: calloc (#674)
- c/openssl: rand (#620)
- c/openssl: bignum, rsa (#633)
- c/openssl: bio, pem, rsa (#641)
- c/openssl: hmac (#655)
- c/libuv (#613 #645 #657 #673)
- c/clang (#653 #658 #660 #667 #672 #676)
- c/os: add missing clearenv for macOS (#649)
- cpp/std: fix std::string definition (#654)
- crypto/rand (#622)
- crypto/{sha1, sha256, sha512} (#627 #631)
- crypto/hmac (#663 #665)
- math/big.Int (#634 #637)
- io/ioutil (#644)
- net/url (#656)
- encoding (#623)
- go/{token, scanner} (#623)
- sync: avoid using defer (#648)
- README (#621 #637)
tools:
changes:
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 version
command (#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)