I was under the impression that funtions that were not called would be optimized out of the code. The project that I am currently working on was at the program memory limit. On a whim I commented out an old test function and got back 8% of the program space.
I have been diggging through the forum and other various online doc trying to find information about what happens to functions that are never called.
I do not understand how unused functions are handled. Is there a keyword, attribute, file location, or header construct that will help the optimizer?
What about uncalled functions in libraries?
I welcome any advice, tutorials or suggested reading material.
PS I'm using the winavr default -Os option