]> gcc.gnu.org Git - gcc.git/commit - gcc/cp/except.c
except.c (push_eh_info): Pass the number of fields - 1 down, not the exact number...
authorBrendan Kehoe <brendan@lisa.cygnus.com>
Fri, 31 Oct 1997 23:17:35 +0000 (23:17 +0000)
committerBrendan Kehoe <brendan@gcc.gnu.org>
Fri, 31 Oct 1997 23:17:35 +0000 (18:17 -0500)
commitcf9d67e3e8aa596271353f56c49dbe6ebbe3f7ad
treedff5b59bd20c5f553511ec9e6abb17639fc45d92
parent27ca375af668068978d277ae1d1b92149f121c6a
except.c (push_eh_info): Pass the number of fields - 1 down, not the exact number of fields.

        * except.c (push_eh_info): Pass the number of fields - 1 down, not
        the exact number of fields.

cuz in finish_builtin_type, its comment sez

   LEN is the number of elements
   in FIELDS minus one, or put another way, it is the maximum subscript
   used in FIELDS.

and its code does

  for (i = 0; i < len; i++)
    {
      layout_type (TREE_TYPE (fields[i]));
      DECL_FIELD_CONTEXT (fields[i]) = type;
      TREE_CHAIN (fields[i]) = fields[i+1];
    }
  DECL_FIELD_CONTEXT (fields[i]) = type;
  DECL_CLASS_CONTEXT (fields[i]) = type;

thus expecting the final ones to be fields[4], not fields[5] (which is
the actual size from 0, not the last field member)

From-SVN: r16257
gcc/cp/ChangeLog
gcc/cp/except.c
This page took 0.074895 seconds and 5 git commands to generate.