https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95838

            Bug ID: 95838
           Summary: [10 Regression] ICE in (Segmentation Fault)
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: doko at debian dot org
  Target Milestone: ---

seen with the gcc-10 branch 20200616, not with 20200525:

$ cat watchdog.ii
namespace a {
class b {
public:
  virtual ~b();
  virtual void c();
};
} // namespace a
class d {
protected:
  virtual ~d();
};
class f : d, a::b {
public:
  using a::b::c;
};
class g final : f {
  void e();
};
void g::e() {
  c()
};

$ gcc-10 -std=c++17 -Wall -c watchdog.ii 
watchdog.ii: In member function ‘void g::e()’:
watchdog.ii:20:5: internal compiler error: Segmentation fault
   20 |   c()
      |     ^
0x7fce9f94b7ff ???
        ./signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0
0x7fce9f936e0a __libc_start_main
        ../csu/libc-start.c:308
Please submit a full bug report,
with preprocessed source if appropriate.


Program received signal SIGSEGV, Segmentation fault.
0x0000000000629006 in lookup_vfn_in_binfo(tree_node*, tree_node*) ()
(gdb) bt
#0  0x0000000000629006 in lookup_vfn_in_binfo(tree_node*, tree_node*) ()
#1  0x000000000061d559 in ?? ()
#2  0x000000000061eeaf in ?? ()
#3  0x000000000061f900 in build_new_method_call(tree_node*, tree_node*,
vec<tree_node*, va_gc, vl_embed>**, tree_node*, int, tree_node**, int) ()
#4  0x00000000006fc4fe in ?? ()
#5  0x00000000006e0e5b in ?? ()
#6  0x00000000006e250f in ?? ()
#7  0x00000000006e2823 in ?? ()
#8  0x00000000006e4da9 in ?? ()
#9  0x00000000006ef2a4 in ?? ()
#10 0x00000000006f09f9 in ?? ()
#11 0x00000000006f0ab1 in ?? ()
#12 0x00000000007065a1 in ?? ()
#13 0x0000000000709bae in ?? ()
#14 0x000000000070aa90 in ?? ()
#15 0x00000000006ed433 in ?? ()
#16 0x0000000000713183 in ?? ()
#17 0x00000000007138a5 in c_parse_file() ()
#18 0x00000000007dc2bc in c_common_parse_file() ()
#19 0x0000000000c30364 in ?? ()
#20 0x0000000000607c3d in toplev::main(int, char**) ()
#21 0x000000000060b73f in main ()

Reply via email to