|Key||Issue Type||Summary||Resolution||Release Note|
Compiler: Wrong code using 64-bit enum return type for c++ compatible method
Internal error: Expression too complex + NullRefException
R4 is reserved in the TargetSettings in this case ("codegenerator\\reserved-registers").
The 64-bit integer data types are loaded atomically (TargetSetting "codegenerator\\atomic-read-write-64-bit"). For this purpose, an even register number and the following register number must be used for load/store operations. There are only 8 registers in total available for code generation.
=> There are only a few register pairs for the use of atomic load/store operations. The error message can also be issued in the future for somewhat more complex expressions.
ARM: Multicore Operator TEST_AND_SET causes an exception
If the targetsetting "codegenerator\\load-store-register-exclusive" is set to true the TEST_AND_SET operator is implemented with the LDREX (load register exclusive) and STREX (store register exclusive) instructions instead of the deprecated SWP instruction.
ARM32 codegeneration: Support Clang compiler for direct calls of C++ functions
New target setting: "codegenerator\\clang"