www.digitalmars.com         C & C++   DMDScript  

D.gnu - [Bug 121] New: ICE when initializing immutable char to void

Date: Sat, 19 Apr 2014 06:18:11 +0100
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"

http://bugzilla.gdcproject.org/show_bug.cgi?id=121

            Bug ID: 121
           Summary: ICE when initializing immutable char to void
           Product: GDC
           Version: 4.8.x
          Hardware: All
                OS: All
            Status: NEW
          Severity: minor
          Priority: Normal
         Component: gdc
          Assignee: ibuclaw gdcproject.org
          Reporter: slavo5150 yahoo.com

The following code...

import std.stdio;

immutable char c = void; 

void main()
{
   writeln(c);
}

.. causes GDC to ICE:

internal compiler error: in gimplify_init_constructor, at gimplify.c:4269
0x7b3be3 gimplify_init_constructor
    ../../gcc-4.8.2/gcc/gimplify.c:4269
0x7b445b gimplify_modify_expr_rhs
    ../../gcc-4.8.2/gcc/gimplify.c:4468
0x7b47af gimplify_modify_expr
    ../../gcc-4.8.2/gcc/gimplify.c:4861
0x7af1ab gimplify_expr(tree_node**, gimple_statement_d**, gimple_statement_d**,
bool (*)(tree_node*), int)
    ../../gcc-4.8.2/gcc/gimplify.c:7193
0x7b0f86 gimplify_stmt(tree_node**, gimple_statement_d**)
    ../../gcc-4.8.2/gcc/gimplify.c:5725
0x7b1d25 gimplify_and_add
    ../../gcc-4.8.2/gcc/gimplify.c:370
0x7b1d25 internal_get_tmp_var
    ../../gcc-4.8.2/gcc/gimplify.c:636
0x7ae668 gimplify_expr(tree_node**, gimple_statement_d**, gimple_statement_d**,
bool (*)(tree_node*), int)
    ../../gcc-4.8.2/gcc/gimplify.c:8023
0x7b329b gimplify_call_expr
    ../../gcc-4.8.2/gcc/gimplify.c:2669
0x7aec6d gimplify_expr(tree_node**, gimple_statement_d**, gimple_statement_d**,
bool (*)(tree_node*), int)
    ../../gcc-4.8.2/gcc/gimplify.c:7164
0x7b0f86 gimplify_stmt(tree_node**, gimple_statement_d**)
    ../../gcc-4.8.2/gcc/gimplify.c:5725
0x7aedbb gimplify_statement_list
    ../../gcc-4.8.2/gcc/gimplify.c:1561
0x7aedbb gimplify_expr(tree_node**, gimple_statement_d**, gimple_statement_d**,
bool (*)(tree_node*), int)
    ../../gcc-4.8.2/gcc/gimplify.c:7582
0x7b0f86 gimplify_stmt(tree_node**, gimple_statement_d**)
    ../../gcc-4.8.2/gcc/gimplify.c:5725
0x7b1652 gimplify_bind_expr
    ../../gcc-4.8.2/gcc/gimplify.c:1253
0x7aec4a gimplify_expr(tree_node**, gimple_statement_d**, gimple_statement_d**,
bool (*)(tree_node*), int)
    ../../gcc-4.8.2/gcc/gimplify.c:7364
0x7b0f86 gimplify_stmt(tree_node**, gimple_statement_d**)
    ../../gcc-4.8.2/gcc/gimplify.c:5725
0x7aedbb gimplify_statement_list
    ../../gcc-4.8.2/gcc/gimplify.c:1561
0x7aedbb gimplify_expr(tree_node**, gimple_statement_d**, gimple_statement_d**,
bool (*)(tree_node*), int)
    ../../gcc-4.8.2/gcc/gimplify.c:7582
0x7b0f86 gimplify_stmt(tree_node**, gimple_statement_d**)
    ../../gcc-4.8.2/gcc/gimplify.c:5725


I was creating use cases to try and figure out what section the compiler puts
variables in when I found this bug.  I don't know why anyone would want to do
such a thing, but the compiler shouldn't crash.  DMD 2.065 handles it fine.

-- 
You are receiving this mail because:
You are watching all bug changes.
Apr 18 2014