git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Issue with compiling git 1.8.4 under uclibc with gcc 4.6.3

From
Andreas Schwab <schwab@linux-m68k.org>
Date
Aug 26, 2013, 21:07 UTC
Message-ID
<87fvtwi2jd.fsf@igel.home>
In-Reply-To
<20130826203154.GA21357@blizzard>
Lukas Fleischer <git@cryptocrack.de> writes:
Show 20 quoted lines
> 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."
Previous: Junio C Hamano
Message 9 of 9 in “Issue with compiling git 1.8.4 under uclibc with gcc 4.6.3”
  1. LanceAug 26, 2013
  2. Lukas FleischerAug 26, 2013
  3. LanceAug 26, 2013
  4. Lukas FleischerAug 26, 2013
  5. Jeff KingAug 26, 2013
  6. config: do not use C function names as struct membersJeff King, Aug 26, 2013
  7. Lukas FleischerAug 27, 2013
  8. Junio C HamanoAug 27, 2013
  9. Andreas SchwabAug 26, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.