errors in porting on gcc 3.4.6 from gcc 3.2.3

Lionel B lionelbuk@yahoo.co.uk
Tue May 15 12:19:00 GMT 2007


On Tue, 15 May 2007 04:49:02 -0700, kushwaha wrote:

> Lionel B wrote:
>> 
>> On Tue, 15 May 2007 03:47:03 -0700, kushwaha wrote:
>> 
>>> hi all..
>>> 
>>> Following is the part of a code giving error with gcc 3.4.6  which
>>> previously compiled with gcc 3.2.3.
>> 
>> Are you sure...? Compiling your code (gcc 4.1.2) I get:
>> 
>> error: ‘class HString_Key’ has no member named ‘mpcCallId’ error:
>> ‘class HString_Key’ has no member named ‘mulHashId’
>> 
>> from these lines:
>> 
>>     key.mpcCallId = apcCallId;
>>     key.mulHashId = apcHashId;
>> 
>> and sure enough, your class template HString_Key does not contain those
>> members. I don't see how this could have compiled with gcc 3.2.3.
>> Didn't you mean:
>> 
>>     key.mpcId = apcCallId;
>>     key.mulId = apcHashId;
>> 
>> in Equal_to_HString_Key::Equal_to_HString_Key(...) ? Compiles ok for me
>> with this change.
>> 
>> [...]
>> 
>> --
>> Lionel B
   ^^^^^^^^
Please don't quote sigs.

Please don't top-post (rearranged)

> yes.. the code is correct

... for some slightly strange value of "correct" ;)

> and getting compiled on gcc 3.2.3. i just want
> to know is there is any option to avoid that strict checking on gcc
> 3.4.6 as i can't change the code.

Well, the offending template doesn't actually appear to be used in the 
code, so I guess gcc 3.2.3 just ignored it; I've had a brief look if 
there are any flags for gcc that might suppress checking of templates 
that are never instantiated, but couldn't find anything that works. Sorry,

-- 
Lionel B



More information about the Gcc-help mailing list