summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/CheckDeclarator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/cplusplus/CheckDeclarator.cpp')
-rw-r--r--src/shared/cplusplus/CheckDeclarator.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/shared/cplusplus/CheckDeclarator.cpp b/src/shared/cplusplus/CheckDeclarator.cpp
index beb2ed0bca..169a9f5d81 100644
--- a/src/shared/cplusplus/CheckDeclarator.cpp
+++ b/src/shared/cplusplus/CheckDeclarator.cpp
@@ -135,9 +135,12 @@ bool CheckDeclarator::visit(DeclaratorAST *ast)
// ### check the initializer
// FullySpecifiedType exprTy = semantic()->check(ast->initializer, _scope);
- if (ast->initializer && _fullySpecifiedType->isFunction()) {
- _fullySpecifiedType->asFunction()->setPureVirtual(true);
+ if (ast->initializer && _fullySpecifiedType) {
+ if (Function *funTy = _fullySpecifiedType->asFunctionType()) {
+ funTy->setPureVirtual(true);
+ }
}
+
return false;
}