I must be obtuse, I cannot find the new opitimization levels in C51 v7.0. Here are my Help->About stats:
uVision = 2.30 C51 = 7.00 A51 = 7.00a BL51 = 5.00 LIB51 = 4.23 OH51 = 2.6 S8051 = 2.30 DP51 = 2.30
You can't see the new optimisation levels unless you've checked the "Use extended linker" box in the "Select device for target" tab. I have also had some difficulties selecting "Linker code packing" when converting a couple of projects to use LX51. The only solution I could find was to start a new project.
That would do it. Thanks. However, now a flawless build turns into many unresolved external symbols like printf(). Looks like LX51 isn't finding the standard library anymore.
Perhaps you could add your experiences to this thread when you're done: http://www.keil.com/forum/docs/thread1481.asp
If the linker can't find a library file that it's looking for you'll get an L210 I/O Error. After installing a beta of version 7.0 I had a problem with LX51 crashing when it should have been generating unresolved external errors. Keil suggested a full reinstall as I had applied several updates over the preceding weeks and indeed this fixed the problem.