Path: utzoo!telly!ddsw1!lll-winken!brutus.cs.uiuc.edu!jarthur!uci-ics!rfg From: rfg@ics.uci.edu (Ron Guilmette) Newsgroups: gnu.g++.bug Subject: Re: g++ parse error ? (g++.1.36.1-) Keywords: g++ Message-ID: <1989Nov21.141043.25717@paris.ics.uci.edu> Date: 21 Nov 89 22:10:43 GMT References: <504@tnosoes.UUCP> Reply-To: Ron Guilmette Organization: University of California, Irvine - Dept of ICS Lines: 27 In article <504@tnosoes.UUCP> tom@tnosoes.UUCP (Tom Vijlbrief) writes: >g++ cannot parse the following. > >Is this a compiler error or a C++ problem ? ... >opis.c:6: parse error at end of input I have seen this type of error message (also issued at lines in the *middle* of some source files) before. In my case, this was due to the fact that (a) the setbuf() routine on SystemV behaves badly if you try to set the buffer to a buffer which is only 8 bytes or less in length, and (b) cplus-lex.c has not yet been fixed to account for this System-5 specific problem, and (c) I was running G++ under System V. If you are using System V, look at the calls to setbuf() in cplus-lex.c. I believe that there are special #ifdefs in those two vicinities that are for i386, and that the i386 case should be right for *all* system V machines. I hope that helps. P.S. The setbuf() routine comes into play because G++ saves the bodies of inline routines away in "buffers" which it later goes back and re-reads. // rfg