Mercurial > hg > CbC > CbC_gcc
comparison gcc/tree.def @ 63:b7f97abdc517 gcc-4.6-20100522
update gcc from gcc-4.5.0 to gcc-4.6
author | ryoma <e075725@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 24 May 2010 12:47:05 +0900 |
parents | 77e2b8dfacca |
children | f6334be47118 |
comparison
equal
deleted
inserted
replaced
56:3c8a44c06a95 | 63:b7f97abdc517 |
---|---|
1 /* This file contains the definitions and documentation for the | 1 /* This file contains the definitions and documentation for the |
2 tree codes used in GCC. | 2 tree codes used in GCC. |
3 Copyright (C) 1987, 1988, 1993, 1995, 1997, 1998, 2000, 2001, 2004, 2005, | 3 Copyright (C) 1987, 1988, 1993, 1995, 1997, 1998, 2000, 2001, 2004, 2005, |
4 2006, 2007, 2008, 2009 Free Software Foundation, Inc. | 4 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. |
5 | 5 |
6 This file is part of GCC. | 6 This file is part of GCC. |
7 | 7 |
8 GCC is free software; you can redistribute it and/or modify it under | 8 GCC is free software; you can redistribute it and/or modify it under |
9 the terms of the GNU General Public License as published by the Free | 9 the terms of the GNU General Public License as published by the Free |
430 Operand 0 is the referenced address (a pointer); | 430 Operand 0 is the referenced address (a pointer); |
431 Operand 1 is an INTEGER_CST which represents the alignment of the address, | 431 Operand 1 is an INTEGER_CST which represents the alignment of the address, |
432 or 0 if the alignment is unknown. */ | 432 or 0 if the alignment is unknown. */ |
433 DEFTREECODE (MISALIGNED_INDIRECT_REF, "misaligned_indirect_ref", tcc_reference, 2) | 433 DEFTREECODE (MISALIGNED_INDIRECT_REF, "misaligned_indirect_ref", tcc_reference, 2) |
434 | 434 |
435 /* Used to represent lookup of runtime type dependent data. Often this is | 435 /* Used to represent lookup in a virtual method table which is dependent on |
436 a reference to a vtable, but it needn't be. Operands are: | 436 the runtime type of an object. Operands are: |
437 OBJ_TYPE_REF_EXPR: An expression that evaluates the value to use. | 437 OBJ_TYPE_REF_EXPR: An expression that evaluates the value to use. |
438 OBJ_TYPE_REF_OBJECT: Is the object on whose behalf the lookup is | 438 OBJ_TYPE_REF_OBJECT: Is the object on whose behalf the lookup is |
439 being performed. Through this the optimizers may be able to statically | 439 being performed. Through this the optimizers may be able to statically |
440 determine the dynamic type of the object. | 440 determine the dynamic type of the object. |
441 OBJ_TYPE_REF_TOKEN: Something front-end specific used to resolve the | 441 OBJ_TYPE_REF_TOKEN: An integer index to the virtual method table. */ |
442 reference to something simpler, usually to the address of a DECL. | |
443 Never touched by the middle-end. Good choices would be either an | |
444 identifier or a vtable index. */ | |
445 DEFTREECODE (OBJ_TYPE_REF, "obj_type_ref", tcc_expression, 3) | 442 DEFTREECODE (OBJ_TYPE_REF, "obj_type_ref", tcc_expression, 3) |
446 | 443 |
447 /* Constructor: return an aggregate value made from specified components. | 444 /* Constructor: return an aggregate value made from specified components. |
448 In C, this is used only for structure and array initializers. | 445 In C, this is used only for structure and array initializers. |
449 The operand is a sequence of component values made out of a VEC of | 446 The operand is a sequence of component values made out of a VEC of |
565 | 562 |
566 As a consequence, the operand of a CLEANUP_POINT_EXPR must not have | 563 As a consequence, the operand of a CLEANUP_POINT_EXPR must not have |
567 BLKmode, because it will not be forced out of memory. */ | 564 BLKmode, because it will not be forced out of memory. */ |
568 DEFTREECODE (CLEANUP_POINT_EXPR, "cleanup_point_expr", tcc_expression, 1) | 565 DEFTREECODE (CLEANUP_POINT_EXPR, "cleanup_point_expr", tcc_expression, 1) |
569 | 566 |
570 /* The following two codes are used in languages that have types where | 567 /* The following code is used in languages that have types where some |
571 some field in an object of the type contains a value that is used in | 568 field in an object of the type contains a value that is used in the |
572 the computation of another field's offset or size and/or the size of | 569 computation of another field's offset or size and/or the size of the |
573 the type. The positions and/or sizes of fields can vary from object | 570 type. The positions and/or sizes of fields can vary from object to |
574 to object of the same type or even for one and the same object within | 571 object of the same type or even for one and the same object within |
575 its scope. | 572 its scope. |
576 | 573 |
577 Record types with discriminants in Ada or schema types in Pascal are | 574 Record types with discriminants in Ada or schema types in Pascal are |
578 examples of such types. This mechanism is also used to create "fat | 575 examples of such types. This mechanism is also used to create "fat |
579 pointers" for unconstrained array types in Ada; the fat pointer is a | 576 pointers" for unconstrained array types in Ada; the fat pointer is a |