Inline does not work in packages (ARM nds/gba)
Original Reporter info from Mantis: Legolas
-
Reporter name: Francesco Lombardi
Original Reporter info from Mantis: Legolas
- Reporter name: Francesco Lombardi
Description:
In libndsfpc package I have an inline function that returns an integer. Testing this package, if the returned value from this inline function is passed to another function in the same package, then it is always 0:
function MyInlineFunc(x: single): integer; inline;
...
ProcessMyValues(5, 15, MyInlineFunc(-1.0)); // params passed are 5, 15, 0
On the other hand:
var a: integer;
...
a := MyInlineFunc(-1.0);
ProcessMyValues(5, 15, a); // works as expected!
Additional information:
This behaviour has been added in Rev.12719
OS: win32
CPU: i386
Target CPU: ARM
Target OS: NDS/GBA
Mantis conversion info:
- Mantis ID: 13343
- Version: 2.3.1
- Fixed in version: 2.4.0
- Fixed in revision: 12916 (#630aa5c4)
- Target version: 2.4.0