From: Keith.S.Thompson+u@gmail.com   
      
   Thiago Adams writes:   
   > On 10/20/2025 7:19 PM, Keith Thompson wrote:   
   [...]   
   >> That raises another issue.   
   >> The header was introduced in C99. In C99, C11, and C17,   
   >> that header defines char16_t and char32_t. C23 introduces char8_t.   
   >   
   > I think for all these typedefs related with language concepts, like   
   > size_t which is related with sizeof, char8_t which is related with   
   > u8"" char16_t u"", char32_t U""... etc.. should be built-in typedefs.   
   >   
   > And even others that does not have a association with language   
   > features like int16_t.   
      
   By "built-in typedefs", do you mean typedefs that are visible without   
   a #include?   
      
   That would be unprecedented, but I suppose it could work. But I'm not   
   sure it would be all that advantageous. The type of the result of   
   sizeof is some implementation-defined unsigned integer type. The   
    header merely provides a consistent name for that type.   
      
   I can see that having language features depend (indirectly) on types   
   defined in library headers is a bit messy, but I don't think it causes   
   any real problems.   
      
   --   
   Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com   
   void Void(void) { Void(); } /* The recursive call of the void */   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|