INVALID in arm instructions on build server
Original Reporter info from Mantis: BeniBela @benibela
-
Reporter name: Benito van der Zander
Original Reporter info from Mantis: BeniBela @benibela
- Reporter name: Benito van der Zander
Description:
After updating from the October trunk to today's trunk, my project does not compiler anymore for Android arm on the build server:
xquery__functions.s: Assembler messages:
xquery__functions.s:4898: Error: shift expression expected --sbc r0,r2,INVALID'<br/> xquery__functions.s:4966: Error: immediate expression requires a # prefix --
adc r0,INVALID,r2'
Additional information:
These are the lines it happens. MicroSecsPerSec and ai are int64, all other int types are integer:
# [211] if (adatevalue^.timezone = high(Integer)) and (cxt.staticContext.ImplicitTimezoneInMinutes <> high(Integer)) then ai -= cxt.staticContext.ImplicitTimezoneInMinutes * 60 * MicroSecsPerSec;
ldr r0,[r11, #-68]
ldr r0,[r0, #28]
mvn r1,#-2147483648
cmp r0,r1
bne .Lj224
ldr r0,[r11, #-48]
ldr r0,[r0, #36]
ldr r0,[r0, #8]
cmp r0,#0
beq .Lj227
ldr r0,[r11, #-48]
ldr r0,[r0, #36]
ldr r0,[r0, #8]
ldr r0,[r0, #16]
b .Lj228
.Lj227:
mvn r0,#-2147483648
.Lj228:
mvn r1,#-2147483648
cmp r0,r1
beq .Lj224
ldr r0,[r11, #-48]
ldr r0,[r0, #36]
ldr r0,[r0, #8]
cmp r0,#0
beq .Lj230
ldr r0,[r11, #-48]
ldr r0,[r0, #36]
ldr r0,[r0, #8]
ldr r1,[r0, #16]
b .Lj231
.Lj230:
mvn r1,#-2147483648
.Lj231:
ldr r0,.Lj232
mul r3,r1,r0
ldr r0,[r11, #-80]
ldr r2,[r11, #-76]
subs r1,r0,r3
sbc r0,r2,INVALID
str r1,[r11, #-80]
str r0,[r11, #-76]
....
# [214] if (bdatevalue^.timezone = high(Integer)) and (cxt.staticContext.ImplicitTimezoneInMinutes <> high(Integer)) then ai += cxt.staticContext.ImplicitTimezoneInMinutes * 60 * MicroSecsPerSec;
ldr r0,[r11, #-72]
ldr r1,[r0, #28]
mvn r0,#-2147483648
cmp r1,r0
bne .Lj234
ldr r0,[r11, #-48]
ldr r0,[r0, #36]
ldr r0,[r0, #8]
cmp r0,#0
beq .Lj237
ldr r0,[r11, #-48]
ldr r0,[r0, #36]
ldr r0,[r0, #8]
ldr r0,[r0, #16]
b .Lj238
.Lj237:
mvn r0,#-2147483648
.Lj238:
mvn r1,#-2147483648
cmp r0,r1
beq .Lj234
ldr r0,[r11, #-48]
ldr r0,[r0, #36]
ldr r0,[r0, #8]
cmp r0,#0
beq .Lj240
ldr r0,[r11, #-48]
ldr r0,[r0, #36]
ldr r0,[r0, #8]
ldr r1,[r0, #16]
b .Lj241
.Lj240:
mvn r1,#-2147483648
.Lj241:
ldr r0,.Lj232
mul r3,r1,r0
ldr r0,[r11, #-80]
ldr r2,[r11, #-76]
adds r1,r3,r0
adc r0,INVALID,r2
str r1,[r11, #-80]
str r0,[r11, #-76]
I do not have fpc trunk on my computer to make a smaller example, but here is the entire log of the build server: https://api.travis-ci.org/v3/job/637580697/log.txt
Mantis conversion info:
- Mantis ID: 36587
- Build: r43950
- Version: 3.3.1
- Fixed in version: 3.3.1
- Fixed in revision: 44151 (#39c48f0d)
- Monitored by: » @CuriousKit (J. Gareth Moreton)