Hi, I am trying to understand contents of basicblock.h file. In that basic block is defined as a structure. My question is why its definition is followd by GTY(..........) at 214. What kind of syntax is that? I am unable to understand lines 220 and 221. Are they defining pointers to functions? Thanks in advance. 214 struct basic_block_def GTY((chain_next ("%h.next_bb"), chain_prev ("%h.prev_bb"))) 215 { 216 /* Pointers to the first and last trees of the block. */ 217 tree stmt_list; 218 219 /* The edges into and out of the block. */ 220 VEC(edge,gc) *preds; 221 VEC(edge,gc) *succs; 222 223 /* Auxiliary info specific to a pass. */ 224 PTR GTY ((skip (""))) aux; 225 226 /* Innermost loop containing the block. */ 227 struct loop * GTY ((skip (""))) loop_father; 228 229 /* The dominance and postdominance information node. */ 230 struct et_node * GTY ((skip (""))) dom[2]; 231 232 /* Previous and next blocks in the chain. */ 233 struct basic_block_def *prev_bb; 234 struct basic_block_def *next_bb; 235 236 union basic_block_il_dependent { 237 struct rtl_bb_info * GTY ((tag ("1"))) rtl; 238 } GTY ((desc ("((%1.flags & BB_RTL) != 0)"))) il; 239 240 /* Chain of PHI nodes for this block. */ 241 tree phi_nodes; 242 243 /* A list of predictions. */ 244 struct edge_prediction *predictions; 245 246 /* Expected number of executions: calculated in profile.c. */ 247 gcov_type count; 248 ___________________________________________________________ Yahoo! Mail is the world's favourite email. Don't settle for less, sign up for your free account today http://uk.rd.yahoo.com/evt=44106/*http://uk.docs.yahoo.com/mail/winter07.html