Skip to content

avr-use-correct-addrspace.0

The code was not checking the "function-ness" of the type at the correct
level. It was checking the "root type", which may be, say a struct, but
would use that exclusively for classifying the address spaces of the
fields within the struct. A function pointer within a struct would
be incorrectly defined with address space 0 only because its parent struct
is in address space 0.

This patch also moves the address space classification logic for
constants down a layer, which allows removal of the address space
parameter from a few functions, and fixes the problem at the source
rather than patching over top of it in a method higher up in the call
stack.
Assets 2
Loading