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

Patrick Conlon <cptjustice at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |cptjustice at gmail dot com

--- Comment #1 from Patrick Conlon <cptjustice at gmail dot com> ---
On gcc 9.0.0 20180808 (experimental) this code no longer give this error. 
pdp11-aout-gcc no longer produces the sxt instruction with the -m10 option, but
still does for -m40 as it should.


cptnapalm@oracle~/s/p/p/g/59847_cast_to_long_m10> pdp11-aout-gcc -v
Using built-in specs.
COLLECT_GCC=pdp11-aout-gcc
COLLECT_LTO_WRAPPER=/home/cptnapalm/opt/pdp11-aout/libexec/gcc/pdp11-aout/9.0.0/lto-wrapper
Target: pdp11-aout
Configured with: /home/cptnapalm/src/gnu/gcc/configure --target=pdp11-aout
--prefix=/home/cptnapalm/opt/pdp11-aout --disable-libstdcxx --disable-nls
--without-headers --enable-languages=c : (reconfigured)
/home/cptnapalm/src/gnu/gcc/configure --target=pdp11-aout
--prefix=/home/cptnapalm/opt/pdp11-aout --disable-libstdcxx --disable-nls
--without-headers --enable-languages=c --disable-libssp : (reconfigured)
/home/cptnapalm/src/gnu/gcc/configure --target=pdp11-aout
--prefix=/home/cptnapalm/opt/pdp11-aout --disable-libstdcxx --disable-nls
--without-headers --enable-languages=c --disable-libssp20180808 (experimental)
Thread model: single
gcc version 9.0.0 20180808 (experimental) (GCC)
cptnapalm@oracle~/s/p/p/g/59847_cast_to_long_m10> pdp11-aout-gcc -m10 -S -o
cast_to_long_m10.s cast_to_long_m10.c
cast_to_long_m10.c:1:1: warning: return type defaults to 'int' [-Wimplicit-int]
 test ()
 ^~~~
cptnapalm@oracle~/s/p/p/g/59847_cast_to_long_m10> cat cast_to_long_m10.s
        .text
        .even
        .globl  _test
_test:
        mov     r5,-(sp)
        mov     sp,r5
        add     $-06,sp
        mov     r2,-(sp)
        clr     -04(r5)
        mov     $012,-02(r5)
        mov     $012,-06(r5)
        mov     -06(r5),r0
        mov     r0,-02(r5)
        mov     r0,r1
        mov     $017,r2
        mov     r0,r1
L_3:
        asr     r1
        dec     r2
        bne     L_3
        mov     r1,-04(r5)
        nop
        mov     (sp)+,r2
        mov     r5,sp
        mov     (sp)+,r5
        rts     pc
cptnapalm@oracle~/s/p/p/g/59847_cast_to_long_m10> pdp11-aout-gcc -m40 -S -o
cast_to_long_m40.s cast_to_long_m10.c
cast_to_long_m10.c:1:1: warning: return type defaults to 'int' [-Wimplicit-int]
 test ()
 ^~~~
cptnapalm@oracle~/s/p/p/g/59847_cast_to_long_m10> cat cast_to_long_m40.s
        .text
        .even
        .globl  _test
_test:
        mov     r5,-(sp)
        mov     sp,r5
        add     $-06,sp
        clr     -04(r5)
        mov     $012,-02(r5)
        mov     $012,-06(r5)
        mov     -06(r5),-02(r5)
        sxt     -04(r5)
        nop
        mov     r5,sp
        mov     (sp)+,r5
        rts     pc
cptnapalm@oracle~/s/p/p/g/59847_cast_to_long_m10> cat cast_to_long_m10.c
test ()
{
    long a = 10;
    short b = 10;
    a = (long) b;
}

Reply via email to