[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