I don't fully understand the vtable-layout avr-g++ uses on the AVR platform.
I found that for a class hierarchy without a virtual dtor the vtable of a type looks like
(always) 0
(always) 0
ptrToFunc1
ptrToFunc2
...
In the case of a virtual dtor it looks like
(always) 0
(always) 0
dtor
dtor
ptrToFunc1
ptrToFunc2
...
The questions are:
1) what are the first two entries for? 2) why are there two entries for dtors?
and
3) can one save the first two entries (they seem to be 0 in every case)?