diff gcc/c-common.def @ 55:77e2b8dfacca gcc-4.4.5

update it from 4.4.3 to 4.5.0
author ryoma <e075725@ie.u-ryukyu.ac.jp>
date Fri, 12 Feb 2010 23:39:51 +0900
parents a06113de4d67
children
line wrap: on
line diff
--- a/gcc/c-common.def	Sun Feb 07 18:28:00 2010 +0900
+++ b/gcc/c-common.def	Fri Feb 12 23:39:51 2010 +0900
@@ -2,7 +2,7 @@
    additional tree codes used in the GNU C compiler (see tree.def
    for the standard codes).
    Copyright (C) 1987, 1988, 1990, 1993, 1997, 1998,
-   1999, 2000, 2001, 2004, 2005, 2007 Free Software Foundation, Inc.
+   1999, 2000, 2001, 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
    Written by Benjamin Chelf <chelf@codesourcery.com>
 
 This file is part of GCC.
@@ -24,12 +24,27 @@
 /* Tree nodes used in the C frontend.  These are also shared with the
    C++ and Objective C frontends.  */
 
-/* A COMPOUND_LITERAL_EXPR represents a C99 compound literal.  The
-   COMPOUND_LITERAL_EXPR_DECL_STMT is the a DECL_STMT containing the decl
-   for the anonymous object represented by the COMPOUND_LITERAL;
-   the DECL_INITIAL of that decl is the CONSTRUCTOR that initializes
-   the compound literal.  */
-DEFTREECODE (COMPOUND_LITERAL_EXPR, "compound_literal_expr", tcc_expression, 1)
+/* A C_MAYBE_CONST_EXPR, currently only used for C and Objective C,
+   tracks information about constancy of an expression and VLA type
+   sizes or VM expressions from typeof that need to be evaluated
+   before the main expression.  It is used during parsing and removed
+   in c_fully_fold.  C_MAYBE_CONST_EXPR_PRE is the expression to
+   evaluate first, if not NULL; C_MAYBE_CONST_EXPR_EXPR is the main
+   expression.  If C_MAYBE_CONST_EXPR_INT_OPERANDS is set then the
+   expression may be used in an unevaluated part of an integer
+   constant expression, but not in an evaluated part.  If
+   C_MAYBE_CONST_EXPR_NON_CONST is set then the expression contains
+   something that cannot occur in an evaluated part of a constant
+   expression (or outside of sizeof in C90 mode); otherwise it does
+   not.  */
+DEFTREECODE (C_MAYBE_CONST_EXPR, "c_maybe_const_expr", tcc_expression, 2)
+
+/* An EXCESS_PRECISION_EXPR, currently only used for C and Objective
+   C, represents an expression evaluated in greater range or precision
+   than its type.  The type of the EXCESS_PRECISION_EXPR is the
+   semantic type while the operand represents what is actually being
+   evaluated.  */
+DEFTREECODE (EXCESS_PRECISION_EXPR, "excess_precision_expr", tcc_expression, 1)
 
 /*
 Local variables: