------- Comment #8 from thierry dot galas at med dot ge dot com  2007-03-26 
13:56 -------
Subject: Re:  undetected class name clash


  Thanks for the explanation,
I agree that it is hard to detect for a compiler to detect ODL violation,
especially if we want to exclude from ODL local classes outside 
anonymous namespace,
but I guess it could be possible at link time, as it is already the case 
for C symbols.
There is already patent  about this  :
http://www.freepatentsonline.com/6149318.html

I understand that this is not an easy task, but if we are not able to do 
this we are dealing with a situation poorer than in C
after telling to people, C++ is great, thanks to name mangling, we have 
safe linkage,
then we are not able to detect double definitions, that are tricky to 
detect especially on large projects where they are likely to occur.
Thanks,
Thierry


bangerth at dealii dot org wrote:
> ------- Comment #7 from bangerth at dealii dot org  2007-03-23 02:13 -------
> (In reply to comment #4)
>   
>> I agree , sure it is invalid ,(no mine at the root)  but a diagnostic 
>> would be nice
>>     
>
> It is very hard for a compiler to detect this because it only sees that there
> is a class 'T'. The compiler would need to know whether the declaration
> came from a header file that both .cc files include or was truly meant to
> be a local class. 
>
> W.
>
>
>   

>   


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31300

Reply via email to