This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/48169] New: compiler is confused about scope
- From: "peterf at silvaco dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 17 Mar 2011 15:44:30 +0000
- Subject: [Bug c++/48169] New: compiler is confused about scope
- Auto-submitted: auto-generated
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