<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 2, 2021 at 9:44 AM Sebastian Huber <<a href="mailto:sebastian.huber@embedded-brains.de">sebastian.huber@embedded-brains.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 02/02/2021 17:22, Gedare Bloom wrote:<br>
<br>
> OK. This one surprised me (and I'm sure I'm not the only one.)<br>
><br>
> On Tue, Feb 2, 2021 at 7:42 AM Sebastian Huber <br>
> <<a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a> <br>
> <mailto:<a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a>>> wrote:<br>
><br>
>     Change _Objects_Build_name() so that the result is independent of the<br>
>     signedness of char.<br>
><br>
>     Close #4228.<br>
><br>
I don't think it is practically an issue, however, if you want to <br>
specify this function, then it gets a problem. You would have to write <br>
something like: Where the char is signed, ...<br>
<br></blockquote><div><br></div><div>Maybe. I wrote a simple program because I was curious about this behavior.</div><div>int main(int argc, char *argv[])<br>{<br>  unsigned char a = 0xff;<br>  signed char b = 0xff;<br><br>  printf("(uint32_t)a: %u\n(uint32_t)b %u\n", (uint32_t)a, (uint32_t)b);<br><br>  printf("(uint32_t)(uint8_t)a: %u\n(uint32_t)(uint8_t)b %u\n",<br>      (uint32_t)(uint8_t)a, (uint32_t)(uint8_t)b);<br><br>  return 0;<br>}<br></div><div><br></div><div>$ ./a.out</div><div>(uint32_t)a: 255<br>(uint32_t)b 4294967295<br>(uint32_t)(uint8_t)a: 255<br>(uint32_t)(uint8_t)b 255<br></div><div><br></div><div><br></div><div>So, you would get some maybe unpleasant behavior if you have a signed char in the less-significant bytes that you end up sign-extending through the more significant bytes.</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
-- <br>
embedded brains GmbH<br>
Herr Sebastian HUBER<br>
Dornierstr. 4<br>
82178 Puchheim<br>
Germany<br>
email: <a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a><br>
phone: +49-89-18 94 741 - 16<br>
fax:   +49-89-18 94 741 - 08<br>
<br>
Registergericht: Amtsgericht München<br>
Registernummer: HRB 157899<br>
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler<br>
Unsere Datenschutzerklärung finden Sie hier:<br>
<a href="https://embedded-brains.de/datenschutzerklaerung/" rel="noreferrer" target="_blank">https://embedded-brains.de/datenschutzerklaerung/</a><br>
<br>
</blockquote></div></div>