Package: gdc-4.3
Version: 1:1.046-4.3.4-4
Severity: normal

I've found another internal compiler error, an assertion failure in dwarf2out.c
this time. It looks like the inliner violates some invariant, and the DWARF
code chokes on it.  The compiler flags matter in this example, it only happens
with '-O2 -frelease -g'.

$ cat color.d
public struct Color{
        double red   = 0;
        double green = 0;
        double blue  = 0;
        
        static Color opCall() {
                Color instance;
                return instance;
        }
        
        Color opAdd(real right){ return Color(); }
        void opAddAssign(real right){ *this = *this + right; }
}

$ gdc -O2 -frelease -g -c color.d
color.d: In member function 'opAddAssign':
color.d:12: internal compiler error: in decl_ultimate_origin, at 
dwarf2out.c:5139
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gdc-4.3/README.Bugs> for instructions.

$ gdc -v
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 1:1.046-4.3.4-4' 
--with-bugurl=file:///usr/share/doc/gdc-4.3/README.Bugs 
--enable-languages=c,c++,d --prefix=/usr --enable-shared --enable-multiarch 
--enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib 
--without-included-gettext --enable-threads=posix --enable-nls 
--with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 
--enable-clocale=gnu --disable-libmudflap --with-tune=generic 
--enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu 
--target=x86_64-linux-gnu
Thread model: posix
gcc version 4.3.4 (Debian 1:1.046-4.3.4-4) 



-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-3-amd64 (SMP w/2 CPU cores)
Locale: LANG=nl_BE.UTF-8, LC_CTYPE=nl_BE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages gdc-4.3 depends on:
ii  g++-4.3                  4.3.4-10        The GNU C++ compiler
ii  gcc-4.3-base             4.3.4-10        The GNU Compiler Collection (base 
ii  libc6                    2.10.2-6        Embedded GNU C Library: Shared lib
ii  libgcc1                  1:4.4.3-7       GCC support library
ii  libgmp3c2                2:4.3.2+dfsg-1  Multiprecision arithmetic library
ii  libmpfr1ldbl             2.4.2-3         multiple precision floating-point 
ii  libphobos-4.3-dev        1:1.046-4.3.4-4 The phobos D standard library
ii  libstdc++6               4.4.3-7         The GNU Standard C++ Library v3

gdc-4.3 recommends no packages.

gdc-4.3 suggests no packages.

-- no debconf information
public struct Color{
	double red   = 0;
	double green = 0;
	double blue  = 0;
	
	static Color opCall() {
		Color instance;
		return instance;
	}
	
	Color opAdd(real right){ return Color(); }
	void opAddAssign(real right){ *this = *this + right; }
}

Reply via email to