When I use "complicated" while() conditions, the resut
is a warning from the compiler and despite the warning
looking harmless enough (just needing to allocate a new
register) the resulting object file is invalid and my
pic goes off into space.
Please see the attached file. If you #undef
WORKAROUND, the problem happens, if you #define
WORKAROUND everything is fine. I have tested both on
my pic board to verify this. Additionally I have
tested this file (both configurations) using gcc and
both methods work with equal results.
Command: sdcc -mpic16 -p18f452 -c example.c
$ /usr/bin/sdcc -v
2.4.8 #941 (Jan 25 2005) (UNIX)
This build is a snapshot build from cvs gotten at the
end of day on Jan 25, 2005. I just got the latest (end
of day Feb 2nd and the problem still exists)
Warning: pic16_allocRegByName:942 symbol name
_snprintf_sloc0_1_0 regop= 0x8360188gen.c:1821:
WARNING: need to allocate new register by name ->
Contact Information: schmidtw at users dot sourceforge
Log in to post a comment.