Shop OBEX P1 Docs P2 Docs Learn Events
"Expression too complex" — Parallax Forums

"Expression too complex"

Jasper_MJasper_M Posts: 222
edited 2007-03-19 20:28 in Propeller 1
Propeller IDE 1.05.2:

movd :modcall_write_lp, #modcall_area_begin

Results in an error "Expression is too complex", and it's complaining about ":modcall_write_lp". The error seems to appear only if the label following the : is exactly 16 charactes long.

Comments

  • cgraceycgracey Posts: 14,133
    edited 2007-02-04 04:39
    I'm sorry that I didn't notice this when it was first posted.

    Indeed, the compiler thinks there's an error when a local label is exactly 16 characters long after the colon. I will look into this and find out why, then fix it.

    Thanks for pointing this out.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


    Chip Gracey
    Parallax, Inc.
  • cgraceycgracey Posts: 14,133
    edited 2007-02-04 08:38
    Okay, the problem was that a register was getting corrupted in the expression resolver·due to lack of a·requisite push and pop. This error was introduced in the last compiler release. I've noted where the push/pop must go, but we·may not be able to·release another Propeller.exe until Jeff returns in a week, or so, from vacation, as only he knows the recipe for building the installer. We'll try on our own, though.

    As long as your assembler expressions don't have any math before·a :label reference, and your :label is less than 16 characters, you should experience no trouble in the interim. What will cause a problem is something like 1+:label, whereas :label+1 is okay.

    Sorry about this. We'll get this repaired ASAP.



    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


    Chip Gracey
    Parallax, Inc.
  • cgraceycgracey Posts: 14,133
    edited 2007-03-19 20:19
    Jeff's back and he's incorporated this compiler fix into the Propeller Tool.

    Tomorrow he will post a new version of the Propeller tool that will have some minor enhancements:

    1) This·16-character·local label bug is fixed.

    2) The recognition of USB serial ports is improved (Silicon Labs devices)

    3) Propeller reset signal can·be changed from·'DTR' to 'RTS', or both, for virtual com ports that may not have 'DTR'.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


    Chip Gracey
    Parallax, Inc.
  • Jasper_MJasper_M Posts: 222
    edited 2007-03-19 20:28
    Ah, sounds good ^_^ finally I can get rid of those underscores after my local labels...
Sign In or Register to comment.