Different Warnings Appear Using Different OptimizationsLast reviewed: July 31, 1997Article ID: Q67078 |
6.00 6.00a 6.00ax 7.00 | 6.00 6.00a | 1.00 1.50 1.51 1.52 | 1.00 2.00 2.10
| | | 4.00 MS-DOS | OS/2 | WINDOWS | WINDOWS NTkbtool kbcode The information in this article applies to:
The information in this article is included in the documentation starting with Visual C++ 5.0. Look there for future revisions.
SUMMARYIn Microsoft C/C++ compiler, different warning messages can appear during separate compilations of the same code when different optimizations are used. This is normal behavior that occurs because some warnings are found only while optimizing.
MORE INFORMATIONIf the sample code below is compiled with /W4 (all warnings) and the /Os optimization (optimize for space), no warnings are found. However, when the code is compiled with /W4 and /Osle (optimize for size, loop, and global-register allocation), the following warning is generated:
file.c(7) : warning C4202: unreachable codeWith Visual C++ for Windows NT versions 1.0, 2.0, and 2.1, as well as Visual C++ for Windows version 1.5 and 1.51, the following warning is generated when compiled with /W4 and /O2:
file.c(7) : warning C4702: unreachable codeThere are several other optimizations and code examples that will exhibit this type of behavior. Once again, this is normal and serves to notify the developer that there MAY be a problem.
Sample Code
#include <stdio.h> void main(void) { goto bottom; printf("Not used\n"); /* Code that is not used */bottom:printf("Hello World!"); } |
KBCategory: kbtool kbcode
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |