Using -fnested-functions yields the following: /usr/bin/libtool: unknown option character `l' in: -allow_stack_execute Usage: /usr/bin/libtool -static [-] file [...] [-filelist listfile[,dirname]] [-arch_only arch] [-sacLT] Usage: /usr/bin/libtool -dynamic [-] file [...] [-filelist listfile[,dirname]] [-arch_only arch] [-o output] [-install_name name] [-compatibility_version #] [-current_version #] [-seg1addr 0x#] [-segs_read_only_addr 0x#] [-segs_read_write_addr 0x#] [-seg_addr_table ] [-seg_addr_table_filename ] [-all_load] [-noall_load] Using -fnested-functions and making nested functions static: CC recorder/radio.c recorder/radio.c: In function 'radio_screen': recorder/radio.c:430: error: invalid storage class for function 'end_search' make[1]: *** [/Users/tjross/code/rockbox/builds/h300-sim/apps/recorder/radio.o]