This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/48169] New: compiler is confused about scope


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48169

           Summary: compiler is confused about scope
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: critical
          Priority: P3
         Component: c++
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: peterf@silvaco.com


Created attachment 23695
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23695
gzipped .ii file

The compiler seems to get totally confused about scope.
Here comes the error message:

In file included from
VerilogA/src/vsLexer/../../include/vsParser/vsYYparse.H:22:0,
                 from vsVeriSmartLex.cxx:1652:
VerilogA/src/vsLexer/../../include/vsParser/../vsExpr/vsExpr.H: In member
function ÃâËvirtual CVectorOfVisited CTwoArgumentOperator<P, BCOMMUTATIVE,
KIND, TYPE, CREATEFROMCHILDREN, BDERIVE, DERIVE, GETPOTENTIALREPRESENTATIONS,
TYPE_FLAGS>::getPotentialRepresentations(const visited*,
silvaco::verilogCompiler::CVerilogCompilerArgs*) constÃââ:
VerilogA/src/vsLexer/../../include/vsParser/../vsExpr/vsExpr.H:1985:22: error:
too few arguments to function ÃâËint clone(int (*)(void*), void*, int,
void*)Ãââ
/usr/include/bits/sched.h:71:12: note: declared here
VerilogA/src/vsLexer/../../include/vsParser/../vsExpr/vsExpr.H:1987:25: error:
ÃâËm_sChildrenÃââ was not declared in this scope
VerilogA/src/vsLexer/../../include/vsParser/../vsExpr/vsExpr.H:1989:52: error:
there are no arguments to ÃâËcreateFromChildren1Ãââ that depend on a template
parameter, so a declaration of ÃâËcreateFromChildren1Ãââ must be available
VerilogA/src/vsLexer/../../include/vsParser/../vsExpr/vsExpr.H:1989:52: note:
(if you use ÃâË-fpermissiveÃââ, G++ will accept your code, but allowing the use
of an undeclared name is deprecated)

To make this compileable, 
simply add a 
this-> 
in front of every member object or method:

clone, m_sChildren, createFromChildren1


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]