<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On Jun 7, 2013, at 7:52 AM, Rafael Espíndola <<a href="mailto:rafael.espindola@gmail.com">rafael.espindola@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">The attached patch implements the restriction:<br><br>An entity with C language linkage shall not be declared with<br>the same name as an entity in global scope, unless both declarations<br>denote the same entity.<br><br>It does it by just avoiding overloading in that case. The existing<br>error checking for redeclarations then reject the different<br>signatures.<br><br>One part of the patch I am not sure about is the changes to the ObjC<br>rewriter. It was depending on overloading the extern "C" function<br>objc_enumerationMutation.<br></div></blockquote><div><br></div>This is dicey. Argument type to objc_enumerationMutation is ‘id’ which is translated into</div><div>what ‘id’ is typedef’ed to; “struct objc_object*”. If projects have forward declaration of</div><div>objc_enumerationMutation in their header files, this will cause conflicting types error</div><div>for objc_enumerationMutation.</div><div>- Fariborz</div><div><br><blockquote type="cite"><div style="letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br>Cheers,<br>Rafael<br><span><t.patch></span>_______________________________________________<br>cfe-commits mailing list<br><a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a></div></blockquote></div><br></body></html>