tinygo/builder
Ayke van Laethem 1d7543e2bf all: switch to LLVM 16
This commit adds support for LLVM 16 and switches to it by default. That
means three LLVM versions are supported at the same time: LLVM 14, 15,
and 16.

This commit includes work by QuLogic:

  * Part of this work was based on a PR by QuLogic:
    https://github.com/tinygo-org/tinygo/pull/3649
    But I also had parts of this already implemented in an old branch I
    already made for LLVM 16.
  * QuLogic also provided a CGo fix here, which is also incorporated in
    this commit:
    https://github.com/tinygo-org/tinygo/pull/3869

The difference with the original PR by QuLogic is that this commit is
more complete:
  * It switches to LLVM 16 by default.
  * It updates some things to also make it work with a self-built LLVM.
  * It fixes the CGo bug in a slightly different way, and also fixes
    another one not included in the original PR.
  * It does not keep compiler tests passing on older LLVM versions. I
    have found this to be quite burdensome and therefore don't generally
    do this - the smoke tests should hopefully catch most regressions.
2023-09-18 21:58:02 +02:00
..
ar.go compiler: add compiler-rt and wasm symbols to table 2023-07-31 14:52:26 +02:00
build.go testing: add Testing function 2023-08-04 11:59:11 +02:00
builder_test.go wasm: add support for GOOS=wasip1 2023-08-17 18:16:54 +02:00
buildid.go Fix for builds of tinygo using an Android host 2022-08-09 11:14:39 +02:00
builtins.go avr: drop GNU toolchain dependency 2022-11-06 09:05:05 +01:00
cc.go builder: remove non-ThinLTO build mode 2023-02-26 19:22:10 +01:00
cc1as.cpp all: switch to LLVM 16 2023-09-18 21:58:02 +02:00
cc1as.h all: switch to LLVM 16 2023-09-18 21:58:02 +02:00
cc_test.go builder: cache C and assembly file outputs 2021-04-05 20:52:04 +02:00
clang.cpp all: remove remaining +build lines 2023-01-17 23:35:53 +01:00
commands.go builder: remove extra formatting verb from error message 2022-05-18 09:06:03 +02:00
config.go builder: update message for max supported Go version 2023-08-09 19:27:15 +02:00
darwin-libsystem.go all: remove support for LLVM 11 and LLVM 12 2022-05-07 17:15:35 +02:00
elfpatch.go rp2040: patch elf to checksum 2nd stage boot 2021-06-17 12:10:04 +02:00
env.go all: move from os.IsFoo to errors.Is(err, ErrFoo) 2022-08-07 10:32:23 +02:00
error.go compiler: add location information to the IR checker 2019-12-21 20:49:51 +01:00
esp.go fix some comments 2023-04-18 22:51:49 +02:00
jobs.go builder: print the status of the job that just completed 2023-04-22 10:01:02 +02:00
library.go builder: print compiler commands while building a library 2022-11-12 17:38:02 +01:00
lld.cpp ci: build LLVM with thread support on Windows 2023-03-07 22:38:14 +01:00
mingw-w64.go windows: add ARM64 support 2023-01-30 21:42:47 +01:00
musl.go ci: add support for LLVM 15 2022-10-19 22:23:19 +02:00
nrfutil.go builder: implement Nordic DFU file writer in Go 2023-05-13 09:52:42 +02:00
objcopy.go all: remove calls to deprecated ioutil package 2022-08-07 10:32:23 +02:00
picolibc.go avr: drop GNU toolchain dependency 2022-11-06 09:05:05 +01:00
sizes.go compiler: account for alignment with -size=full 2023-03-08 07:09:46 +01:00
sizes_test.go all: switch to LLVM 16 2023-09-18 21:58:02 +02:00
tools-builtin.go windows: add ARM64 support 2023-01-30 21:42:47 +01:00
tools-external.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
tools.go main: implement tinygo lldb subcommand 2021-10-05 06:26:21 +02:00
uf2.go all: remove calls to deprecated ioutil package 2022-08-07 10:32:23 +02:00