<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 Mar 5, 2014, at 11:19 , Argyrios Kyrtzidis <<a href="mailto:kyrtzidis@apple.com">kyrtzidis@apple.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=windows-1252"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On Mar 5, 2014, at 9:29 AM, Jordan Rose <<a href="mailto:jordan_rose@apple.com">jordan_rose@apple.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=us-ascii"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div><br></div><br><div><div>On Mar 4, 2014, at 22:47 , Argyrios Kyrtzidis <<a href="mailto:akyrtzi@gmail.com">akyrtzi@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span style="font-family: Monaco; font-size: 10px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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; float: none; display: inline !important;">-  if (!T->isObjCIdType() && !T->isObjCQualifiedIdType()) {</span><br style="font-family: Monaco; font-size: 10px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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;"><span style="font-family: Monaco; font-size: 10px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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; float: none; display: inline !important;">+  if (!T->isObjCIdType() && !T->isObjCQualifiedIdType() &&</span><br style="font-family: Monaco; font-size: 10px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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;"><span style="font-family: Monaco; font-size: 10px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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; float: none; display: inline !important;">+      !T->isObjCClassType() && !T->isObjCQualifiedClassType() &&</span><br style="font-family: Monaco; font-size: 10px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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;"><span style="font-family: Monaco; font-size: 10px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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; float: none; display: inline !important;">+      !T->isObjCSelType()) {</span><br style="font-family: Monaco; font-size: 10px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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;"></blockquote></div><br><div>SEL isn't an ObjCObjectPointer. (It's an opaque pointer type, but not to an object.)</div></div></blockquote><div><br></div><div>There’s a check and logic for T->isObjCSelType() earlier in the function so I’m not sure if it’s dead code or not.</div></div></div></blockquote><div><br></div><div>Yes, that's definitely dead. In fact, now I wonder if we're printing SEL correctly.</div></div><div><br></div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(76, 47, 45); background-color: rgb(223, 219, 196);">% echo 'SEL foo;' | clang -Xclang -ast-print -x objective-c -fsyntax-only -</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(76, 47, 45); background-color: rgb(223, 219, 196);">typedef SEL *SEL;</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(76, 47, 45); background-color: rgb(223, 219, 196);">typedef id id;</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(76, 47, 45); background-color: rgb(223, 219, 196);">typedef Class *Class;</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(76, 47, 45); background-color: rgb(223, 219, 196);">SEL foo;</div><div><br></div><div>Yes, looks like we're okay. Slightly funny-looking, but correct.</div><div>Jordan</div></body></html>