Package: gcc-3.0 Version: 1:3.0.4-7 Severity: important When I try to compile C++ code with virtual inheritance and variable number of argument method, the compilation fails with the following message :
bugreport.cpp:35: generic thunk code fails for method `virtual void Virt::p(const char*, ...)' which uses `...' It is working fine with gcc 2. I have attached a very little code that shows the problem. I have also attached a simple makefile. To compile under woody with gcc version 2 type: make v2 and to compile with gcc 3, type : make v3 Thanks Stephane -- System Information Debian Release: 3.0 Kernel Version: Linux nctlin.ysagoon.com 2.4.18-k7 #1 Sun Apr 14 13:19:11 EST 2002 i686 unknown Versions of the packages gcc-3.0 depends on: ii binutils 2.12.90.0.1-4 The GNU assembler, linker and binary utiliti ii cpp-3.0 3.0.4-7 The GNU C preprocessor. ii gcc-3.0-base 3.0.4-7 The GNU Compiler Collection (base package). ii libc6 2.2.5-6 GNU C Library: Shared libraries and Timezone ii libgcc1 3.1.1-0pre2 GCC support library.
#include <stdio.h> #include <stdarg.h> class Base { public: Base() { } virtual void p(const char *format, ...)=0; }; class Der1: public virtual Base { public: Der1():Base() { } virtual void p(const char *format, ...)=0; }; class Der2: public virtual Base { public: Der2():Base() { } virtual void p(const char *format, ...)=0; }; class Virt:public virtual Der1, public virtual Der2 { public: Virt():Der1(),Der2() { } virtual void p(const char *format, ...) { va_list arglist; va_start(arglist,format); vprintf(format, arglist); va_end(arglist); } }; int main(int argc, char *argv[]) { Virt v; v.p("Hello %d\n", 10); }
v2: bugreport.cpp gcc -Wall bugreport.cpp -obr v3: bugreport.cpp gcc-3.0 -Wall bugreport.cpp -obr clean: rm br