In some cases a inlined return of just a byte produce unnecessary treatment of
the high byte, like it should fulfill the ABI calling convention.
The problem with the unoptimized inlined returs seams (after some trials) to
raise (long) after constant assignment in combination with other facts.
The example is compiled with gcc/avr/3.4.5, gnu99 and -Os, but the same effects
are visible in combinations with gnu++98 and -O3.
To show the difference between the oldstyle #define-macro and a inline function
which should be 'as fast as a macro' I feed the .c-source instead of the
.i-file.
--
Summary: inlined return of a byte partial unoptimized
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: enhancement
Priority: P3
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: familie dot glaser at web dot de
GCC host triplet: WIN
GCC target triplet: AVR
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27847