User account creation filtered due to spam.

Bug 46748

Summary: Error "using typename" in template class
Product: gcc Reporter: Ian Lance Taylor <ian>
Component: c++Assignee: Not yet assigned to anyone <unassigned>
Severity: normal    
Priority: P3    
Version: 4.6.0   
Target Milestone: ---   
Host: Target:
Build: Known to work:
Known to fail: Last reconfirmed:

Description Ian Lance Taylor 2010-12-01 15:23:25 UTC
When I compile this test case:

template<typename T> class B 
  typedef int T2;
  static void F(T* f, T2* v);

template<typename T> class D : public B<T>
  using typename B<T>::T2;
  using B<T>::F;

  static void F2(T* f) {
    T2 v;
    F(f, &v);

with current mainline, I get this: In static member function ‘static void D<T>::F2(T*)’: error: expected ‘;’ before ‘v’ error: ‘v’ was not declared in this scope

As far as I can see, this should work without an error.
Comment 1 Jonathan Wakely 2010-12-01 15:33:56 UTC
another dup of PR 14258 ?
Comment 2 Andrew Pinski 2010-12-01 15:46:29 UTC
(In reply to comment #1)
> another dup of PR 14258 ?


*** This bug has been marked as a duplicate of bug 14258 ***