[LLVMbugs] [Bug 11922] New: 'using' forward-declared template in another namespace ignores default arguments

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sat Feb 4 06:48:37 PST 2012


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

             Bug #: 11922
           Summary: 'using' forward-declared template in another namespace
                    ignores default arguments
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: nobled at dreamwidth.org
                CC: dgregor at apple.com, llvmbugs at cs.uiuc.edu
    Classification: Unclassified


Using clang SVN r149772, this fails with a 'too few template arguments' error.
g++ 4.5 doesn't give any errors at all. (Given error/note in comments:)

namespace llvm {
  template<typename KeyT, typename ValueT,
           typename KeyInfoT,
           typename ValueInfoT> class DenseMap; // note: template is declared
here
  template<typename T> struct DenseMapInfo;
}

namespace clang {
  using llvm::DenseMap;
  using llvm::DenseMapInfo;
}

namespace llvm {

template<typename KeyT, typename ValueT,
         typename KeyInfoT = DenseMapInfo<KeyT>,
         typename ValueInfoT = DenseMapInfo<ValueT> >
class DenseMap {
};

} // end namespace llvm

namespace clang {
  class DiagState {
    DenseMap<unsigned, int> DiagMap; // error: too few template arguments for
class template 'DenseMap'
  };
}

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list