From: Andreas Schwab Date: Mon, 26 Aug 2013 21:07:50 GMT Subject: Re: Issue with compiling git 1.8.4 under uclibc with gcc 4.6.3 Message-ID: <87fvtwi2jd.fsf@igel.home> In-Reply-To: <20130826203154.GA21357@blizzard> Lukas Fleischer writes: > On Mon, Aug 26, 2013 at 02:29:12PM -0600, Lance wrote: >> [...] >> >> CC config.o >> >>config.c: In function 'get_next_char': >> >>config.c:220:14: error: expected identifier before '(' token >> >>config.c:220:14: error: expected statement before ')' token >> >>config.c:220:14: error: expected statement before ')' token >> >>config.c:224:11: error: expected identifier before '(' token >> >Does changing line 220 of config.c to >> > >> > int c = (cf->fgetc)(cf); >> > >> >fix it? >> I also had to change line 224 to the following >> >> c = (cf->fgetc)(cf); >> >> Once both places were changes, it compiled successfully. > > Sounds like a parser bug to me. No, it isn't. fgetc may be a function-like macro that expands to an arbitrary expression (same for ungetc or ftell, or any other indentifier that matches a C library function, for that matter). Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."