]> gcc.gnu.org Git - gcc.git/blobdiff - gcc/c-tree.h
Change the location of the Sun bundled C compiler (for backup defaults).
[gcc.git] / gcc / c-tree.h
index 46b5650cf69295a0c0ba3b23d5b837047661f0df..353038b11e9783eb04047f615a6ffbca26af278e 100644 (file)
@@ -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)
    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))
 \f
 /* in c-typecheck.c */
 extern tree build_component_ref (), build_conditional_expr (), build_compound_expr ();
 \f
 /* in c-typecheck.c */
 extern tree build_component_ref (), build_conditional_expr (), build_compound_expr ();
@@ -175,6 +186,10 @@ extern tree shorten_compare ();
 /* Read the rest of the current #-directive line.  */
 extern char *get_directive_line ();
 
 /* Read the rest of the current #-directive line.  */
 extern char *get_directive_line ();
 
+/* Prepare expr to be an argument of a TRUTH_NOT_EXPR,
+   or validate its data type for an `if' or `while' statement or ?..: exp. */
+extern tree truthvalue_conversion ();
+
 extern int maybe_objc_comptypes ();
 extern tree maybe_building_objc_message_expr ();
 \f
 extern int maybe_objc_comptypes ();
 extern tree maybe_building_objc_message_expr ();
 \f
@@ -188,6 +203,10 @@ extern tree ptrdiff_type_node;
 extern tree unsigned_char_type_node, signed_char_type_node, char_type_node;
 extern tree wchar_type_node, signed_wchar_type_node, unsigned_wchar_type_node;
 extern tree float_type_node, double_type_node, long_double_type_node;
 extern tree unsigned_char_type_node, signed_char_type_node, char_type_node;
 extern tree wchar_type_node, signed_wchar_type_node, unsigned_wchar_type_node;
 extern tree float_type_node, double_type_node, long_double_type_node;
+extern tree intQI_type_node, unsigned_intQI_type_node;
+extern tree intHI_type_node, unsigned_intHI_type_node;
+extern tree intSI_type_node, unsigned_intSI_type_node;
+extern tree intDI_type_node, unsigned_intDI_type_node;
 extern tree void_type_node, ptr_type_node, const_ptr_type_node;
 extern tree string_type_node, const_string_type_node;
 extern tree char_array_type_node, int_array_type_node, wchar_array_type_node;
 extern tree void_type_node, ptr_type_node, const_ptr_type_node;
 extern tree string_type_node, const_string_type_node;
 extern tree char_array_type_node, int_array_type_node, wchar_array_type_node;
This page took 0.027274 seconds and 5 git commands to generate.