digitalmars.D.bugs - [Issue 22114] New: Fatal Token Parser Error at Line 914 for Version
- d-bugmail puremagic.com (94/94) Jul 09 2021 https://issues.dlang.org/show_bug.cgi?id=22114
https://issues.dlang.org/show_bug.cgi?id=22114 Issue ID: 22114 Summary: Fatal Token Parser Error at Line 914 for Version 2.097.0 Product: D Version: D2 Hardware: x86_64 OS: Linux Status: NEW Severity: critical Priority: P1 Component: dmd Assignee: nobody puremagic.com Reporter: Tyler linuxdev.app When attempting to build a complex software with various data structures, I came across a parser error on all DLang compilers: DMD, LDC2, and RDMD. All of them have the same problem coming from DMD implementation for Token parsing particularly on line 914. I've narrowed down the code to the following reproducible code here: ```d module testproblem; public class Test1(T) { private Test2!T val; this() { val = new Test2!T(this); } private class Test2(T) { private Test1!(T) m_source; this(Test1!T source) { m_source = source; } } } public class Demo { auto val = new Test1!int(); } ``` The error shown is as followed after running the command: dmd -c -wi -Isource/ -oftest.o source/testproblem.d -v //////////////////////////////////////////////////////// predefs DigitalMars LittleEndian D_Version2 all D_SIMD Posix ELFv1 linux CRuntime_Glibc CppRuntime_Gcc D_InlineAsm_X86_64 X86_64 D_LP64 D_PIC assert D_ModuleInfo D_Exceptions D_TypeInfo D_HardFloat binary dmd version v2.097.0 config /etc/dmd.conf DFLAGS -I/usr/include/dlang/dmd -L-L/usr/lib -L--export-dynamic -fPIC parse testproblem importall testproblem import object (/usr/include/dlang/dmd/object.d) import core.attribute (/usr/include/dlang/dmd/core/attribute.d) import core.internal.hash (/usr/include/dlang/dmd/core/internal/hash.d) import core.internal.traits (/usr/include/dlang/dmd/core/internal/traits.d) import core.internal.entrypoint (/usr/include/dlang/dmd/core/internal/entrypoint.d) import core.internal.array.appending (/usr/include/dlang/dmd/core/internal/array/appending.d) import core.internal.array.comparison (/usr/include/dlang/dmd/core/internal/array/comparison.d) import core.internal.array.equality (/usr/include/dlang/dmd/core/internal/array/equality.d) import core.internal.array.casting (/usr/include/dlang/dmd/core/internal/array/casting.d) import core.internal.array.concatenation (/usr/include/dlang/dmd/core/internal/array/concatenation.d) import core.internal.array.construction (/usr/include/dlang/dmd/core/internal/array/construction.d) import core.internal.array.capacity (/usr/include/dlang/dmd/core/internal/array/capacity.d) import core.internal.dassert (/usr/include/dlang/dmd/core/internal/dassert.d) import core.atomic (/usr/include/dlang/dmd/core/atomic.d) import core.internal.attributes (/usr/include/dlang/dmd/core/internal/attributes.d) import core.internal.atomic (/usr/include/dlang/dmd/core/internal/atomic.d) import core.internal.destruction (/usr/include/dlang/dmd/core/internal/destruction.d) import core.internal.moving (/usr/include/dlang/dmd/core/internal/moving.d) import core.internal.postblit (/usr/include/dlang/dmd/core/internal/postblit.d) import core.internal.switch_ (/usr/include/dlang/dmd/core/internal/switch_.d) import core.builtins (/usr/include/dlang/dmd/core/builtins.d) semantic testproblem semantic2 testproblem semantic3 testproblem code testproblem Segmentation fault (core dumped) --
Jul 09 2021