This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 76172 - parser failed on forward function declaration without explicit return type
Summary: parser failed on forward function declaration without explicit return type
Status: RESOLVED FIXED
Alias: None
Product: cnd
Classification: Unclassified
Component: Code Model (show other bugs)
Version: 5.x
Hardware: All All
: P4 blocker (vote)
Assignee: nnnnnk
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-05-10 18:14 UTC by Vladimir Voskresensky
Modified: 2011-01-24 12:36 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vladimir Voskresensky 2006-05-10 18:14:21 UTC
Example function_wo_ret_type.cpp:
=========
wo() {
    return 0;
}

wo();

===========
Parser failed with message:
# Parsing function_wo_ret_type.cpp
external_declaration_7a[1]: Function definition without ret value
external_declaration_12[5]: Declaration
function_wo_ret_type.cpp:5:4: unexpected token: )
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.declarator(CPPParser.java:7086)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.direct_declarator(CPPParser.java:5511)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.declarator(CPPParser.java:7081)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.init_declarator(CPPParser.java:6997)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.init_declarator_list(CPPParser.java:2053)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.declaration(CPPParser.java:1637)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.external_declaration(CPPParser.java:1488)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.translation_unit(CPPParser.java:440)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.doParse(FileImpl.java:205)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.parse(FileImpl.java:170)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.test(TraceModel.java:398)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.test(TraceModel.java:194)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.main(TraceModel.java:55)
function_wo_ret_type.cpp:5:5: expecting RPAREN, found ';'
        at antlr.Parser.match(Parser.java:211)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.direct_declarator(CPPParser.java:5516)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.declarator(CPPParser.java:7081)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.init_declarator(CPPParser.java:6997)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.init_declarator_list(CPPParser.java:2053)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.declaration(CPPParser.java:1637)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.external_declaration(CPPParser.java:1488)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.translation_unit(CPPParser.java:440)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.doParse(FileImpl.java:205)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.parse(FileImpl.java:170)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.test(TraceModel.java:398)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.test(TraceModel.java:194)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.main(TraceModel.java:55)
function_wo_ret_type.cpp:7:5: unexpected token: with
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.init_declarator(CPPParser.java:7033)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.init_declarator_list(CPPParser.java:2053)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.declaration(CPPParser.java:1637)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.external_declaration(CPPParser.java:1488)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.translation_unit(CPPParser.java:440)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.doParse(FileImpl.java:205)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.parse(FileImpl.java:170)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.test(TraceModel.java:398)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.test(TraceModel.java:194)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.main(TraceModel.java:55)
function_wo_ret_type.cpp:9:1: expecting EOF, found '}'
        at antlr.Parser.match(Parser.java:211)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.translation_unit(CPPParser.java:452)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.doParse(FileImpl.java:205)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.parse(FileImpl.java:170)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.test(TraceModel.java:398)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.test(TraceModel.java:194)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.main(TraceModel.java:55)
Comment 1 Vladimir Kvashin 2007-02-12 18:31:52 UTC
Parser does not fail any more;
but there are no information concerning this function forward declaration in model.
Comment 2 Vladimir Kvashin 2007-02-12 18:34:31 UTC
Example with paramter has the same effect:

wo_2(int);

wo_2(int p) {
	return 0;
}
Comment 3 nnnnnk 2009-02-04 12:19:14 UTC
There is no problems with definitions now.

Comment 4 Vladimir Voskresensky 2009-02-04 12:35:51 UTC
in my case both examples show errors:
wo_2(int);
wo();