Hi, The code snippet below contains a syntax error. The line "i = 4," is termited by a "," instead of a ";", but it still compiles fine. Even the result of the compilation is correct. I expected the "Parse error before ..." here, but the compiler doesn't even give a warning.
If the line "printf .... " is removed, the compiler give the error message I expected. Also when the line would be "int i = 4," the error is given. I hope you have enough information now. Regards, Eric Zuur. Code snipet: #include <stdio.h> int main() { int i; i = 4, printf("int=%d\n", i); return (i); } Compiler version and OS information: [EMAIL PROTECTED]> g++ -v -save-temps test.cpp Reading specs from /apps/oss/lib/gcc-lib/i686-pc-linux-gnu/2.95.3/specs gcc version 2.95.3 20010315 (release) /apps/oss/lib/gcc-lib/i686-pc-linux-gnu/2.95.3/cpp0 -lang-c++ -v -D__GNUC__=2 - D__GNUG__=2 -D__GNUC_MINOR_ _=95 -D__cplusplus -D__ELF__ -Dunix -D__i386__ -Dlinux -D__ELF__ -D__unix__ - D__i386__ -D__linux__ -D__unix -D__linux -Asystem(posix) -D__EXCEPTIONS -Acpu(i386) -Amachine(i386) -Di386 - D__i386 -D__i386__ -Di686 -Dp entiumpro -D__i686 -D__i686__ -D__pentiumpro -D__pentiumpro__ test.cpp test.ii GNU CPP version 2.95.3 20010315 (release) (i386 Linux/ELF) #include "..." search starts here: #include <...> search starts here: /apps/oss/lib/gcc-lib/i686-pc-linux-gnu/2.95.3/../../../../include/g++-3 /usr/local/include /apps/oss/lib/gcc-lib/i686-pc-linux-gnu/2.95.3/../../../../i686-pc-linux- gnu/include /apps/oss/lib/gcc-lib/i686-pc-linux-gnu/2.95.3/include /usr/include End of search list. The following default directories have been omitted from the search path: End of omitted list. /apps/oss/lib/gcc-lib/i686-pc-linux-gnu/2.95.3/cc1plus test.ii -quiet - dumpbase test.cc -version -o test.s GNU C++ version 2.95.3 20010315 (release) (i686-pc-linux-gnu) compiled by GNU C version 2.95.3 20010315 (re lease). as -V -Qy -o test.o test.s GNU assembler version 2.11.90.0.8 (i386-redhat-linux) using BFD version 2.11.90.0.8 /apps/oss/lib/gcc-lib/i686-pc-linux-gnu/2.95.3/collect2 -m elf_i386 -dynamic- linker /lib/ld-linux.so.2 /us r/lib/crt1.o /usr/lib/crti.o /apps/oss/lib/gcc-lib/i686-pc-linux- gnu/2.95.3/crtbegin.o -L/apps/oss/lib/gcc- lib/i686-pc-linux-gnu/2.95.3 -L/apps/oss/lib test.o -lstdc++ -lm -lgcc -lc - lgcc /apps/oss/lib/gcc-lib/i686 -pc-linux-gnu/2.95.3/crtend.o /usr/lib/crtn.o -- Summary: Incorrect Syntax NOT rejected Product: gcc Version: 3.3.1 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: eric at ez-soft dot demon dot nl CC: gcc-bugs at gcc dot gnu dot org GCC host triplet: Linux 2.4 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21960