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

            Bug ID: 19613
           Summary: -fdelayed-template-parsing vs. out-of-line definition
                    of inner class method
           Product: clang
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: Frontend
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
            Blocks: 18887
    Classification: Unclassified

The following code fails to compile with -fdelayed-template-parsing:

struct HeapTypeConfig {
  static void from_bitset();
};

template <class Config>
struct TypeImpl  {
  struct BitsetType;

  static void Any() {
    BitsetType::New();
  }
};

template<class Config>
struct TypeImpl<Config>::BitsetType {
  static void New() {
    Config::from_bitset();
  }
};


/tmp/a.cc:17:5: error: use of undeclared identifier 'Config'
    Config::from_bitset();
    ^
/tmp/a.cc:22:29: note: in instantiation of member function
'TypeImpl<HeapTypeConfig>::Any' requested here
  TypeImpl<HeapTypeConfig>::Any();
                            ^

-- 
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