I believe that the final code size is returned by the assembler and not by the compiler.
Since some 18F parts are capable of extending its program memory to external memory it's possible that the assembler doesn't care what the final size actually is and therefor happily assembles the program no matter what.
Of course, I'm only speculating.
/Henrik.
Bookmarks