This is the mail archive of the libc-help@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

wrong decltype( INTN_C(value) )?


Hi,

I was wondering: according to the C99 standard (I couldn't get hold of
the C11 standard) it seems like e.g. "INT8_C" should have the type
"int_least8_t". From section 7.18.4.1:

"The macro INTN_C(value) shall expand to a signed integer constant
with the specified value and type int_leastN_t"

However, on my system (Debian 8 x64) "INT8_C(1)" expands to "1" which
has type "int" (which is 32 bit) whereas "int_least8_t" has type
"signed char" (which is 8 bit). So is glibc not conformant to the
standard here, or there's anything I misunderstand? I'd expact it to
expand to "((signed char)1)".


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]