[cfe-commits] [PATCH] Merge function types is C.

Rafael EspĂ­ndola rafael.espindola at gmail.com
Wed Nov 28 09:17:56 PST 2012


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: t.patch
Type: application/octet-stream
Size: 1964 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20121128/28a1a753/attachment.obj>


More information about the cfe-commits mailing list