Menu

Compiling SDCC in visual studio 2013

Help
2015-12-22
2015-12-28
  • Peter Dons Tychsen

    Hello all,

    I have followed the instructions for VS2010 to build it in VS2013. It almost works.

    The problems i am having is:

    1) SDCPP complains that CL_SDCPP is not defined, as if the options files were not generated correctly.
    2) SDCC itself compiles fine but crashes in BOOST code when running.

    The job i run is: -mstm8 -c main.c, where main is a dummy file with just main().

    sdcc.exe!stm8_ralloc2_cc(ebbIndex * ebbi) Line 584 C++
    sdcc.exe!stm8_assignRegisters(ebbIndex * ebbi) Line 635 C
    sdcc.exe!eBBlockFromiCode(iCode * ic) Line 2414 C
    sdcc.exe!createFunction(symbol * name, ast * body) Line 7190 C
    sdcc.exe!yyparse() Line 212 C
    sdcc.exe!main(int argc, char * argv, char * envp) Line 2551 C

    Does anyone see the same as these 2 errors? Running without -mstm8 makes it go away, but i guess thats just because they do not call ralloc().

    My invironment:

    • MSVC-13-SP5, Win7 64 Pro
    • SDCC trunk.
    • BOOST 1.59, as 1.60 is completely hosed and makes VS2013 crash at build time.
    • MSYS latest.

    Thanks,

    /pedro

     
  • Peter Dons Tychsen

    The entire crashing call tree looks like this:

    sdcc.exe!std::_Debug_message
    sdcc.exe!std::_Debug_lt_pred
    sdcc.exe!std::list
    sdcc.exe!std::list
    sdcc.exe!std::list
    sdcc.exe!tree_dec_ralloc_forget
    sdcc.exe!tree_dec_ralloc_nodes
    sdcc.exe!tree_dec_ralloc_nodes
    sdcc.exe!tree_dec_ralloc_nodes
    sdcc.exe!tree_dec_ralloc_nodes
    sdcc.exe!tree_dec_ralloc
    sdcc.exe!stm8_ralloc2_cc(ebbIndex * ebbi) Line 584 C++
    sdcc.exe!stm8_assignRegisters(ebbIndex * ebbi) Line 635 C
    sdcc.exe!eBBlockFromiCode(iCode * ic) Line 2414 C
    sdcc.exe!createFunction(symbol * name, ast * body) Line 7190 C
    sdcc.exe!yyparse() Line 212 C
    sdcc.exe!main(int argc, char * argv, char * envp) Line 2551 C

     
  • Peter Dons Tychsen

    OK just tried with VS2010 i had on an older PC. Same thing. Crash in BOOST.

    Has any built SDCC recently using MSVC10/13/15 where it actually works with "-mstm8" ?.

     
  • Peter Dons Tychsen

    Also VC2010 complains about CL_SDCPP just like VC2013

     
  • alvin

    alvin - 2015-12-23

    I'm using VS2010 and boost 1.57.0 and have no difficulty compiling an empty main.c using stm8

     
  • Peter Dons Tychsen

    Maybe i should try boost 1.57.0 then.

    What about the CL_SDCPP bug. Do you get that ?

     
  • Peter Dons Tychsen

    OK found the culprit.

    Mingw (msys 1.0) does not work properly. It messes up allot of CR/LF translations.
    This is causing both errors.

    Using MSYS2 which is actively updated makes it work just fine.
    I can recommend MSYS2 which is also fairly light-weight.

    Maybe the docs should be updated to reflect this.

    Thanks,

    /pedro

     

Log in to post a comment.