dwarf2read: Restrict ICC workaround to ICC<14
authorWalfred Tedeschi <walfred.tedeschi@intel.com>
Tue, 26 Sep 2017 17:26:41 +0000 (18:26 +0100)
committerPedro Alves <palves@redhat.com>
Tue, 26 Sep 2017 17:32:00 +0000 (18:32 +0100)
commit5230b05a94b964da335a0758686b92a8efcc823d
tree04f3120f9304f303e353adec7e04d17a7b949d50
parentb32b108aba2c0119d0e231d203d3284539da2379
dwarf2read: Restrict ICC workaround to ICC<14

GDB has a workaround for DWARF output by ICC, related to missing
DW_AT_declaration on incomplete types.  The bug was fixed in ICC 14,
so this commit adjusts GDB accordingly.

For the version check, this adds a new parser function for the ICC
producer string.  While at it, it also adds unit tests for the
producer parsing covering the new function and preexisting parsers.

gdb/ChangeLog:
2017-09-26  Walfred Tedeschi  <walfred.tedeschi@intel.com>
    Pedro Alves <palves@redhat.com>

* dwarf2read.c (dwarf2_cu): Remove field producer_is_icc and add
producer_is_icc_lt_14.
(producer_is_icc_lt_14): New function.
(check_producer): Add code for checking version of ICC.
(producer_is_icc): Move to producer.c.
(read_structure_type): Restrict ICC workaround to ICC<14.
* producer.c: Include selftest.h.
(producer_is_icc, producer_parsing_tests, _initialize_producer):
New functions.
* producer.h (producer_is_icc): New declaration.
gdb/ChangeLog
gdb/dwarf2read.c
gdb/producer.c
gdb/producer.h