diff options
author | Richard Stallman <rms@gnu.org> | 1992-07-23 06:06:34 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1992-07-23 06:06:34 +0000 |
commit | 4e28fa00636ed24cf944791a2e2f256f5b976e05 (patch) | |
tree | 643042727dc13cf9e93b1afeed92b9b862a730c9 /gcc | |
parent | 24bc4c7f4ea7d81f1e880ab9e4f276096d0334f8 (diff) | |
download | gcc-4e28fa00636ed24cf944791a2e2f256f5b976e05.zip gcc-4e28fa00636ed24cf944791a2e2f256f5b976e05.tar.gz gcc-4e28fa00636ed24cf944791a2e2f256f5b976e05.tar.bz2 |
(C_PROMOTING_INTEGER_TYPE_P): New macro.
From-SVN: r1667
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/c-tree.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/c-tree.h b/gcc/c-tree.h index b476534..353038b1 100644 --- a/gcc/c-tree.h +++ b/gcc/c-tree.h @@ -100,6 +100,17 @@ struct lang_type TYPE_ARG_TYPES for functions with prototypes, but created for functions without prototypes. */ #define TYPE_ACTUAL_ARG_TYPES(NODE) TYPE_NONCOPIED_PARTS (NODE) + +/* Nonzero if the type T promotes to itself. + ANSI C states explicitly the list of types that promote; + in particular, short promotes to int even if they have the same width. */ +#define C_PROMOTING_INTEGER_TYPE_P(t) \ + (TREE_CODE ((t)) == INTEGER_TYPE \ + && (TYPE_MAIN_VARIANT (t) == char_type_node \ + || TYPE_MAIN_VARIANT (t) == signed_char_type_node \ + || TYPE_MAIN_VARIANT (t) == unsigned_char_type_node \ + || TYPE_MAIN_VARIANT (t) == short_integer_type_node \ + || TYPE_MAIN_VARIANT (t) == short_unsigned_type_node)) /* in c-typecheck.c */ extern tree build_component_ref (), build_conditional_expr (), build_compound_expr (); |