Shifting and rotation operations are missing for string elements
Summary
The generated c++ code can't be compiled
Steps and/or TTCN-3 code to reproduce
module proba {
control{
var octetstring rawRTCM3msg:='112233445566'O
var integer i:=oct2int(rawRTCM3msg[3] << 4);
log(i)
}
}
What is the current bug behavior?
~/proba$ make
/home/ethgasz/TTCNv3/bin/compiler -L \
proba.ttcn - proba.ttcn
Notify: Parsing TTCN-3 module `proba.ttcn'...
Notify: Checking modules...
Notify: Generating code...
Notify: File `proba.cc' was updated.
Notify: 1 file was updated.
touch compile
g++ -c -DLINUX -I/home/ethgasz/TTCNv3/include -Wall -o proba.o proba.cc
proba.cc: In function ‘void proba::module_control_part()’:
proba.cc:44:68: error: no match for ‘operator<<’ (operand types are ‘const OCTETSTRING_ELEMENT’ and ‘int’)
44 | INTEGER i(oct2int((const_cast< const OCTETSTRING&>(rawRTCM3msg)[3] << 4)));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~ ~
| | |
| | int
| const OCTETSTRING_ELEMENT
make: *** [Makefile:148: proba.o] Error 1
What is the expected correct behavior?
Working c++ code or error reported by the TITAN
Titan version
Latest
/cc @aknappqwt @mmagyari