Excellent, this will explain the behavior. What is the default assumption meaning what file extension would each compiler assume and also how would one force the compiler to ignore the extension as a language descriptor and interpret it as specified by the user (may be a command line parameter here) thanks -----Original Message----- From: llewelly@xxxxxxxxxxxx [mailto:llewelly@xxxxxxxxxxxx] Sent: Sunday, May 02, 2004 8:32 PM To: Boyan Biandov Cc: 'gcc-help@xxxxxxxxxxx' Subject: Re: streambuf.h:403: parse error before `ios' Boyan Biandov <bbiandov@xxxxxxxxxxx> writes: > Thanks, > > I have few machines, one of which is 3.4.0 under RH9 and I get the > same exact errors. Now a bit of interesting fact I just discovered: > > If I use c++ -O3 -o test test.c -Wall -I/usr/include/g++-3/ it > compiles just fine > > But gcc -O3 -o test test.c -Wall -I/usr/include/g++-3/ generates parse > errors in fstream and iostream [snip] This is a different problem. 'gcc' will assume a '.c' file is C, not C++. However, 'g++' will assume a '.c' file is C++, not C.