Mark SoftwareSerial::tx_pin_write as "always_inline"

Somehow gcc 4.8 doesn't inline this function, even though it is always
called with constant arguments and can be reduced to just a few
instructions when inlined. Adding the always_inline attribute makes gcc
inline it, saving 46 bytes on the Arduino uno.

gcc 4.3 already inlined this function, so there are no space
savings there.
This commit is contained in:
Matthijs Kooijman 2014-04-22 17:45:21 +02:00
parent 416198a03b
commit 80ea38b1dc
1 changed files with 1 additions and 1 deletions

View File

@ -71,7 +71,7 @@ private:
// private methods
void recv();
uint8_t rx_pin_read();
void tx_pin_write(uint8_t pin_state);
void tx_pin_write(uint8_t pin_state) __attribute__((__always_inline__));
void setTX(uint8_t transmitPin);
void setRX(uint8_t receivePin);
void setRxIntMsk(bool enable);