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.cpp14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/shared/cplusplus/CheckDeclarator.cpp b/src/shared/cplusplus/CheckDeclarator.cpp
index 5b19b6cb53..dfb045b3a0 100644
--- a/src/shared/cplusplus/CheckDeclarator.cpp
+++ b/src/shared/cplusplus/CheckDeclarator.cpp
@@ -195,17 +195,9 @@ bool CheckDeclarator::visit(FunctionDeclaratorAST *ast)
}
FullySpecifiedType funTy(fun);
- _fullySpecifiedType = funTy;
-
- for (SpecifierListAST *it = ast->cv_qualifier_list; it; it = it->next) {
- SimpleSpecifierAST *cv = static_cast<SimpleSpecifierAST *>(it->value);
- const int k = tokenKind(cv->specifier_token);
- if (k == T_CONST)
- fun->setConst(true);
- else if (k == T_VOLATILE)
- fun->setVolatile(true);
- }
+ funTy = semantic()->check(ast->cv_qualifier_list, _scope, funTy);
+ _fullySpecifiedType = funTy;
return false;
}
@@ -289,6 +281,8 @@ bool CheckDeclarator::visit(ObjCMethodPrototypeAST *ast)
method->setVariadic(true);
_fullySpecifiedType = FullySpecifiedType(method);
+ _fullySpecifiedType = semantic()->check(ast->attribute_list, _scope,
+ _fullySpecifiedType);
return false;
}