Thread overview
[Issue 24852] LDC fails when compile foreach for the target avr.
Nov 10
cbleser
Nov 10
cbleser
Nov 10
cbleser
November 10
https://issues.dlang.org/show_bug.cgi?id=24852

--- Comment #1 from cbleser <cr@tagion.org> ---
Created attachment 1922
  --> https://issues.dlang.org/attachment.cgi?id=1922&action=edit
Test program for the AVR processor

This contains to simple test program
One written in D style and another in C style(D).

The style compiles but the D-style doesn't

--
November 10
https://issues.dlang.org/show_bug.cgi?id=24852

--- Comment #2 from cbleser <cr@tagion.org> ---
The test program was compiled as follows

D style test

ldc2 -betterC -mtriple=avr -gcc=avr-gcc test.d
Invalid bitcast
  %20 = bitcast i16 %18 to i32
LLVM ERROR: Broken module found, compilation aborted!
#0 0x00006535b26c02e7 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int)
(/home/carsten/bin/ldc2-1.37.0-linux-x86_64/bin/ldc2+0x6acf2e7)
fish: Job 1, 'ldc2 -betterC -mtriple=avr -gcc…' terminated by signal SIGABRT
(Abort)

C style test
ldc2 -betterC -mtriple=avr -gcc=avr-gcc test_ptr.d

The C style compiles fine.

--
November 10
https://issues.dlang.org/show_bug.cgi?id=24852

--- Comment #3 from cbleser <cr@tagion.org> ---
I just noted that the size_t for the AVR 8-bit processor is uint.
But the process can only address 16 bits so it should properly be ushort and
ptrdiff_t should be a short.

--
November 10
https://issues.dlang.org/show_bug.cgi?id=24852

Richard (Rikki) Andrew Cattermole <alphaglosined@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |alphaglosined@gmail.com
         Resolution|---                         |INVALID

--- Comment #4 from Richard (Rikki) Andrew Cattermole <alphaglosined@gmail.com> ---
The ``size_t`` definition in ldc: https://github.com/ldc-developers/ldc/blob/master/runtime/druntime/src/object.d#L62

Note: ldc bugs need to be filed on ldc's repository, not here.

--