Age | Commit message (Collapse) | Author |
|
This can happen with generic functions, see:
https://github.com/tinygo-org/tinygo/issues/4486
|
|
|
|
This can in fact happen in practice, so return an actual error message
instead.
|
|
|
|
This shows nicely formatted error messages for missing symbol names and
for out-of-flash, out-of-RAM conditions (on microcontrollers with
limited flash/RAM).
Unfortunately the missing symbol name errors aren't available on Windows
and WebAssembly because the linker doesn't report source locations yet.
This is something that I could perhaps improve in LLD.
|
|
This improves error reporting slightly.
|
|
Previously, the error messages could be shown out of order.
With this patch, the errors are sorted before being shown to the user.
This makes it easier to read the error messages, and matches what the
`go` toolchain does.
|
|
This is just one optimizer pass that's easy to test for. There are
others, but I'm ignoring them for now.
The one other that would be reasonable to test is when starting a
goroutine with -gc=none, but I'm leaving that one for another time.
|
|
The compiler can in fact return errors, but these weren't tested yet.
|
|
This one needed more advanced checking of the error messages, because we
don't want to hardcode things like `!dbg !10` in the output.
|
|
Match the error messages in testdata/errors/*.go like LLVM FileCheck,
which includes regular expressions.
I believe this is much more flexible, and LLVM uses it in nearly all of
their tests so it must work quite well for compilers.
|
|
Instead of exiting with an error, handle these errors internally.
This will enable a few improvements in the future.
|
|
This is done at a later time anyway, so doesn't need to be done in the
cgo package. In fact, _not_ doing it there makes it easier to print
correct relative packages.
|
|
This is needed for some improvements I'm going to make next.
This commit also refactors error handling slightly to make it more
easily testable, this should hopefully not result in any actual changes
in behavior.
|