[LLVMdev] dragonegg svn still broken

Jay Foad jay.foad at gmail.com
Tue Jul 26 00:40:09 PDT 2011


On 26 July 2011 08:01, Duncan Sands <baldrick at free.fr> wrote:
>> Right, there are similar cases involving function pointers etc.  For example, here's an evil case where converting a struct converts a function pointer that wants the struct being converted (kudos to Eli):
>>
>> struct foo {
>>    void (*FP)(struct foo);
>> } g;
>
> I don't understand this - are function types with an opaque argument type not
> allowed?  If so, why aren't they allowed?

As I understand it, conversion from a C function type to an LLVM
function type depends on target ABI details like whether a struct is
passed in multiple integer registers, and you can only work this out
properly if the parameter types and return type are complete.

Jay.




More information about the llvm-dev mailing list