egcs-971023: Can't access private member in member function?
kwrohrer@enteract.com
kwrohrer@enteract.com
Mon Oct 27 22:41:00 GMT 1997
I can confirm this problem, at least with the egcs-2.90.12p 971008
(gcc2-970802 experimental) version of the compiler, and the KDE
libraries.
Building kdecore/kprocess.cpp, I get the following errors (and non-
errors):
jadrek:/usr/src/kdelibs/kdecore# g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/include -I/usr/X11R6/include -O6 -Wall -DKDEDIR=\"/usr/local/\" -c -fPIC -DPIC kprocess.cpp
kprocess.cpp: In method `bool KProcess::normalExit()':
kprocess.cpp:215: member `status' is a private member of class `KProcess'
kprocess.cpp: In method `int KProcess::exitStatus()':
kprocess.cpp:222: member `status' is a private member of class `KProcess'
but using -bi486-linux -V2.7.2.1, I get a successful compilation. This error
occurs even if I preprocess with 2.7.2.1. Relevant sections of kprocess.cpp
and kprocess.ii:
bool KProcess::normalExit()
{
return (pid != 0) && (!runs) && (WIFEXITED(status));
}
/* becomes: */
bool KProcess::normalExit()
{
return (pid != 0) && (!runs) && (((( (__extension__ ({ union { __typeof( stat
us ) __in; int __i; } __u; __u.__in = ( status ); __u.__i; })) ) & 0xff)
== 0) );
}
int KProcess::exitStatus()
{
return WEXITSTATUS(status);
}
/* becomes: */
int KProcess::exitStatus()
{
return ((( (__extension__ ({ union { __typeof( status ) __in; int __i; } __u
; __u.__in = ( status ); __u.__i; })) ) & 0xff00) >> 8) ;
}
Keith
More information about the Gcc-bugs
mailing list