#2024 Erroneous ​​storing of pointer value in the pic14 series

open
nobody
PIC14
5
2013-07-16
2012-05-27
Molnár Károly
No

The vfprintf when writing I found a bug. A function return value makes into a union. The return value is a pointer. The compiler only that does it, the value makes to temporary registers, but it does not make it into the union from here.
(Otherwise, I do not know to what should incorporate an override of a temporary registers.) If the type of value is not pointer, then the operation is going correctly.

Discussion

  • The error presentation of.

     
  • SDCC : mcs51/ds390/pic16/pic14/TININative/ds400/hc08/s08 3.1.5 #7784 (May 25 2012) (Linux)

     
  • The new compiler can makes a mistake. Version: SDCC : pic16/pic14 3.1.5 #7792 (May 27 2012) (Linux)

    "(Otherwise, I do not know to what should incorporate an override of a temporary registers.)"

    I know it is easier to work for compiler, but this solution is wasting the PIC own RAM. In addition, the code is much longer.

     
    • labels: --> pic14 target
     
    • Category: --> PIC14