pragma must be outside function
A pragma that must be specified at a global level (outside a function body) is within a function. The following sample generates C2156:
#pragma optimize( "l", on ) // ok void main() { #pragma optimize( "l", on ) // C2156 }