https://llvm.org/bugs/show_bug.cgi?id=26109
Bug ID: 26109 Summary: is_same<const const char*, const char*>::value == false Product: libc++ Version: unspecified Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P Component: All Bugs Assignee: unassignedclangb...@nondot.org Reporter: dan.el...@gmail.com CC: llvm-bugs@lists.llvm.org, mclow.li...@gmail.com Classification: Unclassified I'm using libc++ from the trusty/universe repo: libc++1_1.0~svn199600-1_amd64.deb is_same is used by unordered_map in a static assert to check that the allocator::value_type is the same as the map value_type. The problem is the map defines value_type as pair<const Key, Value>. If Key was already a const type (const char *) in this case, somehow it gets double const qualified and is_same fails. If however, I make a typedef of const char* as CString and then define the allocator type as pair<const CString, Value> the is_same check passes. This seems like a bug to me, double const qualifiers should be ignored by is_same, right? I'm not sure what other compilers do. I hope I reported the bug in the right place, it could well be clang issue. -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs