FIX: System Hang with /Oe Option and Switch StatementsID: 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
Version : 1.00
Platform : WINDOWS
Issue type :
Last Reviewed: July 20, 1999