[Issue 17726] Older DMD versions segfault when building Druntime with GCC 7.1

2017-08-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17726 Vladimir Panteleev changed: What|Removed |Added Status|NEW

[Issue 17726] Older DMD versions segfault when building Druntime with GCC 7.1

2017-08-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17726 --- Comment #9 from Vladimir Panteleev --- (In reply to Vladimir Panteleev from comment #8) > Although I would expect that master would fail in the same way when built > with RELEASE=1, it doesn't seem to be the

[Issue 17726] Older DMD versions segfault when building Druntime with GCC 7.1

2017-08-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17726 Vladimir Panteleev changed: What|Removed |Added See Also|

[Issue 17726] Older DMD versions segfault when building Druntime with GCC 7.1

2017-08-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17726 --- Comment #7 from Vladimir Panteleev --- GCC 7 uses movdqa/movaps instructions, which require the address to be aligned to 16 bytes, so GCC expects the elem* instances to be aligned. However, they aren't aligned

[Issue 17726] Older DMD versions segfault when building Druntime with GCC 7.1

2017-08-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17726 --- Comment #6 from Vladimir Panteleev --- Finally reduced: // test.cpp // #include union U { double Vdouble; long double Vldouble; }; void fun(U *e) { U esave = {};

[Issue 17726] Older DMD versions segfault when building Druntime with GCC 7.1

2017-08-06 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17726 --- Comment #5 from Vladimir Panteleev --- Segfault occurs on the line: esave = *e; The line is inside the evalu8 function, which is also the only function needed to be compiled with -O2 for the bug to

[Issue 17726] Older DMD versions segfault when building Druntime with GCC 7.1

2017-08-06 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17726 --- Comment #4 from Vladimir Panteleev --- Narrowed down the file to backend/evalu8.c. (Segfault manifests iff that file is compiled with -O2). --

[Issue 17726] Older DMD versions segfault when building Druntime with GCC 7.1

2017-08-06 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17726 --- Comment #3 from Vladimir Panteleev --- Minimal object.d: // object_.d // module object; class Object {} struct OffsetTypeInfo {} class TypeInfo {} class TypeInfo_Class {

[Issue 17726] Older DMD versions segfault when building Druntime with GCC 7.1

2017-08-06 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17726 --- Comment #2 from Vladimir Panteleev --- Works fine without "CFLAGS += -O2", so it looks like either a GCC optimizer bug, or UB in DMD. --

[Issue 17726] Older DMD versions segfault when building Druntime with GCC 7.1

2017-08-06 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17726 --- Comment #1 from Vladimir Panteleev --- (In reply to Vladimir Panteleev from comment #0) > On Arch Linux, attempting to build D versions from 2015 or earlier I should clarify that the method used was with