Skip to content

Commit 4571d8b

Browse files
committed
fix(parser): apply pointers inside function body
Signed-off-by: vibhatsu <maulikbarot2915@gmail.com>
1 parent f8ee665 commit 4571d8b

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

src/parser/parser.y

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5987,6 +5987,16 @@ function_declaration_or_definition
59875987
{
59885988
DeclaratorInfo di = $2;
59895989
TypePtr ret = $1;
5990+
5991+
if (ret && di.is_function && di.pointer_levels > 0) {
5992+
QualifiedType qt = apply_pointer_levels_or_error(QualifiedType(ret, Qualifier::NONE),
5993+
di.pointer_levels,
5994+
"member function pointer definition",
5995+
@1.begin.line,
5996+
@2.begin.column);
5997+
ret = qt.type;
5998+
}
5999+
59906000
if (!parser_state.ctx_stack.empty() && in_class() && parser_state.current_class_type && !di.name.empty()) {
59916001
if (di.is_function) {
59926002
if (di.pointer_levels == 0 && ret) {

0 commit comments

Comments
 (0)