November 07, 2014
https://issues.dlang.org/show_bug.cgi?id=13693

          Issue ID: 13693
           Summary: Assertion failed at cppmangle.c:298: void
                    CppMangleVisitor::mangle_variable(VarDeclaration*,
                    bool)
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: minor
          Priority: P1
         Component: DMD
          Assignee: nobody@puremagic.com
          Reporter: redballoon36@gmail.com

The following test case fails an assertion and crashes dmd:

extern(C++) struct A;
extern(C++) A *a;

dmd properly emits an error message explaining that this is not permitted (test.d(2): Error: variable test.a ICE: C++ static non- __gshared non-extern variables not supported).  Then it reaches an assertion, fails, and dumps core.

I'm running dmd 2.066.1 on Arch Linux.

--