diff options
author | obrien <obrien@FreeBSD.org> | 2002-02-01 18:16:02 +0000 |
---|---|---|
committer | obrien <obrien@FreeBSD.org> | 2002-02-01 18:16:02 +0000 |
commit | c9ab9ae440a8066b2c2b85b157b1fdadcf09916a (patch) | |
tree | 086d9d6c8fbd4fc8fe4495059332f66bc0f8d12b /contrib/gcc/c-common.def | |
parent | 2ecfd8bd04b63f335c1ec6295740a4bfd97a4fa6 (diff) | |
download | FreeBSD-src-c9ab9ae440a8066b2c2b85b157b1fdadcf09916a.zip FreeBSD-src-c9ab9ae440a8066b2c2b85b157b1fdadcf09916a.tar.gz |
Enlist the FreeBSD-CURRENT users as testers of what is to become Gcc 3.1.0.
These bits are taken from the FSF anoncvs repo on 1-Feb-2002 08:20 PST.
Diffstat (limited to 'contrib/gcc/c-common.def')
-rw-r--r-- | contrib/gcc/c-common.def | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/contrib/gcc/c-common.def b/contrib/gcc/c-common.def new file mode 100644 index 0000000..d59a151 --- /dev/null +++ b/contrib/gcc/c-common.def @@ -0,0 +1,120 @@ +/* This file contains the definitions and documentation for the + 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 Free Software Foundation, Inc. + Written by Benjamin Chelf <chelf@codesourcery.com> + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with GCC; see the file COPYING. If not, write to the Free +Software Foundation, 59 Temple Place - Suite 330, Boston, MA +02111-1307, USA. */ + +/* Tree nodes relevant to both C and C++. These were originally in +cp-tree.def in the cp subdir. */ + +/* A node to remember a source position. */ +DEFTREECODE (SRCLOC, "srcloc", 'x', 2) + +DEFTREECODE (SIZEOF_EXPR, "sizeof_expr", '1', 1) +DEFTREECODE (ARROW_EXPR, "arrow_expr", 'e', 1) +DEFTREECODE (ALIGNOF_EXPR, "alignof_expr", '1', 1) + +/* Used to represent an expression statement. Use `EXPR_STMT_EXPR' to + obtain the expression. */ +DEFTREECODE (EXPR_STMT, "expr_stmt", 'e', 1) + +/* Used to represent a brace-enclosed block. The operand is + COMPOUND_BODY. */ +DEFTREECODE (COMPOUND_STMT, "compound_stmt", 'e', 1) + +/* Used to represent a local declaration. The operand is + DECL_STMT_DECL. */ +DEFTREECODE (DECL_STMT, "decl_stmt", 'e', 1) + +/* Represents an 'if' statement. The operands are IF_COND, + THEN_CLAUSE, and ELSE_CLAUSE, respectively. */ +DEFTREECODE (IF_STMT, "if_stmt", 'e', 3) + +/* Used to represent a `for' statement. The operands are + FOR_INIT_STMT, FOR_COND, FOR_EXPR, and FOR_BODY, respectively. */ +DEFTREECODE (FOR_STMT, "for_stmt", 'e', 4) + +/* Used to represent a 'while' statement. The operands are WHILE_COND + and WHILE_BODY, respectively. */ +DEFTREECODE (WHILE_STMT, "while_stmt", 'e', 2) + +/* Used to represent a 'do' statement. The operands are DO_BODY and + DO_COND, respectively. */ +DEFTREECODE (DO_STMT, "do_stmt", 'e', 2) + +/* Used to represent a 'return' statement. The operand is + RETURN_EXPR. */ +DEFTREECODE (RETURN_STMT, "return_stmt", 'e', 1) + +/* Used to represent a 'break' statement. */ +DEFTREECODE (BREAK_STMT, "break_stmt", 'e', 0) + +/* Used to represent a 'continue' statement. */ +DEFTREECODE (CONTINUE_STMT, "continue_stmt", 'e', 0) + +/* Used to represent a 'switch' statement. The operands are + SWITCH_COND and SWITCH_BODY, respectively. */ +DEFTREECODE (SWITCH_STMT, "switch_stmt", 'e', 2) + +/* Used to represent a 'goto' statement. The operand is GOTO_DESTINATION. */ +DEFTREECODE (GOTO_STMT, "goto_stmt", 'e', 1) + +/* Used to represent a 'label' statement. The operand is a LABEL_DECL + and can be obtained through the macro LABEL_STMT_LABEL. */ +DEFTREECODE (LABEL_STMT, "label_stmt", 'e', 1) + +/* Used to represent an inline assembly statement. */ +DEFTREECODE (ASM_STMT, "asm_stmt", 'e', 5) + +/* A SCOPE_STMT marks the beginning or end of a scope. If + SCOPE_BEGIN_P holds, then this is the start of a scope. If + SCOPE_END_P holds, then this is the end of a scope. If + SCOPE_NULLIFIED_P holds then there turned out to be no variables in + this scope. The SCOPE_STMT_BLOCK is the BLOCK containing the + variables declared in this scope. */ +DEFTREECODE (SCOPE_STMT, "scope_stmt", 'e', 1) + +/* A FILE_STMT marks the spot where a function changes files. It has no + other semantics. FILE_STMT_FILENAME gives the name. */ +DEFTREECODE (FILE_STMT, "file_stmt", 'e', 1) + +/* Used to represent a CASE_LABEL. The operands are CASE_LOW and + CASE_HIGH, respectively. If CASE_LOW is NULL_TREE, the label is a + 'default' label. If CASE_HIGH is NULL_TREE, the label is a normal case + label. The CASE_LABEL_DECL is a LABEL_DECL for this node. */ +DEFTREECODE (CASE_LABEL, "case_label", 'e', 3) + +/* A STMT_EXPR represents a statement-expression. The + STMT_EXPR_STMT is the statement given by the expression. */ +DEFTREECODE (STMT_EXPR, "stmt_expr", 'e', 1) + +/* 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", 'e', 1) + +/* +Local variables: +mode:c +End: +*/ |