Bug#812080: gdc-6: array assignment fails to compile
On 20 January 2016 at 17:43, Iain Buclaw wrote: > On 20 January 2016 at 17:40, Matthias Klose wrote: >> >> On 20.01.2016 16:56, Iain Buclaw wrote: >>> >>> On 20 January 2016 at 10:48, Peter De Wachter wrote: >>> Package: gdc-6 Version: 6-20160117-1 Severity: normal Dear Maintainer, This program fails to compile in this gdc snapshot: void main() { real[] a = [-1]; } It is accepted by both gdc-5 and the dmd reference compiler. >>> I'm sure I would have noticed if this was happening in upstream gdc. >>> However I don't want to be quick to point towards some local debian patch >>> causing the problem. Are there debug builds to test? >> >> >> DEB_BUILD_OPTIONS="nocheck nolang=ada,java,objc,obj-c++ gccdebug >> parallel=8" dpkg-buildpackage ... >> > > Thanks, just building now... OK, I've finally been able to reproduce using this compiler to build itself. Previously I was using an older snapshot of a couple weeks. It looks like something has gone awry with the "fake" real_value type. Increasing or Decreasing the stub static array by 1 makes the problem gone. --- // Including gcc/real.h presents too many problems, so // just statically allocate enough space for REAL_VALUE_TYPE. #define REALSZ (16 + sizeof (long))/sizeof (long) #if 1 int exp[2]; // OK #else int exp[3]; // Bad #endif long sig[REALSZ]; --- Now, when using int[3] in the original code, there is 4 bytes of padding added after it. But this shouldn't be a problem... unless perhaps GCC has started passing the fake type in registers instead of on the stack, hmm. In any case, I know at least how to make it not fail. Having it as one array is probably the right way to go though. Iain.
Bug#812080: gdc-6: array assignment fails to compile
On 20 January 2016 at 17:40, Matthias Klose wrote: > On 20.01.2016 16:56, Iain Buclaw wrote: > >> On 20 January 2016 at 10:48, Peter De Wachter wrote: >> >> Package: gdc-6 >>> Version: 6-20160117-1 >>> Severity: normal >>> >>> Dear Maintainer, >>> >>> This program fails to compile in this gdc snapshot: >>> >>>void main() { >>> real[] a = [-1]; >>>} >>> >>> It is accepted by both gdc-5 and the dmd reference compiler. >>> >>> >>> I'm sure I would have noticed if this was happening in upstream gdc. >> However I don't want to be quick to point towards some local debian patch >> causing the problem. Are there debug builds to test? >> > > DEB_BUILD_OPTIONS="nocheck nolang=ada,java,objc,obj-c++ gccdebug > parallel=8" dpkg-buildpackage ... > > Thanks, just building now...
Bug#812080: gdc-6: array assignment fails to compile
On 20.01.2016 16:56, Iain Buclaw wrote: On 20 January 2016 at 10:48, Peter De Wachter wrote: Package: gdc-6 Version: 6-20160117-1 Severity: normal Dear Maintainer, This program fails to compile in this gdc snapshot: void main() { real[] a = [-1]; } It is accepted by both gdc-5 and the dmd reference compiler. I'm sure I would have noticed if this was happening in upstream gdc. However I don't want to be quick to point towards some local debian patch causing the problem. Are there debug builds to test? DEB_BUILD_OPTIONS="nocheck nolang=ada,java,objc,obj-c++ gccdebug parallel=8" dpkg-buildpackage ...
Bug#812080: gdc-6: array assignment fails to compile
On 20 January 2016 at 10:48, Peter De Wachter wrote: > Package: gdc-6 > Version: 6-20160117-1 > Severity: normal > > Dear Maintainer, > > This program fails to compile in this gdc snapshot: > > void main() { > real[] a = [-1]; > } > > It is accepted by both gdc-5 and the dmd reference compiler. > > I'm sure I would have noticed if this was happening in upstream gdc. However I don't want to be quick to point towards some local debian patch causing the problem. Are there debug builds to test? Iain.
Bug#812080: gdc-6: array assignment fails to compile
Package: gdc-6 Version: 6-20160117-1 Severity: normal Dear Maintainer, This program fails to compile in this gdc snapshot: void main() { real[] a = [-1]; } It is accepted by both gdc-5 and the dmd reference compiler. -- System Information: Debian Release: stretch/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.3.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=nl_BE.utf8, LC_CTYPE=nl_BE.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages gdc-6 depends on: ii g++-66-20160117-1 ii gcc-6-base 6-20160117-1 ii libc62.21-6 ii libgmp10 2:6.1.0+dfsg-2 ii libisl15 0.15-3 ii libmpc3 1.0.3-1 ii libmpfr4 3.1.3-2 ii libphobos-6-dev 6-20160117-1 ii zlib1g 1:1.2.8.dfsg-2+b1 gdc-6 recommends no packages. gdc-6 suggests no packages. -- no debconf information