summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaDeclCXX.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2009-05-18 21:08:14 +0000
committerDouglas Gregor <dgregor@apple.com>2009-05-18 21:08:14 +0000
commit655fc35fcd1394727cbc5a70b154f0b0b8d7368f (patch)
treeb2248c41a892deea8c890ca333f3f2e964f6a8b7 /clang/lib/Sema/SemaDeclCXX.cpp
parentc65c525617e3f2cd4d1c0902562a9ee064e90b09 (diff)
downloadbcm5719-llvm-655fc35fcd1394727cbc5a70b154f0b0b8d7368f.tar.gz
bcm5719-llvm-655fc35fcd1394727cbc5a70b154f0b0b8d7368f.zip
Deal with an icky corner case where we were complaining that a catch
statement was using an rvalue reference during the template definition. However, template instantiations based on an lvalue reference type are well-formed, so we delay checking of these property until template instantiation time. llvm-svn: 72041
Diffstat (limited to 'clang/lib/Sema/SemaDeclCXX.cpp')
-rw-r--r--clang/lib/Sema/SemaDeclCXX.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp
index d968bc6b75a..78123015a37 100644
--- a/clang/lib/Sema/SemaDeclCXX.cpp
+++ b/clang/lib/Sema/SemaDeclCXX.cpp
@@ -2553,7 +2553,7 @@ VarDecl *Sema::BuildExceptionDeclaration(Scope *S, QualType ExDeclType,
// The exception-declaration shall not denote a pointer or reference to an
// incomplete type, other than [cv] void*.
// N2844 forbids rvalue references.
- if(ExDeclType->isRValueReferenceType()) {
+ if(!ExDeclType->isDependentType() && ExDeclType->isRValueReferenceType()) {
Diag(Loc, diag::err_catch_rvalue_ref) << Range;
Invalid = true;
}
OpenPOWER on IntegriCloud