summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaDeclCXX.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2008-10-15 20:23:22 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2008-10-15 20:23:22 +0000
commit2e3e75630471a3fb1f9014563e56d8402dd9ecb7 (patch)
treeb3f32f4daee1804c06f2c957b9e817821a463012 /clang/lib/Sema/SemaDeclCXX.cpp
parentba13e8db177f098be8aec23444c9621af3092a59 (diff)
downloadbcm5719-llvm-2e3e75630471a3fb1f9014563e56d8402dd9ecb7.tar.gz
bcm5719-llvm-2e3e75630471a3fb1f9014563e56d8402dd9ecb7.zip
Fix this bug:
typedef int f(); struct S { f *x; // incorrectly assuming this is function decl, leading to failed assertions. }; llvm-svn: 57598
Diffstat (limited to 'clang/lib/Sema/SemaDeclCXX.cpp')
-rw-r--r--clang/lib/Sema/SemaDeclCXX.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp
index 2fae627ea6a..e06761f1ba8 100644
--- a/clang/lib/Sema/SemaDeclCXX.cpp
+++ b/clang/lib/Sema/SemaDeclCXX.cpp
@@ -353,7 +353,9 @@ Sema::ActOnCXXMemberDeclarator(Scope *S, AccessSpecifier AS, Declarator &D,
}
bool isFunc = D.isFunctionDeclarator();
- if (!isFunc && D.getDeclSpec().getTypeSpecType() == DeclSpec::TST_typedef) {
+ if (!isFunc &&
+ D.getDeclSpec().getTypeSpecType() == DeclSpec::TST_typedef &&
+ D.getNumTypeObjects() == 0) {
// Check also for this case:
//
// typedef int f();
OpenPOWER on IntegriCloud