Bug 1516577 - internal compiler error: in force_type_die, at dwarf2out.c:25128
Summary: internal compiler error: in force_type_die, at dwarf2out.c:25128
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: gcc
Version: 26
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1516576 1525304
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-11-23 00:20 UTC by Brad Hubbard
Modified: 2018-02-06 15:32 UTC (History)
8 users (show)

Fixed In Version: gcc-7.3.1-2.fc26 gcc-7.3.1-2.fc27
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1516576
Environment:
Last Closed: 2018-02-06 10:50:22 UTC


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Ceph Project Bug Tracker 22220 None None None 2017-11-23 00:21:08 UTC
GNU Compiler Collection 82155 None None None 2017-11-23 00:20:22 UTC

Description Brad Hubbard 2017-11-23 00:20:22 UTC
+++ This bug was initially created as a clone of Bug #1516576 +++

Description of problem:

Whilst compiling ceph we encountered an ICE. I was able to reduce it to the following. Note this is different to the reproducer in the gcc bug report identified below but involves similarly nested classes.

$ cat << EOF >reproducer.ii
template <typename a> struct b { a c; };
template <typename d> struct e { d *operator->(); };
template <typename d> class f {
public:
  typedef e<d> g;
};
class h {
protected:
  h(int);
};
class j {
public:
  virtual ~j();
  struct k : h {
    int l;
    k() : h(l) {
      struct m : j {
        m() {}
      };
    }
  };
};
struct n {
  n() {
    for (f<b<b<j *>>>::g i;;)
      delete i->c.c;
  }
};
void o() { n(); }
EOF
$ g++ -c -O2 -g reproducer.ii                                                                                                                                                                                     
reproducer.ii: In destructor ‘virtual j::k::k()::m::~m()’:
reproducer.ii:17:14: internal compiler error: in force_type_die, at dwarf2out.c:25128
       struct m : j {
              ^

Version-Release number of selected component (if applicable):
gcc-7.2.1-2.fc27.x86_64

How reproducible:
100%

Actual results:
internal compiler error

Expected results:
Successful compile

Additional info:
This is the linked gcc bug 82155.
Currently we are having to build with a gcc package including this patch which resolves the issue, https://github.com/gcc-mirror/gcc/commit/c7db9cf55ae4022f134624db81cc70d694079b6c

Comment 1 Fedora Update System 2018-01-31 07:49:16 UTC
gcc-7.3.1-2.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2018-75d88970d0

Comment 2 Fedora Update System 2018-01-31 07:55:56 UTC
gcc-7.3.1-2.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2018-aa879be08e

Comment 3 Fedora Update System 2018-01-31 18:43:11 UTC
gcc-7.3.1-2.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-aa879be08e

Comment 4 Fedora Update System 2018-01-31 22:46:06 UTC
gcc-7.3.1-2.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-75d88970d0

Comment 5 Fedora Update System 2018-02-06 10:50:22 UTC
gcc-7.3.1-2.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.

Comment 6 Fedora Update System 2018-02-06 15:32:10 UTC
gcc-7.3.1-2.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.