[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-gnulib] Re: linebreak.c proposed patches for size-calculation overf

From: Paul Eggert
Subject: [Bug-gnulib] Re: linebreak.c proposed patches for size-calculation overflows
Date: 19 Nov 2003 12:42:48 -0800
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3

Simon Josefsson <address@hidden> writes:

> This seem like a rather serious argument against '_t'....
> I wasn't able to find anything about it in my (possibly early draft
> version of) C99 pdf.

As James Youngman mentioned, it's mostly a POSIX issue, not a C99
issue.  I just checked the "Future library directions" section of C99,
and it reserves "u?int.*_t" for typedef names if you include
<stdint.h> or <inttypes.h>; otherwise it reserves only the typedef
names explicitly called out (e.g., size_t in <stddef.h>).

James Youngman <address@hidden> writes:

> Section 2.2.2 "The Name Space" of the current POSIX standard
> indicates that conforming implementations are allowed to define
> "symbols" with the suffix _t in any header.  While it says "symbol"
> I think it is fair to read "or type name" since _t is normally used
> only for type names.

I vaguely recall seeing _t used for macros that expand to type names.
This is allowed by POSIX, and practically speaking it means that _t is
reserved for any symbol; you can't define a macro ending in _t (since
it might clash with the implementation's macro), and similarly you
can't define a local variable whose name ends in _t, etc.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]