Mercurial > hg > CbC > CbC_gcc
diff gcc/coretypes.h @ 67:f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
author | nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 22 Mar 2011 17:18:12 +0900 |
parents | b7f97abdc517 |
children | 04ced10e8804 |
line wrap: on
line diff
--- a/gcc/coretypes.h Tue May 25 18:58:51 2010 +0900 +++ b/gcc/coretypes.h Tue Mar 22 17:18:12 2011 +0900 @@ -1,5 +1,6 @@ /* GCC core type declarations. - Copyright (C) 2002, 2004, 2007, 2008, 2009 Free Software Foundation, Inc. + Copyright (C) 2002, 2004, 2007, 2008, 2009, 2010 + Free Software Foundation, Inc. This file is part of GCC. @@ -63,14 +64,17 @@ typedef const union gimple_statement_d *const_gimple; union section; typedef union section section; +struct gcc_options; struct cl_target_option; struct cl_optimization; +struct cl_option; +struct cl_decoded_option; +struct cl_option_handlers; +struct diagnostic_context; +typedef struct diagnostic_context diagnostic_context; struct gimple_seq_d; typedef struct gimple_seq_d *gimple_seq; typedef const struct gimple_seq_d *const_gimple_seq; -struct gimple_seq_node_d; -typedef struct gimple_seq_node_d *gimple_seq_node; -typedef const struct gimple_seq_node_d *const_gimple_seq_node; /* Address space number for named address space support. */ typedef unsigned char addr_space_t; @@ -107,12 +111,52 @@ TLS_MODEL_LOCAL_EXEC }; +/* Types of unwind/exception handling info that can be generated. */ + +enum unwind_info_type +{ + UI_NONE, + UI_SJLJ, + UI_DWARF2, + UI_TARGET +}; + +/* Callgraph node profile representation. */ +enum node_frequency { + /* This function most likely won't be executed at all. + (set only when profile feedback is available or via function attribute). */ + NODE_FREQUENCY_UNLIKELY_EXECUTED, + /* For functions that are known to be executed once (i.e. constructors, destructors + and main function. */ + NODE_FREQUENCY_EXECUTED_ONCE, + /* The default value. */ + NODE_FREQUENCY_NORMAL, + /* Optimize this function hard + (set only when profile feedback is available or via function attribute). */ + NODE_FREQUENCY_HOT +}; + + struct edge_def; typedef struct edge_def *edge; typedef const struct edge_def *const_edge; struct basic_block_def; typedef struct basic_block_def *basic_block; typedef const struct basic_block_def *const_basic_block; + +#define obstack_chunk_alloc ((void *(*) (long)) xmalloc) +#define obstack_chunk_free ((void (*) (void *)) free) +#define OBSTACK_CHUNK_SIZE 0 +#define gcc_obstack_init(OBSTACK) \ + _obstack_begin ((OBSTACK), OBSTACK_CHUNK_SIZE, 0, \ + obstack_chunk_alloc, \ + obstack_chunk_free) + +/* enum reg_class is target specific, so it should not appear in + target-independent code or interfaces, like the target hook declarations + in target.h. */ +typedef int reg_class_t; + #else struct _dont_use_rtx_here_;