abbrev_table::read increments cur_abbrev->num_attrs in the inner loop,
but there's no need to do this, as the information is already stored
in the temporary vector.
2020-02-08  Tom Tromey  <tom@tromey.com>
	* dwarf2/abbrev.c (abbrev_table::read): Simplify.
Change-Id: I765f12850ffa1c6066e884bb22c94468d1abdba4
+2020-02-08  Tom Tromey  <tom@tromey.com>
+
+       * dwarf2/abbrev.c (abbrev_table::read): Simplify.
+
 2020-02-08  Tom Tromey  <tom@tromey.com>
 
        * dwarf2/abbrev.c (abbrev_table): Move constructor from header.
 
          cur_attr.name = (enum dwarf_attribute) abbrev_name;
          cur_attr.form = (enum dwarf_form) abbrev_form;
          cur_attr.implicit_const = implicit_const;
-         ++cur_abbrev->num_attrs;
        }
 
+      cur_abbrev->num_attrs = cur_attrs.size ();
       cur_abbrev->attrs =
        XOBNEWVEC (&abbrev_table->m_abbrev_obstack, struct attr_abbrev,
                   cur_abbrev->num_attrs);