[Bug d/107592] New: ICE: gdc segfault on label continue
zorael at gmail dot com
gcc-bugzilla@gcc.gnu.org
Wed Nov 9 16:06:29 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107592
Bug ID: 107592
Summary: ICE: gdc segfault on label continue
Product: gcc
Version: 12.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: d
Assignee: ibuclaw at gdcproject dot org
Reporter: zorael at gmail dot com
Target Milestone: ---
Manjaro/Arch x86_64, gdc from gcc-d 12.2.0-1 from official repositories.
The following code ICEs with a segmentation fault.
```
void main()
{
foo(string.init);
}
void foo(Things...)(Things things)
{
label:
foreach (thing; things)
{
continue label;
}
}
```
`gdc -v -save-temps -freport-bug app.d` output:
```
Using built-in specs.
COLLECT_GCC=gdc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /build/gcc/src/gcc/configure
--enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++,d --enable-bootstrap
--prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man
--infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/
--with-build-config=bootstrap-lto --with-linker-hash-style=gnu
--with-system-zlib --enable-__cxa_atexit --enable-cet=auto
--enable-checking=release --enable-clocale=gnu --enable-default-pie
--enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object
--enable-libstdcxx-backtrace --enable-link-serialization=1
--enable-linker-build-id --enable-lto --enable-multilib --enable-plugin
--enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch
--disable-werror
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 12.2.0 (GCC)
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-freport-bug' '-o' 'a.out'
'-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'a-'
/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/d21 app.d -quiet -dumpdir a- -dumpbase
app.d -dumpbase-ext .d -mtune=generic -march=x86-64 -version -freport-bug -v -o
a-app.s
GNU D (GCC) version 12.2.0 (x86_64-pc-linux-gnu)
compiled by GNU C version 12.2.0, GMP version 6.2.1, MPFR version
4.1.0-p13, MPC version 1.2.1, isl version isl-0.25-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU D (GCC) version 12.2.0 (x86_64-pc-linux-gnu)
compiled by GNU C version 12.2.0, GMP version 6.2.1, MPFR version
4.1.0-p13, MPC version 1.2.1, isl version isl-0.25-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
binary /usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/d21
version v2.100.1
predefs GNU D_Version2 LittleEndian GNU_DWARF2_Exceptions GNU_StackGrowsDown
GNU_InlineAsm D_LP64 D_PIC D_PIE assert D_PreConditions D_PostConditions
D_Invariants D_ModuleInfo D_Exceptions D_TypeInfo all X86_64 D_HardFloat Posix
linux CRuntime_Glibc CppRuntime_Gcc
parse app
importall app
import object
(/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/d/object.d)
import core.attribute
(/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/d/core/attribute.d)
import gcc.attributes
(/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/d/gcc/attributes.d)
import core.internal.hash
(/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/d/core/internal/hash.d)
import core.internal.traits
(/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/d/core/internal/traits.d)
import core.internal.entrypoint
(/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/d/core/internal/entrypoint.d)
import core.internal.array.appending
(/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/d/core/internal/array/appending.d)
import core.internal.array.comparison
(/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/d/core/internal/array/comparison.d)
import core.internal.array.equality
(/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/d/core/internal/array/equality.d)
import core.internal.array.casting
(/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/d/core/internal/array/casting.d)
import core.internal.array.concatenation
(/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/d/core/internal/array/concatenation.d)
import core.internal.array.construction
(/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/d/core/internal/array/construction.d)
import core.internal.array.capacity
(/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/d/core/internal/array/capacity.d)
import core.internal.dassert
(/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/d/core/internal/dassert.d)
import core.atomic
(/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/d/core/atomic.d)
import core.internal.attributes
(/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/d/core/internal/attributes.d)
import core.internal.atomic
(/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/d/core/internal/atomic.d)
import gcc.builtins
(/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/d/gcc/builtins.d)
import gcc.config
(/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/d/gcc/config.d)
import core.internal.destruction
(/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/d/core/internal/destruction.d)
import core.internal.moving
(/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/d/core/internal/moving.d)
import core.internal.postblit
(/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/d/core/internal/postblit.d)
import core.internal.switch_
(/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/d/core/internal/switch_.d)
import core.lifetime
(/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/d/core/lifetime.d)
import core.builtins
(/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/d/core/builtins.d)
semantic app
entry main app.d
semantic2 app
semantic3 app
code app
function D main
function app._d_cmain!().main
function app.foo!string.foo
during GIMPLE pass: cfg
app.d: In function ‘foo’:
app.d:6:6: internal compiler error: Segmentation fault
6 | void foo(Things...)(Things things)
| ^
0x1ac32f4 internal_error(char const*, ...)
???:0
0xe98543 cleanup_dead_labels()
???:0
Please submit a full bug report, with preprocessed source.
Please include the complete backtrace with any bug report.
See <https://bugs.archlinux.org/> for instructions.
```
More information about the Gcc-bugs
mailing list