This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Patch, Fortran] PR 42353: [OOP] Bogus Error: Name 'vtype$...' at (1) is an ambiguous reference ...
> Ok, I think I got it. Basically, one just has to do the same thing one
> does to the vtypes also to the vtabs, i.e. making both of them PRIVATE
> makes all errors in the PR vanish. The attached patch has been
> regtested successfully. I will commit it once Harald confirms that he
> sees no further problems (and provided no one else protests).
Committed as r155494. Thanks to Harald for reporting this bug.
Cheers,
Janus
>>>> 2009/12/17 Janus Weil <janus@gcc.gnu.org>:
>>>>>> the attached patch fixes a small OOP problem, where under certain
>>>>>> circumstances one would get 'ambiguous reference' errors for the
>>>>>> vtypes. The easiest thing I could think of to fix this is to make the
>>>>>> vtypes private, which means that each module which uses a vtype will
>>>>>> have its own private copy (which in principle should not be a problem,
>>>>>> should it?).
>>>>>
>>>>> In contrast to the patch I sent earlier, the version attached here
>>>>> also fixes the second error in the PR, which I almost forgot about
>>>>> ("Error: The element in the derived type constructor at (1), for
>>>>> pointer component '$extends', is DERIVED but should be DERIVED").
>>>>>
>>>>> Although the patch obviously works, I'm not sure if it may have any
>>>>> negative consequences and if it's the best thing to do. At least it
>>>>> fixes the test case and regtests cleanly.
>>>>>
>>>>> Comments? Suggestions? Ok for trunk?
>>>>>
>>>>> Cheers,
>>>>> Janus
>>
>