diff options
author | Mark Mitchell <mark@codesourcery.com> | 2000-10-22 17:50:28 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2000-10-22 17:50:28 +0000 |
commit | e36308b07636ca5714634ab3df27a682e0105bf2 (patch) | |
tree | 89e20837c19fa153a271e7fc610c95f367d0b8ba /gcc/tree.h | |
parent | 2622c79d2d51f6bf9122a3b5f458daa50c0baf19 (diff) | |
download | gcc-e36308b07636ca5714634ab3df27a682e0105bf2.zip gcc-e36308b07636ca5714634ab3df27a682e0105bf2.tar.gz gcc-e36308b07636ca5714634ab3df27a682e0105bf2.tar.bz2 |
tree.h (TYPE_IS_SIZETYPE): Add more documentation.
* tree.h (TYPE_IS_SIZETYPE): Add more documentation.
* typeck.c (c_sizeof): Return an expression of `size_t' type,
not one with TYPE_IS_SIZETYPE set.
(dubious_conversion_warnings): Remove special-case code.
From-SVN: r37006
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 11 |
1 files changed, 8 insertions, 3 deletions
@@ -949,9 +949,14 @@ struct tree_block its size. */ #define TYPE_NO_FORCE_BLK(NODE) (TYPE_CHECK (NODE)->type.no_force_blk_flag) -/* In an INTEGER_TYPE, it means the type represents a size. We use this - both for validity checking and to permit optimziations that are unsafe - for other types. */ +/* In an INTEGER_TYPE, it means the type represents a size. We use + this both for validity checking and to permit optimizations that + are unsafe for other types. Note that the C `size_t' type should + *not* have this flag set. The `size_t' type is simply a typedef + for an ordinary integer type that happens to be the type of an + expression returned by `sizeof'; `size_t' has no special + properties. Expressions whose type have TYPE_IS_SIZETYPE set are + always actual sizes. */ #define TYPE_IS_SIZETYPE(NODE) \ (INTEGER_TYPE_CHECK (NODE)->type.no_force_blk_flag) |