Thanks Richard for pointing me some missing cases. The attached patch
takes a step back and merge only the return types.

Richard suggested avoiding the merging when the new Decl is a k&r
definition, but at this point of the code we haven't attached the body
yet. It would also be nice if we could handle both definitions and
declarations uniformly.

I debugged why CodeGen was complaining and the problem is that by
merging just the function types we end up with a ParmVarDecl whose
type doesn't match the corresponding type in the FunctionProtoType and
CodeGen asserts. Two options that would still let us merge the full
types is making CodeGen cope with it (produce a llvm cast) or patching
the type of the ParmVarDecl too. Do you think we should do it?

Cheers,
Rafael

Attachment: t.patch
Description: Binary data

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to