<br>
<div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Linux uses LP64. I'd expect this to be an issue only on Windows 64-bit<br>

builds, where LLP64 is an issue.<br></blockquote><div><br>Just curious, what's LP64/LLP64?<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

This should be fixed by using intptr_t.<br></blockquote><div><br>Doesn't seem to work or maybe I did it wrong?<br><br> error: 'error' diagnostics seen but not expected:<br>  Line 23: use of undeclared identifier 'intptr_t'<br>
  Line 24: use of undeclared identifier 'l'<br>  Line 25: use of undeclared identifier 'l'<br>  Line 27: unknown type name 'intptr_t'<br>16 diagnostics generated.<br><br>void integral_conversion()<br>
{<br>  void *vp = reinterpret_cast<void*>(testval);<br>  intptr_t l = reinterpret_cast<intptr_t>(vp);<br>  (void)reinterpret_cast<float*>(l);<br>  fnptr fnp = reinterpret_cast<fnptr>(l);<br>  (void)reinterpret_cast<char>(fnp); // expected-error {{cast from pointer to smaller type 'char' loses information}}<br>
  (void)reinterpret_cast<intptr_t>(fnp);<br>}<br></div></div>