www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 12624] New: Internal error: backend\cgobj.c 2313 with

https://issues.dlang.org/show_bug.cgi?id=12624

          Issue ID: 12624
           Summary: Internal error: backend\cgobj.c 2313 with
                    Rebindable!(immutable TimeZone) in std.datetime
           Product: D
           Version: D2
          Hardware: All
                OS: Windows
            Status: NEW
          Severity: blocker
          Priority: P1
         Component: DMD
          Assignee: nobody puremagic.com
          Reporter: jmdavisProg gmx.com

If I change line# 8960 in std.datetime.SysTime

    Rebindable!(immutable TimeZone) _timezone;

to

    Rebindable!(immutable TimeZone) _timezone = UTC();

then on 32-bit Windows, we get this wonderful error message


symbol 2366CD54 'internal'
  Sclass =    SCextern  Ssymnum = -1 Sfl = FLextrn  Sseg = 2
 Soffset = x0010 Sweight = 0 Sflags = x21000 Sxtrnnum = 0
  Stype   = 2366CD2C Sl      = 00000000 Sr      = 00000000
Tty=TYint  Tmangle=0 Tflags=x0 Tcount=1 Tsize=4 Tnext=00000000
Internal error: backend\cgobj.c 2313

--- errorlevel 1


It compiles just fine on the other platforms, but it fails on 32-bit Windows
(64-bit Windows does not appear to currently be part of the autotester, so I
don't know how it fairs there). Given the fact that "backend/cgobj.c" has the
word backend in it, I assume that the bug is either in the glue layer with the
backend or in the backend itself, but I don't know. Regardless, this is
currently blocking

https://github.com/D-Programming-Language/phobos/pull/2088


Unfortunately, I have been unable to reproduce this problem with a test case
separate from std.datetime, but it's very easy to reproduce with std.datetime.

--
Apr 23 2014