comparison 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
comparison
equal deleted inserted replaced
65:65488c3d617d 67:f6334be47118
1 /* GCC core type declarations. 1 /* GCC core type declarations.
2 Copyright (C) 2002, 2004, 2007, 2008, 2009 Free Software Foundation, Inc. 2 Copyright (C) 2002, 2004, 2007, 2008, 2009, 2010
3 Free Software Foundation, Inc.
3 4
4 This file is part of GCC. 5 This file is part of GCC.
5 6
6 GCC is free software; you can redistribute it and/or modify it under 7 GCC is free software; you can redistribute it and/or modify it under
7 the terms of the GNU General Public License as published by the Free 8 the terms of the GNU General Public License as published by the Free
61 typedef union gimple_statement_d *gimple; 62 typedef union gimple_statement_d *gimple;
62 typedef const union tree_node *const_tree; 63 typedef const union tree_node *const_tree;
63 typedef const union gimple_statement_d *const_gimple; 64 typedef const union gimple_statement_d *const_gimple;
64 union section; 65 union section;
65 typedef union section section; 66 typedef union section section;
67 struct gcc_options;
66 struct cl_target_option; 68 struct cl_target_option;
67 struct cl_optimization; 69 struct cl_optimization;
70 struct cl_option;
71 struct cl_decoded_option;
72 struct cl_option_handlers;
73 struct diagnostic_context;
74 typedef struct diagnostic_context diagnostic_context;
68 struct gimple_seq_d; 75 struct gimple_seq_d;
69 typedef struct gimple_seq_d *gimple_seq; 76 typedef struct gimple_seq_d *gimple_seq;
70 typedef const struct gimple_seq_d *const_gimple_seq; 77 typedef const struct gimple_seq_d *const_gimple_seq;
71 struct gimple_seq_node_d;
72 typedef struct gimple_seq_node_d *gimple_seq_node;
73 typedef const struct gimple_seq_node_d *const_gimple_seq_node;
74 78
75 /* Address space number for named address space support. */ 79 /* Address space number for named address space support. */
76 typedef unsigned char addr_space_t; 80 typedef unsigned char addr_space_t;
77 81
78 /* The value of addr_space_t that represents the generic address space. */ 82 /* The value of addr_space_t that represents the generic address space. */
105 TLS_MODEL_LOCAL_DYNAMIC, 109 TLS_MODEL_LOCAL_DYNAMIC,
106 TLS_MODEL_INITIAL_EXEC, 110 TLS_MODEL_INITIAL_EXEC,
107 TLS_MODEL_LOCAL_EXEC 111 TLS_MODEL_LOCAL_EXEC
108 }; 112 };
109 113
114 /* Types of unwind/exception handling info that can be generated. */
115
116 enum unwind_info_type
117 {
118 UI_NONE,
119 UI_SJLJ,
120 UI_DWARF2,
121 UI_TARGET
122 };
123
124 /* Callgraph node profile representation. */
125 enum node_frequency {
126 /* This function most likely won't be executed at all.
127 (set only when profile feedback is available or via function attribute). */
128 NODE_FREQUENCY_UNLIKELY_EXECUTED,
129 /* For functions that are known to be executed once (i.e. constructors, destructors
130 and main function. */
131 NODE_FREQUENCY_EXECUTED_ONCE,
132 /* The default value. */
133 NODE_FREQUENCY_NORMAL,
134 /* Optimize this function hard
135 (set only when profile feedback is available or via function attribute). */
136 NODE_FREQUENCY_HOT
137 };
138
139
110 struct edge_def; 140 struct edge_def;
111 typedef struct edge_def *edge; 141 typedef struct edge_def *edge;
112 typedef const struct edge_def *const_edge; 142 typedef const struct edge_def *const_edge;
113 struct basic_block_def; 143 struct basic_block_def;
114 typedef struct basic_block_def *basic_block; 144 typedef struct basic_block_def *basic_block;
115 typedef const struct basic_block_def *const_basic_block; 145 typedef const struct basic_block_def *const_basic_block;
146
147 #define obstack_chunk_alloc ((void *(*) (long)) xmalloc)
148 #define obstack_chunk_free ((void (*) (void *)) free)
149 #define OBSTACK_CHUNK_SIZE 0
150 #define gcc_obstack_init(OBSTACK) \
151 _obstack_begin ((OBSTACK), OBSTACK_CHUNK_SIZE, 0, \
152 obstack_chunk_alloc, \
153 obstack_chunk_free)
154
155 /* enum reg_class is target specific, so it should not appear in
156 target-independent code or interfaces, like the target hook declarations
157 in target.h. */
158 typedef int reg_class_t;
159
116 #else 160 #else
117 161
118 struct _dont_use_rtx_here_; 162 struct _dont_use_rtx_here_;
119 struct _dont_use_rtvec_here_; 163 struct _dont_use_rtvec_here_;
120 union _dont_use_tree_here_; 164 union _dont_use_tree_here_;