retdec icon indicating copy to clipboard operation
retdec copied to clipboard

error: cast from int16_t to int32_t loses precision

Open milahu opened this issue 9 months ago • 0 comments

retdec produces code like

int16_t* some_int = NULL;

(int32_t) some_int;

which fails to compile

main.cpp: error: cast from ‘int16_t*’ {aka ‘short int*’} to ‘int32_t’ {aka ‘int’} loses precision [-fpermissive]

related:

  • https://stackoverflow.com/questions/8843818/what-does-the-fpermissive-flag-do
    • use CFLAGS="-fpermissive" to turn errors to warnings
  • https://stackoverflow.com/questions/1640423/error-cast-from-void-to-int-loses-precision
    • use static_cast<int>(reinterpret_cast<long>(void * your_variable));
  • https://developerfacts.com/answer/4586808-how-do-i-work-around-the-gcc-error-cast-from-sourcelocation-to-int-loses-precision-error-when-compiling-cmockeryc
    • use CFLAGS="-m32" to force 32bit target

milahu avatar Oct 01 '23 09:10 milahu