summaryrefslogtreecommitdiff
path: root/gcc/cp/lex.c
diff options
context:
space:
mode:
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2005-05-12 13:06:15 +0000
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2005-05-12 13:06:15 +0000
commit820440d6188403c046565853b167e8afb51844c4 (patch)
tree4e17142256d0c3131e7b10149f5c50c1ea1b9850 /gcc/cp/lex.c
parent18f11b847c8b60754021142e3b65af65fa89e4a2 (diff)
downloadgcc-820440d6188403c046565853b167e8afb51844c4.tar.gz
./:
* c-common.h (statement_code_p): Don't declare. (STATEMENT_CODE_P): Don't define. (INIT_STATEMENT_CODES): Don't define. * c-common.c (statement_code_p): Don't define. cp/: * cp-tree.h (cp_stmt_codes): Don't define. (statement_code_p): Declare. (STATEMENT_CODE_P): Define. * lex.c (statement_code_p): Define. (cxx_init): Use actual codes in stmt_codes initializer, not cp_stmt_codes macro. Initialize statement_code_p directly, rather than using INIT_STATEMENT_CODES. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99615 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/lex.c')
-rw-r--r--gcc/cp/lex.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/gcc/cp/lex.c b/gcc/cp/lex.c
index 0af33813c7c..dacac18286f 100644
--- a/gcc/cp/lex.c
+++ b/gcc/cp/lex.c
@@ -312,6 +312,10 @@ init_cp_pragma (void)
c_register_pragma ("GCC", "java_exceptions", handle_pragma_java_exceptions);
}
+/* TRUE if a code represents a statement. */
+
+bool statement_code_p[MAX_TREE_CODES];
+
/* Initialize the C++ front end. This function is very sensitive to
the exact order that things are done here. It would be nice if the
initialization done by this routine were moved to its subroutines,
@@ -319,11 +323,18 @@ init_cp_pragma (void)
bool
cxx_init (void)
{
+ unsigned int i;
static const enum tree_code stmt_codes[] = {
- cp_stmt_codes
+ CTOR_INITIALIZER, TRY_BLOCK, HANDLER,
+ EH_SPEC_BLOCK, USING_STMT, TAG_DEFN,
+ IF_STMT, CLEANUP_STMT, FOR_STMT,
+ WHILE_STMT, DO_STMT, BREAK_STMT,
+ CONTINUE_STMT, SWITCH_STMT, EXPR_STMT
};
- INIT_STATEMENT_CODES (stmt_codes);
+ memset (&statement_code_p, 0, sizeof (statement_code_p));
+ for (i = 0; i < ARRAY_SIZE (stmt_codes); i++)
+ statement_code_p[stmt_codes[i]] = true;
/* We cannot just assign to input_filename because it has already
been initialized and will be used later as an N_BINCL for stabs+