Enough already with the KDE bug!

Martin von Loewis martin@mira.isdn.cs.tu-berlin.de
Wed Dec 31 10:24:00 GMT 1997


> Enough with this bug report already. There's a patch for this
> available in the KDE sources. It's not legal C++. 

Wait a second. Of course this is not legal C++: __typeof is not
legal C++.

> The union
> declares a new class, and it is not a friend of KProcess, so
> it has no access to the private names of KProcess. So the
> __typeof(status) in the union is illegal.

If so, whose bug is it? The KDE sources say

bool KProcess::normalExit()
{
  return (pid != 0) && (!runs) && (WIFEXITED(status));
}

I cannot see a declaration of a class anywhere, here.  Are you saying
you cannot apply the WIFEXITED macro to a private variable? This is
strange, the Solaris man page of WIFEXITED does mention such a
restriction.

So maybe you are saying the implementation of WIFEXITED in glibc is
wrong. Well, maybe. But why was the bug fix then in KDE and not in
glibc?

Also, please note that typeof is a GNU extension. Where in the info
pages does it say that typeof fails when passing non-accessible C++
members? You are not trying to access the value, you only want the
type.

Regards,
Martin



More information about the Gcc mailing list