Results of a test mass rebuild of rawhide-20090126 with gcc-4.4.0-0.9
Jason L Tibbitts III
tibbs at math.uh.edu
Tue Feb 3 23:40:33 UTC 2009
>>>>> "JJ" == Jakub Jelinek <jakub at redhat.com> writes:
JJ> - 30 failures
JJ> Unsorted stuff that succeeds to build with 4.3 and fails to build
JJ> with 4.4.
Unfortunately this includes my package xu4, and while I do have some
C++ experience (college was some time ago), the exact reason this has
just started failing with 4.4 is eluding me.
The code does this:
/**
* An abstract interface for file access.
*/
class U4FILE {
public:
virtual ~U4FILE() {}
virtual void close() = 0;
virtual int seek(long offset, int whence) = 0;
virtual long tell() = 0;
virtual size_t read(void *ptr, size_t size, size_t nmemb) = 0;
virtual int getc() = 0;
virtual int putc(int c) = 0;
virtual long length() = 0;
int getshort();
};
which, while fine in GCC 4.3, produces this with GCC 4.4:
u4file.h:66:27: error: macro "putc" requires 2 arguments, but only 1 given
u4file.h:66: error: ISO C++ forbids initialization of member 'putc'
u4file.h:66: error: making 'putc' static
u4file.h:66: error: ISO C++ forbids in-class initialization of non-const static member 'putc'
u4file.h:66: error: 'putc' declared as a 'virtual' field
The purpose is to inherit from this base class and replace some
methods with variants that transparently operate on zip files. I'm
guessing here that putc has become a macro and that I need to rename
the putc member, but that mightn't be a small patch so I figured I'd
check for a simpler way before trying to hack that up.
- J<
More information about the devel
mailing list