On Jun 7, 2013, at 7:52 AM, Rafael Espíndola <[email protected]> wrote:

> The attached patch implements the restriction:
> 
> An entity with C language linkage shall not be declared with
> the same name as an entity in global scope, unless both declarations
> denote the same entity.
> 
> It does it by just avoiding overloading in that case. The existing
> error checking for redeclarations then reject the different
> signatures.
> 
> One part of the patch I am not sure about is the changes to the ObjC
> rewriter. It was depending on overloading the extern "C" function
> objc_enumerationMutation.

This is dicey. Argument type to objc_enumerationMutation is ‘id’ which is 
translated into
what ‘id’ is typedef’ed to; “struct objc_object*”. If projects have forward 
declaration of
objc_enumerationMutation in their header files, this will cause conflicting 
types error
for objc_enumerationMutation.
- Fariborz

> 
> Cheers,
> Rafael
> <t.patch>_______________________________________________
> cfe-commits mailing list
> [email protected]
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

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

Reply via email to