OSDN Git Service

2007-03-27 Douglas Gregor <doug.gregor@gmail.com>
authormrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 28 Mar 2007 01:56:58 +0000 (01:56 +0000)
committermrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 28 Mar 2007 01:56:58 +0000 (01:56 +0000)
* tree.c (tree_contains_struct): Permit 512 tree codes.
* tree.h (tree_contains_struct): Ditto.
(MAX_TREE_CODES): Ditto.
(struct tree_base): Make CODE 16 bits, instead of 8 bits. Add
SPARE member to store remaining padding bits.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123287 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/tree.c
gcc/tree.h

index add07bc..246d5e4 100644 (file)
@@ -1,3 +1,11 @@
+2007-03-27  Douglas Gregor  <doug.gregor@gmail.com>
+
+       * tree.c (tree_contains_struct): Permit 512 tree codes.
+       * tree.h (tree_contains_struct): Ditto.
+       (MAX_TREE_CODES): Ditto.
+       (struct tree_base): Make CODE 16 bits, instead of 8 bits. Add
+       SPARE member to store remaining padding bits.
+
 2007-03-27  Anatoly Sokolov <aesok@post.ru>
 
        * config/avr/avr.c (avr_mcu_types): Move at90usb82 device to 'avr4' 
index baf94b2..411e3f1 100644 (file)
@@ -168,7 +168,7 @@ static unsigned int attribute_hash_list (tree, hashval_t);
 tree global_trees[TI_MAX];
 tree integer_types[itk_none];
 
-unsigned char tree_contains_struct[256][64];
+unsigned char tree_contains_struct[MAX_TREE_CODES][64];
 
 /* Number of operands for each OpenMP clause.  */
 unsigned const char omp_clause_num_ops[] =
index 6cd846d..429b202 100644 (file)
@@ -41,7 +41,8 @@ enum tree_code {
 
 #undef DEFTREECODE
 
-extern unsigned char tree_contains_struct[256][64];
+#define MAX_TREE_CODES 512
+extern unsigned char tree_contains_struct[MAX_TREE_CODES][64];
 #define CODE_CONTAINS_STRUCT(CODE, STRUCT) (tree_contains_struct[(CODE)][(STRUCT)])
 
 /* Number of language-independent tree codes.  */
@@ -80,7 +81,6 @@ extern const char *const tree_code_class_strings[];
 #define TREE_CODE_CLASS_STRING(CLASS)\
         tree_code_class_strings[(int) (CLASS)]
 
-#define MAX_TREE_CODES 256
 extern const enum tree_code_class tree_code_type[];
 #define TREE_CODE_CLASS(CODE)  tree_code_type[(int) (CODE)]
 
@@ -363,7 +363,7 @@ union tree_ann_d;
 
 struct tree_base GTY(())
 {
-  ENUM_BITFIELD(tree_code) code : 8;
+  ENUM_BITFIELD(tree_code) code : 16;
 
   unsigned side_effects_flag : 1;
   unsigned constant_flag : 1;
@@ -392,6 +392,8 @@ struct tree_base GTY(())
   unsigned lang_flag_6 : 1;
   unsigned visited : 1;
 
+  unsigned spare : 24;
+
   /* FIXME tuples: Eventually, we need to move this somewhere external to
      the trees.  */
   union tree_ann_d *ann;