<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The compiler has documented sizes for fundamental types which can be<br>
used to define the types in this file. Eg)<br>
<br>
typedef signed char        int8_t;<br>
typedef short              int16_t;<br>
typedef int                int32_t;<br>
<br>
Nothing says we cannot provide this in similar fashion for our<br>
stdint.h; though, as I pointed out, that could make this file *very*<br>
ugly with a bunch of target-specific #ifs everywhere to ensure the<br>
proper definitions of *int*_t and friends. I can understand not<br>
wanting to do that (especially since the compiler already has this<br>
information internally).</blockquote><div><br></div><div>The compiler guaranteeing something is different from that guarantee being in the language. C and C++ standard libraries like newlib target multiple compilers and can't rely on what LLVM guarantees, so they either have to use configure and ask the compiler by compiling a program, or just straight up ask the compiler when it provides nice macros.</div></div></div></div>