[LLVMbugs] [Bug 24242] New: Misleading diagnostics when template being specialized is ambiguous

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri Jul 24 02:12:22 PDT 2015


https://llvm.org/bugs/show_bug.cgi?id=24242

            Bug ID: 24242
           Summary: Misleading diagnostics when template being specialized
                    is ambiguous
           Product: clang
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
          Assignee: unassignedclangbugs at nondot.org
          Reporter: rs2740 at gmail.com
                CC: dgregor at apple.com, llvmbugs at cs.uiuc.edu
    Classification: Unclassified

Consider:

namespace A {
    inline namespace B { template<class> struct C; }
    template<class> struct C;
    template<> struct C<int>{};
}

Name lookup for `C` is obviously ambiguous, but the resulting error message
doesn't mention that at all:

prog.cc:4:23: error: explicit specialization of non-template struct 'C'
    template<> struct C<int>{};
                      ^~~~~~
prog.cc:4:23: error: redefinition of 'C' as different kind of symbol
prog.cc:3:28: note: previous definition is here
    template<class> struct C;
                           ^
2 errors generated.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20150724/ec2b9c0b/attachment.html>


More information about the llvm-bugs mailing list