<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 Sep 23, 2014, at 4:35 PM, John McCall <<a href="mailto:rjmccall@apple.com">rjmccall@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;"><div><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div><br></div><div>For sizeof, the mangling prefix is either “st” or “sz”, respectively.</div><div>So let’s use these manglings:</div><div><br></div><div><font face="Courier">  u8__uuidoft <type>          # __uuidof (a type)</font></div><div><font face="Courier">  u8__uuidofz <expression>    # __uuidof (an expression)</font></div></div></blockquote><div><br></div>Hi John,</div><div>Please review the new patch.</div></div></blockquote><div><br></div>Looks good.  Please also test the dependent cases; this would look something like:</div><div><br></div><div>template <class T> void test_uuidofType(void(*arg)[sizeof(__uuidof(T))] = 0) {}</div><div>template <class T> void test_uuidofExpr(void(*arg)[sizeof(__uuidof(T::member))] = 0) {}</div><div>struct HasMember { typedef TestStruct member; };</div><div>void test() {</div><div>  test_uuidofType<TestStruct>();</div><div>  test_uuidofExpr<HasMember>();</div><div>}</div><div><br></div></div></blockquote><div><br></div>Thanks. In r<span style="font-family: Menlo; font-size: 11px;">218384.</span></div><div><font face="Menlo"><span style="font-size: 11px;">- Fariborz</span></font></div><div><font face="Menlo"><span style="font-size: 11px;"><br></span></font><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div>John.</div></div></blockquote></div><br></body></html>