summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaDeclCXX.cpp
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-03-23 19:10:31 +0000
committerAnders Carlsson <andersca@mac.com>2009-03-23 19:10:31 +0000
commiteb0c532faa826e512c4513aae918125f72007748 (patch)
treea0863a7912e65967a96680d4732cb8f9850ac480 /clang/lib/Sema/SemaDeclCXX.cpp
parent1773177a9922e59d1d6bff099f6a79741bca58fb (diff)
downloadbcm5719-llvm-eb0c532faa826e512c4513aae918125f72007748.tar.gz
bcm5719-llvm-eb0c532faa826e512c4513aae918125f72007748.zip
More improvements to abstract type checking. Handle arrays correctly, and make sure to check parameter types before they decay.
llvm-svn: 67550
Diffstat (limited to 'clang/lib/Sema/SemaDeclCXX.cpp')
-rw-r--r--clang/lib/Sema/SemaDeclCXX.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp
index ad2dba7ce4b..6f33c005265 100644
--- a/clang/lib/Sema/SemaDeclCXX.cpp
+++ b/clang/lib/Sema/SemaDeclCXX.cpp
@@ -788,6 +788,9 @@ bool Sema::RequireNonAbstractType(SourceLocation Loc, QualType T,
if (!getLangOptions().CPlusPlus)
return false;
+
+ if (const ArrayType *AT = Context.getAsArrayType(T))
+ return RequireNonAbstractType(Loc, AT->getElementType(), DiagID, SelID);
const RecordType *RT = T->getAsRecordType();
if (!RT)
OpenPOWER on IntegriCloud