Compiling C++ class with virtual methods results in virtual table that looks like this: 98 _ZTV11auzaBilling: 99 0000 0000 .word 0 100 0002 0000 .word 0 101 0004 0000 .word pm(_ZN11auzaBillingD1Ev) 102 0006 0000 .word pm(_ZN11auzaBillingD0Ev) 103 0008 0000 .word pm(_ZN11auzaBilling14prepareBillingEv)
After reviewing assembly listing, I found out that first 4 bytes are not used anywhere. Is there a way to prevent compiler (like "-no-rtti") from generating them? COMPILER DETAILS: Configured with: ../gcc-3.4.1/configure --prefix=e:/avrdev/install --build=mingw32 --host=mingw32 --target=avr --enable-languages=c,c++ Thread model: single gcc version 3.4.1 COMMAND LINE: avr-g++ -c -Wall -I${avr}\Include -IE:\Projects\Munshu\Software\C\GSM\Inc -mmcu=atmega128 -g -v -Os -fno-exceptions -fno-vtable-thunks -fno-rtti -- Summary: VTABLE emits unused bytes on avr target Product: gcc Version: 3.4.1 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: intelliguy_sa at hotmail dot com CC: gcc-bugs at gcc dot gnu dot org GCC target triplet: avr http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18621