avr-use-correct-addrspace.0
dylanmckay
tagged this
23 Jun 07:16
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.