bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ctype.h:192: error: parse error before '{' token


From: Paul Eggert
Subject: Re: ctype.h:192: error: parse error before '{' token
Date: Wed, 17 Jul 2019 18:03:33 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0

Jeffrey Walton wrote:
This fixes the issue for GCC 3.1 (Fedora 1) and GCC 3.3 (Ubuntu 4).

I don't see how that patch could fix the issue for GCC 3.1, since it simply changes a test to check for GCC 3.4 instead of 3.3, so GCC 3.1 should behave the same regardless of whether the patch is installed.

for file in $(find "$PWD" -name '*.h')
do
     if [[ ! -f "$file" ]]; then
         continue
     fi

     sed -e 's|__GNUC_PREREQ (3, 3)|__GNUC_PREREQ (3, 4)|g' "$file" >
"$file.fixed"
     mv "$file.fixed" "$file"
done

I don't know if the issue is present in GCC 3.4.

The only instance of '__GNUC_PREREQ (3, 3)' is the one in lib/cdefs.h, so I assume that's the only thing causing you problems. The '__GNUC_PREREQ (3, 3)' comes straight from glibc misc/sys/cdefs.h (installed as /usr/include/sys/cdefs.h on my platform). So if there's a problem here, presumably the problem is also in current glibc.

Can you investigate why current glibc's approach does not work for you, whereas old-fashioned glibc does? For example, what does /usr/include/sys/cdefs.h look like on these older platforms, and why do their definitions of __THROW work when Gnulib's doesn't?

As Bruno says, these ancient systems are low priority for Gnulib, but if we know why the fix is a good one we can install it (and I assume propagate the fix back to glibc....).



reply via email to

[Prev in Thread] Current Thread [Next in Thread]