FIX: System Hang with /Oe Option and Switch Statements |
Q114073
When compiling a source module, the C/C++ compiler may cause the
system to hang and not respond if all of the following conditions
exist:
switch ( my_fcn( 100 ) ) { ... } To work around the problem, change the switch statement so the switch expression does not contain a function call. Alternatively, avoid using /Oe when compiling the module, or use the #pragma optimize() directive to disable /Oe for the function with the switch statement. For example, place the following statement before the function containing the switch statement:
#pragma optimize( "e", off ) // Disables /Oe
and the following statement after the function:
#pragma optimize( "", on ) // Re-enables /Oe
Microsoft has confirmed this to be a problem in the C/C++ compiler for MS-DOS version 8.0. This problem was corrected in the C/C++ compiler for MS-DOS version 8.0c, included with Visual C++ for Windows, version 1.5.
Additional query words: 1.00 8.00
Keywords : kb16bitonly kbCompiler
Issue type :
Technology : kbVCsearch kbAudDeveloper kbCVCComp
|
Last Reviewed: May 5, 2001 © 2001 Microsoft Corporation. All rights reserved. Terms of Use. |