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

            Bug ID: 21437
           Summary: Members declared later in a class appear to be
                    unavailable in noexcept expressions
           Product: clang
           Version: unspecified
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected], [email protected]
    Classification: Unclassified

Consider:

template <typename T>
struct A {
  void f() noexcept(noexcept(m.f())) {
    m.f();
  }
  T m;
};
struct B { void f(); };
int main() {
  A<B> a;
  a.f();
}

Clang produces:
t.cpp:3:30: error: use of undeclared identifier 'm'
  void f() noexcept(noexcept(m.f())) {
                             ^

What gives? Surely A is complete in this context and we can see m?

MSVC "14"'s implementation of <stack> is affected by this bug.

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