From 964dbda0e99007bb2e6e9da6ab413f24e635327f Mon Sep 17 00:00:00 2001 From: Eli Friedman Date: Fri, 6 Aug 2010 23:41:47 +0000 Subject: PR7837: For qualified id's, make sure the decl context is complete if not dependent in ActOnIdExpression. (This issue only shows up with member operators because an operator is never a type.) llvm-svn: 110486 --- clang/test/SemaTemplate/dependent-class-member-operator.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 clang/test/SemaTemplate/dependent-class-member-operator.cpp (limited to 'clang/test/SemaTemplate/dependent-class-member-operator.cpp') diff --git a/clang/test/SemaTemplate/dependent-class-member-operator.cpp b/clang/test/SemaTemplate/dependent-class-member-operator.cpp new file mode 100644 index 00000000000..d70a60cfdfa --- /dev/null +++ b/clang/test/SemaTemplate/dependent-class-member-operator.cpp @@ -0,0 +1,11 @@ +// RUN: %clang_cc1 -fsyntax-only -verify %s +// PR7837 + +template struct C1 { void operator()(T); }; +template struct C2; // expected-note {{template is declared here}} +template void foo(T); +void wrap() { + foo(&C1::operator()); + foo(&C1::operator+); // expected-error {{no member named 'operator+' in 'C1'}} + foo(&C2::operator+); // expected-error {{implicit instantiation of undefined template 'C2'}} +} -- cgit v1.2.3