[GCC-XML]"__thread" now a reserved word in gcc 3.3
Brad King
brad.king at kitware.com
Thu Mar 4 17:40:19 EST 2004
Brad King wrote:
> Dan Halbert wrote:
>
>> Hi, I am using gccxml in conjunction with Boost.Python's pyste tool.
>>
>> I was using gccxml-0.4.2, but wanted to switch to 0.6.0 because of the
>> support for exception specifiers.
>>
>> We are using gcc 3.2.2 on a RH7.3 system. As of gcc 3.3, "__thread"
>> has become a reserved word. This causes problems with my RH7.3
>> /usr/include/pthread.h, which happens to use "__thread" as an ordinary
>> variable name.
>>
>> I #include <pthread.h> in the code I run through gccxml.
>> Without patching my pthread.h, is it possible to get gccxml-0.6.0
>> not to treat "__thread" as a reserved word? I thought it could
>> imitate the behavior of previous compilers, but perhaps this is
>> an exception.
>>
>> I have tried rebuilding gccxml-0.6.0 from scratch, using my gcc 3.2.2
>> as its basis. But the problem persists.
>
>
> I have seen this problem when simulating 2.95 and 2.96 versions of GCC,
> but this is the first time I've seen it for GCC 3.3. Since the conflict
> is with pthread.h, the problem could conceivably occur for any compiler.
> Since parsing other compiler's headers is a general problem for GCC-XML,
> there is a general solution. The Support directory in the source tree
> contains a set of patched headers from various supported compilers.
> These fixed headers are found by GCC-XML's preprocessor before those on
> the system.
>
> There is a directory called GCC_XML/Support/GCC/2.95 in the GCC-XML
> source tree. Copy the file pthread.h from that directory to
> GCC_XML/Support/GCC/3.3. This should add the pthread.h fixes to the
> simulation of the GCC 3.3 compiler. Let me know if this fixes your
> problem and I'll commit the fix upstream.
Oops. I just noticed that you said you are simulating GCC 3.2, not 3.3.
A bit more work is needed to fix this because this is the first time
any patched header is needed for simulating 3.2. I have committed a fix
to the CVS version of GCC-XML. If you are able to try it, please do.
If it fixes your problem I'll merge the fix to the 0.6 release branch to
be included in the 0.6.1 release.
Thanks,
-Brad
More information about the gccxml
mailing list