https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97843

            Bug ID: 97843
           Summary: Bad code gen when concatenating to array
           Product: gcc
           Version: 10.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: d
          Assignee: ibuclaw at gdcproject dot org
          Reporter: alex at sunopti dot com
  Target Milestone: ---

This code:

import std.stdio;

ubyte sum(ubyte[] bytes)
{
        ubyte result;
        foreach(x;bytes)
                result += x;
        return result;
}

int main()
{
        ubyte[] bytes = [0,1];
        bytes ~= bytes.sum;
        writefln("sum = %s",bytes[$-1]);
        return 0;
}

Expected output :
sum = 1 as confirmed at https://dlang.org/ your code here
Actual output :
sum = <random number>

Reply via email to