This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/59712] unordered_map : clang fails with "member access into incomplete type"
- From: "oparcollet.triqs at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 07 Jan 2014 19:39:23 +0000
- Subject: [Bug libstdc++/59712] unordered_map : clang fails with "member access into incomplete type"
- Auto-submitted: auto-generated
- References: <bug-59712-4 at http dot gcc dot gnu dot org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59712
--- Comment #2 from Olivier Parcollet <oparcollet.triqs at gmail dot com> ---
I am not sure.
If I understood correctly, clang is stricter on this sort of issue than gcc,
but I do not know what the standard says.
A minimal version of such code is (from hashtable.h) :
#include <utility>
template<typename T> class A {
int f(int i) const noexcept { return i + 1; }
static_assert(noexcept(std::declval<const A&>().f(0)),"bla bla");
};
int main() {
A<int> a;
}
again gcc compiles it, not clang (same error as before).
Which one is right ?
(even though I don't really see the point of this static_assert in the first
place...).