1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-10-30 04:26:50 +03:00

Fix iostream related issues (#5047)

* add stubs for more exception throw calls

Fixes https://github.com/esp8266/Arduino/issues/3358

* libc: make putc_r implementation weak

newlib provides its own implementation of _putc_r, which will call
_write_r (possibly after buffering). Make our implementation weak to
allow using the one from newlib.

Fixes https://github.com/esp8266/Arduino/issues/4630

* libc: fix incorrect return value of _write_r call

Should return number of bytes written, actually returned zero. This
resulted in std::cout going into failed state after the first write.

* tests: add test for output to std::cout
This commit is contained in:
Ivan Grokhotkov
2018-08-27 01:47:01 +08:00
committed by Develo
parent 0da54d88a9
commit 0713a01db8
3 changed files with 55 additions and 1 deletions

View File

@@ -127,7 +127,24 @@ void __throw_out_of_range(const char* str)
(void) str;
panic();
}
void __throw_bad_cast(void)
{
panic();
}
void __throw_ios_failure(const char* str)
{
(void) str;
panic();
}
void __throw_runtime_error(const char* str)
{
(void) str;
panic();
}
} // namespace std
// TODO: rebuild windows toolchain to make this unnecessary:
void* __dso_handle;