When including "core_pins.h":
teensy3/usb_dev.c: In function '_reboot_Teensyduino_':
teensy3/usb_dev.c:899:1: warning: 'noreturn' function does return
Fix this by adding a call to __builtin_unreachable().
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
- usb_serial_class::readBytes() calls millis(), hence it should
include "core_pins.h",
- usb_serial_flush_callback() is a public function, but is not
declared in the header file.
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
When processing CDC_SET_CONTROL_LINE_STATE and CDC_SET_LINE_CODING
requests, wIndex is ignored. Hence if the CDC Status Interface is
enabled, these requests are always processed, even when not destined for
the actual serial status interface.
Fix this by adding a check to ensure that wIndex matches the CDC status
interface.
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Newer versions of GCC (8.1.0 in my case) default to `-std=gnu11` (I believe), which expects `inline` to have an external definition. The `Makefile` (I ran it with `NO_ARDUINO` set) doesn't specify any C_FLAGS. Therefore gcc uses the new default value, instead of the old C99 standard. In this case you'll get a linker error for `getIsrTable` not being defined. This change allows the code to successfully compile with new versions of gcc. This change works with the old default std of gcc. For much older versions of gcc it might be better to explicitly set the `std` in `CFLAGS` within the `Makefile`.