[PATCH] PR19095 Undefined reference to friend template function defined inside template class

suyog sarda sardask01 at gmail.com
Fri Apr 4 09:26:38 PDT 2014


Gentle Ping !! Please help in reviewing this small patch. Its a humble
request :)


On Tue, Apr 1, 2014 at 10:25 PM, suyog sarda <sardask01 at gmail.com> wrote:

> Hi,
>
> Attaching patch for bug 19095. Please help in reviewing the same.
>
> Also, I haven't attached a test case yet in the patch as i am not sure how
> it should be and in which file it should be.
>
> In my opinion, the test case would go into *tools/clang/test/SemaCXX/friend.cpp
> *would be something like below (similar to that mentioned in the bug)
>
>
>
> *template <class T>void f(T); *
>
> *void h(T);*
>
>
>
>
>
>
>
> *template <class U>class C{  template <class T>  friend void f(T)  {*
>
> *     int x = 1;*
>
> *  }*
>
> * template <class T>*
>
> *  friend void h(T); *
>
>
>
>
>
>
> *  public :     void g()      {       f(3.0); // OK*
>
> *       h(2.0); // error : undefined reference to function h*
>
>
>
>
>
>
>
> *     }    int i;};void h () {  f(7); // OK*
>
> *  h(6); // error : undefined reference to function h*
>
>
> *  C<double> c;  c.g();}*
>
> Please help in reviewing the patch as well as the test case.
>
>
> --
> With regards,
> Suyog Sarda
>



-- 
With regards,
Suyog Sarda
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140404/f846e4fc/attachment.html>


More information about the cfe-commits mailing list