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