targets/XSD_toolchain_gcc
author Andrey Skvortsov <andrej.skvortzov@gmail.com>
Wed, 01 Aug 2018 13:09:45 +0300
changeset 2258 c9915bc620cd
parent 1478 69fe0b81e951
permissions -rwxr-xr-x
Fix wrong code generation if EN/ENO are used in FBD/LD/SFC

This problem appears for example here

--------
------- | MOVE |
| MOVE1 |------|EN ENO|
------- | |
| |
------- | | -----------
| 23 |------|IN OUT|---| LocalVar0 |
------- -------- -----------


--------
------- | MOVE |
| MOVE2 |------|EN ENO|
------- | |
| |
------- | | -----------
| 15 |------|IN OUT|---| LocalVar0 |
------- -------- -----------

Before wrong code was generated for this case:

MOVE6_OUT := MOVE(EN := move1, IN := 23, ENO => MOVE6_ENO);
LocalVar0 := MOVE6_OUT;
MOVE4_OUT := MOVE(EN := move2, IN := 15, ENO => MOVE4_ENO);
LocalVar0 := MOVE4_OUT;

With this patch now following code is generated:

MOVE6_OUT := MOVE(EN := move1, IN := 23, ENO => MOVE6_ENO);
IF MOVE6_ENO THEN
LocalVar0 := MOVE6_OUT;
END_IF;
MOVE4_OUT := MOVE(EN := move2, IN := 15, ENO => MOVE4_ENO);
IF MOVE4_ENO THEN
LocalVar0 := MOVE4_OUT;
END_IF;


See discussion here:
https://sourceforge.net/p/beremiz/mailman/message/36378805/
251
2066d2c65b71 change default linker (ld ) to g++ in XSD for gcc toolchain
greg
parents: 203
diff changeset
     1
2066d2c65b71 change default linker (ld ) to g++ in XSD for gcc toolchain
greg
parents: 203
diff changeset
     2
          <xsd:attribute name="Compiler" type="xsd:string" use="optional" default="gcc"/>
1478
69fe0b81e951 make attribute CFLAGS and LDFLAGS optional and add default empty value
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 621
diff changeset
     3
          <xsd:attribute name="CFLAGS" type="xsd:string" use="optional" default=""/>
621
a3ce93d63832 Default gcc toolchain config now use 'gcc' for linking. Was left accidentally to g++ since old times of wxSVG based SVGUI. Cleaned up gcc parameters when linking
Edouard Tisserant
parents: 251
diff changeset
     4
          <xsd:attribute name="Linker" type="xsd:string" use="optional" default="gcc"/>
1478
69fe0b81e951 make attribute CFLAGS and LDFLAGS optional and add default empty value
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 621
diff changeset
     5
          <xsd:attribute name="LDFLAGS" type="xsd:string" use="optional" default=""/>