With current trunk this PR has disappeared.

However, with current 4.7 branch I can still reproduce it.

So I wonder what/who fixed the problem -- maybe just as a side
effect of some other work -- and if the change is appropriate
to be back-ported to 4.7?

Thanks for hints; I am not familiar with the front end internals...

Johann



__int24 is a built-in type in avr backend.

Infinite recursion:
    __int24 add24 (__int24 a) { return a + 0x10000; }

Works:
    __int24 add24 (__int24 a) { return a + 0xffff; }

Works:
    __int24 add24 (__int24 a) { return a + (__int24) 0x10000; }

Works:
    __int24 add24 (__int24 a) { return a ^ 0x10000; }

Reply via email to