<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Feb 4, 2015 at 1:16 PM, Daniel Gutson <span dir="ltr"><<a href="mailto:daniel.gutson@tallertechnologies.com" target="_blank">daniel.gutson@tallertechnologies.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Sebastian,<div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Wed, Feb 4, 2015 at 10:46 AM, Sebastian Huber <span dir="ltr"><<a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">---<br>
 cpukit/libcsupport/include/rtems/libio.h | 10 ++++++++++<br>
 1 file changed, 10 insertions(+)<br>
<br>
diff --git a/cpukit/libcsupport/include/rtems/libio.h b/cpukit/libcsupport/include/rtems/libio.h<br>
index a4607de..998cd30 100644<br>
--- a/cpukit/libcsupport/include/rtems/libio.h<br>
+++ b/cpukit/libcsupport/include/rtems/libio.h<br>
@@ -1442,6 +1442,16 @@ static inline dev_t rtems_filesystem_make_dev_t(<br>
   return temp.device;<br>
 }<br>
<br>
+static inline dev_t rtems_filesystem_make_dev_t_from_pointer(<br>
+  const void *pointer<br>
+)<br>
+{<br>
+  uint64_t one = 1;<br>
+  uint64_t temp = (one << 63) | (((uintptr_t) pointer) >> 1);<br></blockquote><div><br></div></span><div>Sorry the irrelevant detail, but may I ask why not</div><div><br></div><div>    (((uint64_t)1) << 63) ...</div><div><br></div><div>?</div><div><br></div><div>I know that anyway the variable will likely be optimized out.</div></div></div></div></blockquote><div><br></div><div>FWIW, gcc without optimization flags produces different code (thouth -O2 produces the same).</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class=""><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
+<br>
+  return rtems_filesystem_make_dev_t((uint32_t) (temp >> 32), (uint32_t) temp);<br>
+}<br>
+<br>
 static inline rtems_device_major_number rtems_filesystem_dev_major_t(<br>
   dev_t device<br>
 )<br>
<span><font color="#888888">--<br>
1.8.1.4<br>
<br>
_______________________________________________<br>
devel mailing list<br>
<a href="mailto:devel@rtems.org" target="_blank">devel@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/devel" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a><br>
</font></span></blockquote></span></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br><div><br>Daniel F. Gutson<br>Chief Engineering Officer, SPD<br><br>San Lorenzo 47, 3rd Floor, Office 5<br>Córdoba, Argentina<br><br>Phone:   +54 351 4217888 / +54 351 4218211<br>Skype:    dgutson<br>LinkedIn: <a href="http://ar.linkedin.com/in/danielgutson" target="_blank">http://ar.linkedin.com/in/danielgutson</a><br></div>
</font></span></div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><br>Daniel F. Gutson<br>Chief Engineering Officer, SPD<br><br>San Lorenzo 47, 3rd Floor, Office 5<br>Córdoba, Argentina<br><br>Phone:   +54 351 4217888 / +54 351 4218211<br>Skype:    dgutson<br>LinkedIn: <a href="http://ar.linkedin.com/in/danielgutson" target="_blank">http://ar.linkedin.com/in/danielgutson</a><br></div>
</div></div>