[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#913802: g++-8: compilation crashing on lambda capturing aliased VLA



Package: g++-8
Version: 8.2.0-9
Severity: important

Compilation of C++ aplication crash with 'Segmentation fault' when
capturing VLA by reference and also requiring name alias. Code works
on ether g++-7 (Debian 7.3.0-30) and clang++ (6.0.1-9.2). Error is
reproducible even on gcc-snapshot.

crash.cpp
void crash_me(unsigned short sz)
{
  if (sz == 0) return;

  short iov[sz];
  auto fce = [&iv = iov](short value) { iv[0] = 0; };
  fce(1);
}

g++    -c -o crash.o crash.cpp
crash.cpp: In lambda function:
crash.cpp:6:37: internal compiler error: Segmentation fault
   auto fce = [&iv = iov](short value) { iv[0] = 0; };
                                     ^
0x7ffaf18d8fbf ???
        /build/glibc-aYuVJl/glibc-2.27/signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0
0x7ffaf18c5b16 __libc_start_main
        ../csu/libc-start.c:310
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <file:///usr/share/doc/gcc-8/README.Bugs> for instructions.
make: *** [<builtin>: crash.o] Error 1


-- System Information:
Distributor ID:	Parrot
Description:	Parrot 4.3
Release:	4.3
Codename:	stable
Architecture: x86_64

Kernel: Linux 4.18.0-parrot10-amd64 (SMP w/6 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages g++-8 depends on:
ii  gcc-8            8.2.0-9
ii  gcc-8-base       8.2.0-9
ii  libc6            2.27-8
ii  libgmp10         2:6.1.2+dfsg-3
ii  libisl19         0.20-2
ii  libmpc3          1.1.0-1
ii  libmpfr6         4.0.1-1
ii  libstdc++-8-dev  8.2.0-9
ii  zlib1g           1:1.2.11.dfsg-1

g++-8 recommends no packages.

Versions of packages g++-8 suggests:
ii  g++-8-multilib    8.2.0-9
pn  gcc-8-doc         <none>
pn  libstdc++6-8-dbg  <none>

-- no debconf information


Reply to: