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

Reply via email to