http://llvm.org/bugs/show_bug.cgi?id=16449

Richard Smith <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |[email protected]
         Resolution|---                         |INVALID

--- Comment #1 from Richard Smith <[email protected]> ---
Templates seem to be a red herring here. Clang accepts this too:


class Base {
private:             
  friend void foo(); 
  void bar();  
};

class Derived : public Base {};

void foo() { Derived().bar(); }


And indeed this all appears to be correct. Per [class.access.spec]p5, the
member 'bar' is accessible within 'foo' when named in class 'Derived', because
there exists a base class 'Base' of 'Derived' that is accessible within 'foo',
and 'bar' is accessible within 'foo' when named in class 'Base'.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to