First Pelle - Thank you very much for answering, I know you are busy with RC2 so I appreciate that you are answering this question.
/O1 is /Os, /O2 is /Ot.
What makes it five choices is "optimize more", which is /Ox. No #pragma for this option. The meaning of /Ox has shifted over the years, but right now it stands for "optimizations that can/will take longer to run, and only time will tell how generally useful they are". The meaning of /Ox could change again.
In reading the help file I made a false conclusion that /Os and /Ot were optimize and /O1 and /O2 were for 'optimize more' respectively.
Is "end of the translation unit." meaning end of the specific module (like file.c?) where the #pragma is placed?
It means end of a preprocessed source file.
Got it -
I'm just starting to use the #pragma option to selectively optimize and not optimize modules.
Why?!
I turned on global "optimize speed more" in version 9 and all was well. Faster and smaller code resulted. I installed V10 on another machine and copied over the source directory. Under version 10 it compiles and runs mostly but one program operation now fails. When I set optimize to none in that source file the program operation works as before. Basically I'm using local optimization to help troubleshoot. I am trying to determine where and what in my code is causing the issue.
Thanks again for your help and time,
Best Regards,
John Z