titan.core issueshttps://gitlab.eclipse.org/eclipse/titan/titan.core/-/issues2023-11-15T09:58:34Zhttps://gitlab.eclipse.org/eclipse/titan/titan.core/-/issues/647Record compatibility is too restrictive in Titan2023-11-15T09:58:34ZLevente ErősRecord compatibility is too restrictive in Titan## Summary
Record compatibility requires type name equivalence while standard does not.
## Steps and/or TTCN-3 code to reproduce
```
type record AType {
integer a(0..10) optional,
integer b(0..10) optional,
boolean c
}
type reco...## Summary
Record compatibility requires type name equivalence while standard does not.
## Steps and/or TTCN-3 code to reproduce
```
type record AType {
integer a(0..10) optional,
integer b(0..10) optional,
boolean c
}
type record BType {
integer a optional,
integer b(0..10) optional,
boolean c
}
type record CType {
// type with different field names
integer d optional,
integer e optional,
boolean f
}
type record DType {
// type with field c optional
integer a optional,
integer b optional,
boolean c optional
}
type record EType {
// type with an extra field d
integer a optional,
integer b optional,
boolean c,
float d optional
}
testcase record_comp() runs on ct_empty{
var AType v_myVarA := { -, 1, true};
var BType v_myVarB := { omit, 2, true};
var CType v_myVarC := { 3, omit, true};
v_myVarA := v_myVarB; //error
v_myVarC := v_myVarB; //error
v_myVarC := { d:= 20 };
v_myVarA := v_myVarC; //error
}
```
## What is the current bug behavior?
Errors in the indicated lines.
## What is the expected correct behavior?
These assignments shall succeed: Titan should only take into consideration the (written form of the) value that is assigned, not its type (and not the field names).
## Relevant logs and/or screenshots
```
../src/datatypes.ttcn:553.3-22: In variable assignment:
../src/datatypes.ttcn:553.15-22: error: Type mismatch: a value of type `@datatypes.AType' was expected instead of `@datatypes.BType'
../src/datatypes.ttcn:554.3-22: In variable assignment:
../src/datatypes.ttcn:554.15-22: error: Type mismatch: a value of type `@datatypes.CType' was expected instead of `@datatypes.BType'
../src/datatypes.ttcn:558.3-22: In variable assignment:
../src/datatypes.ttcn:558.15-22: error: Type mismatch: a value of type `@datatypes.AType' was expected instead of `@datatypes.CType'
```
## Possible fixes
## Titan version
8.1.0
## Platform details (OS type and version)
Microsoft Windows 10 Enterprise 10.0.19042
/cc @aknappqwt @mmagyariBotond BaranyiBotond Baranyihttps://gitlab.eclipse.org/eclipse/titan/titan.core/-/issues/700Compilation issue in getter/setter functions2023-11-15T09:57:00ZBotond BaranyiCompilation issue in getter/setter functionsThe 'is_in_getter_scope' and 'is_in_setter_scope' functions don't compile on Alpine Linux.
See https://www.eclipse.org/forums/index.php/t/1113087/The 'is_in_getter_scope' and 'is_in_setter_scope' functions don't compile on Alpine Linux.
See https://www.eclipse.org/forums/index.php/t/1113087/Botond BaranyiBotond Baranyihttps://gitlab.eclipse.org/eclipse/titan/titan.core/-/issues/702integer is not treated as integer: The union type LENGTHTO field must contain...2023-11-15T09:56:50ZGábor Szalaiinteger is not treated as integer: The union type LENGTHTO field must contain only integer, bitstring or octetstring fields## Summary
the
type integer INT1
is not identified as integer
## Steps and/or TTCN-3 code to reproduce
```
module proba {
type union my_attribute_length {
INT1 short_length,
LIN2_BO_LAST extended_length
}
type record my_a...## Summary
the
type integer INT1
is not identified as integer
## Steps and/or TTCN-3 code to reproduce
```
module proba {
type union my_attribute_length {
INT1 short_length,
LIN2_BO_LAST extended_length
}
type record my_attribute {
my_attribute_length attribute_length,
octetstring attribute_value
} with {
variant (attribute_length) "LENGTHTO(attribute_value)"
}
type integer INT1 (0..255) with { variant "FIELDLENGTH(8)" };
type integer LIN2_BO_LAST (0..65535) with { variant "FIELDLENGTH(16), COMP(nosign), BYTEORDER(last)" };
} with {
encode "RAW"
}
```
## What is the current bug behavior?
proba.ttcn:8.6-11.1: error: The union type LENGTHTO field must contain only integer, bitstring or octetstring fields
proba.ttcn:8.6-11.1: error: The union type LENGTHTO field must contain only integer, bitstring or octetstring fields
## What is the expected correct behavior?
no error
## Relevant logs and/or screenshots
The
```
type union my_attribute_length {
integer short_length,
integer extended_length
} with {
variant (short_length) "FIELDLENGTH(8)"
variant (extended_length) "FIELDLENGTH(16), COMP(nosign), BYTEORDER(last)"
}
```
compiled correctly
/cc @aknappqwt @mmagyariAdam KnappAdam Knapphttps://gitlab.eclipse.org/eclipse/titan/titan.core/-/issues/604OOP: issues with parameter default values and inheritance2023-05-16T10:56:08ZBotond BaranyiOOP: issues with parameter default values and inheritance## Summary
The code generated for the following TTCN-3 module produces several C++ compilation errors (details below).
## Steps and/or TTCN-3 code to reproduce
```
type component CT { }
type class @trait CommonInterface {
public fu...## Summary
The code generated for the following TTCN-3 module produces several C++ compilation errors (details below).
## Steps and/or TTCN-3 code to reproduce
```
type component CT { }
type class @trait CommonInterface {
public function @abstract f_do_common(charstring p_test/* := "test"*/);
}
type class @abstract Base extends CommonInterface {
public function f_do_common(charstring p_test:="test") {
log("called from Base: "&p_test)
}
}
type class @final Sub extends Base {
public function f_do_common(charstring p_test:="test") {
log("called from Sub: "&p_test);
}
}
testcase tc() runs on CT {
var Sub sub := Sub.create();
sub.f_do_common();
sub.f_do_common("test2");
}
control {
execute(tc())
}
```
## What is the current bug behavior?
There are 3 issues in the generated code:
1. The parameter default values generated for functions 'Base.f_do_common' and 'Sub.f_do_common' have the same name: 'f__do__common_p__test_defval'.
1. The type of the parameter in the 3 'f_do_common' functions are different (wrapper types are generated for parameters with default values in class methods, so they can contain references to class members). Because of this, the 3 'f_do_common' functions are interpreted as different functions by the C++ compiler, which results in 'Sub' being interpreted as an abstract class.
1. Class 'Base' inherits both 'CommonInterface' and the built-in class 'object'. Both of these inherit a separate version of 'CLASS_BASE' in C++. The compiler can't decide which of the reference counter functions ('add_ref' and 'remove_ref') inherited from 'CLASS_BASE' it should call.
## What is the expected correct behavior?
The generated code should compile successfully.
## Relevant logs and/or screenshots
-
## Possible fixes
-
## Titan version
8.2.0
## Platform details (OS type and version)
Ubuntu 20.04.1
/cc @aknappqwtBotond BaranyiBotond Baranyihttps://gitlab.eclipse.org/eclipse/titan/titan.core/-/issues/676Shifting and rotation operations are missing for string elements2023-05-16T10:55:10ZGábor SzalaiShifting 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)
}
}
`...## 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 @mmagyariBotond BaranyiBotond Baranyihttps://gitlab.eclipse.org/eclipse/titan/titan.core/-/issues/662Compilation error: undefined reference to symbol 'pthread_setname_np@@GLIBC_2...2022-11-15T10:26:26ZGábor SzalaiCompilation error: undefined reference to symbol 'pthread_setname_np@@GLIBC_2.12'## Summary
The opensource build of the TITAN can't be compiled
## Steps and/or TTCN-3 code to reproduce
make
## What is the current bug behavior?
undefined reference to symbol 'pthread_setname_np@@GLIBC_2.12'
## What is the expecte...## Summary
The opensource build of the TITAN can't be compiled
## Steps and/or TTCN-3 code to reproduce
make
## What is the current bug behavior?
undefined reference to symbol 'pthread_setname_np@@GLIBC_2.12'
## What is the expected correct behavior?
successfull compilation
## Possible fixes
The -lpthread is missing from the LINUX_LIBS, add it to the line 80 of the core/Makefile
## Titan version
from commit de0bf8b259904dcb3fb5f3d3bbabe97ad8ddcbef
## Platform details (OS type and version)
(OS type/distribution and version, e.g. Ubuntu 18.04, Windows 10+Cygwin)
/cc @aknappqwt @mmagyarihttps://gitlab.eclipse.org/eclipse/titan/titan.core/-/issues/481Faulty subtype checking2022-09-21T13:23:43ZEclipse WebmasterFaulty subtype checking## Submitted by Gabor Szalai
**[Link to original bug (#562085)](https://bugs.eclipse.org/bugs/xmlrpc.cgishow_bug.cgi?id=562085)**
## Description
The following subtyping is a valid according to the standard but not accepted by the TI...## Submitted by Gabor Szalai
**[Link to original bug (#562085)](https://bugs.eclipse.org/bugs/xmlrpc.cgishow_bug.cgi?id=562085)**
## Description
The following subtyping is a valid according to the standard but not accepted by the TITAN:
type set r1 {
charstring f1,
charstring f3 optional
}
type r1 r1s ({f3:=omit})
proba.ttcn:10.14-24: error: Field `f1' is missing from set value
6.2.13.2:
When constraining record and set types, templates of the expanded list defined using the value list notation shall be valid (i.e. complete) templates, while templates of the expanded list defined using the field assignment notation may be partial (i.e. incomplete). In the latter case, the fields that are not explicitly present shall be considered as containing AnyValue for mandatory fields and AnyValueOrNone for optional fields.
Version: 6.6.1Adam KnappAdam Knapp2022-05-04https://gitlab.eclipse.org/eclipse/titan/titan.core/-/issues/578Enumerated type subtype check2022-05-04T05:41:09ZAdam KnappEnumerated type subtype check## Summary
According to the standard (6.2.13.2, https://www.etsi.org/deliver/etsi_es/201800_201899/20187301/04.13.01_60/es_20187301v041301p.pdf#page=80): "In case of enumerated types, the template list subtyping shall contain only value...## Summary
According to the standard (6.2.13.2, https://www.etsi.org/deliver/etsi_es/201800_201899/20187301/04.13.01_60/es_20187301v041301p.pdf#page=80): "In case of enumerated types, the template list subtyping shall contain only values of the parent type."
## Steps and/or TTCN-3 code to reproduce
```
type enumerated MyEnum { e_first, e_second, e_third, e_fourth, e_fifth };
type MyEnum EnumSub4 ( EnumSub1, e_fourth);
// causes an error as type references are not allowed in the template list
// of enumerated types
```
## What is the current bug behavior?
It is allowed/not checked by the compiler.
## What is the expected correct behavior?
The compiler should provide an error message about this.
## Titan version
6.6.1
/cc @aknappqwtAdam KnappAdam Knapphttps://gitlab.eclipse.org/eclipse/titan/titan.core/-/issues/579False circular reference error reported for ASN.1 type constraints2022-05-04T05:40:14ZBotond BaranyiFalse circular reference error reported for ASN.1 type constraintsThe compiler reports false 'circular reference' errors for the ASN.1 type constraints in the user project from forum post https://www.eclipse.org/forums/index.php/t/1109084/.
For example:
Ieee1609Dot2Dot1Protocol.asn:255: error: While c...The compiler reports false 'circular reference' errors for the ASN.1 type constraints in the user project from forum post https://www.eclipse.org/forums/index.php/t/1109084/.
For example:
Ieee1609Dot2Dot1Protocol.asn:255: error: While checking circular type references in subtype definitions: Circular reference: `' -> `@Ieee1609Dot2Dot1Protocol.SignerSingleCert' -> `'Botond BaranyiBotond Baranyihttps://gitlab.eclipse.org/eclipse/titan/titan.core/-/issues/580gcc warning: control reaches end of non-void function2022-05-04T05:39:53ZGábor Szalaigcc warning: control reaches end of non-void function## Summary
The GCC compiler generates a warning:
warning: control reaches end of non-void function [-Wreturn-type]
## Steps and/or TTCN-3 code to reproduce
```
module proba{
type enumerated t_e {I,O}
function f1(in t_e a) return...## Summary
The GCC compiler generates a warning:
warning: control reaches end of non-void function [-Wreturn-type]
## Steps and/or TTCN-3 code to reproduce
```
module proba{
type enumerated t_e {I,O}
function f1(in t_e a) return integer {
select(a){
case (I) {
return 1
}
case else {
return 2
}
}
}
}
```
## What is the current bug behavior?
```
g++ -c -DLINUX -I/home/ethgasz/TTCNv3/include -Wall -o proba.o proba.cc
proba.cc: In function ‘INTEGER proba::f1(const proba::t__e&)’:
proba.cc:665:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
```
## What is the expected correct behavior?
No warning
## Possible fixes
Do not generate the unnecessary goto and label statements
/cc @aknappqwtAdam KnappAdam Knapphttps://gitlab.eclipse.org/eclipse/titan/titan.core/-/issues/583Document effects of [INCLUDE] and [ORDERED_INCLUDE] sections in config files2022-05-04T05:39:27ZLenard NagyDocument effects of [INCLUDE] and [ORDERED_INCLUDE] sections in config files## Summary
[ORDERED_INCLUDE] may include more files in order, and it may have sideeffects (e.g. [EXECUTE] section is present it is executed more times, or "&=" will add multiple module paramters)
The behavior is as expected, but this h...## Summary
[ORDERED_INCLUDE] may include more files in order, and it may have sideeffects (e.g. [EXECUTE] section is present it is executed more times, or "&=" will add multiple module paramters)
The behavior is as expected, but this has to be documented to avoid confusion.
/cc @aknappqwtAdam KnappAdam Knapphttps://gitlab.eclipse.org/eclipse/titan/titan.core/-/issues/597Skip a parameter with default is not working in case of `decvalue`2022-05-04T05:39:02ZAdam KnappSkip a parameter with default is not working in case of `decvalue`## Summary
Skip a parameter with default is not working in case of `decvalue`
## Steps and/or TTCN-3 code to reproduce
`decvalue(b,msg,-,"RAW")`
## What is the current bug behavior?
```error: at or before token `,': syntax error, un...## Summary
Skip a parameter with default is not working in case of `decvalue`
## Steps and/or TTCN-3 code to reproduce
`decvalue(b,msg,-,"RAW")`
## What is the current bug behavior?
```error: at or before token `,': syntax error, unexpected ','```
## What is the expected correct behavior?
Skip a parameter with default. No error message
## Titan version
8.1.0
## Platform details (OS type and version)
all
/cc @aknappqwtAdam KnappAdam Knapphttps://gitlab.eclipse.org/eclipse/titan/titan.core/-/issues/588Implicit omit doesn't work inside optional fields of records/sets2022-05-04T05:38:28ZBotond BaranyiImplicit omit doesn't work inside optional fields of records/sets## Summary
The "implicit omit" extension for optional fields is not applied inside optional fields that are present (i.e. not unbound or omitted).
## Steps and/or TTCN-3 code to reproduce
TTCN module:
```
module test {
type record Em...## Summary
The "implicit omit" extension for optional fields is not applied inside optional fields that are present (i.e. not unbound or omitted).
## Steps and/or TTCN-3 code to reproduce
TTCN module:
```
module test {
type record EmbeddedRecord {
charstring originalField,
charstring newEmbeddedField optional
}
type record Record {
integer int,
charstring newTopLevelField optional,
EmbeddedRecord eRec,
EmbeddedRecord eRec2 optional
}
modulepar Record mp_record with {optional "implicit omit"}
type component MAIN_CT {}
testcase tc_ImplicitOmit() runs on MAIN_CT {
action("mp_record is: ", mp_record);
if(mp_record.newTopLevelField == omit) {
setverdict(pass, "mp_record.newTopLevelField is omit");
} else {
setverdict(fail, "mp_record.newTopLevelField is not omit!");
}
if(mp_record.eRec.newEmbeddedField == omit) {
setverdict(pass, "mp_record.eRec.newEmbeddedField is omit");
} else {
setverdict(fail, "mp_record.eRec.newEmbeddedField is not omit!");
}
if(mp_record.eRec2.newEmbeddedField == omit) {
setverdict(pass, "mp_record.eRec2.newEmbeddedField is omit");
} else {
setverdict(fail, "mp_record.eRec2.newEmbeddedField is not omit!");
}
}
control {
execute(tc_ImplicitOmit());
}
}
```
Configuration file:
```
[MODULE_PARAMETERS]
mp_record := { int := 1, eRec := { originalField := "originalField" }, eRec2 := { originalField := "originalField2" } }
[EXECUTE]
test
```
## What is the current bug behavior?
Field 'mp_record.eRec2.newEmbeddedField' is left unbound. The other optional fields are correctly set to 'omit'.
## What is the expected correct behavior?
Field 'mp_record.eRec2.newEmbeddedField' should be omitted instead of unbound.
## Relevant logs and/or screenshots
## Possible fixes
## Titan version
8.1.0
## Platform details (OS type and version)
Ubuntu 20.04
/cc @aknappqwtBotond BaranyiBotond Baranyihttps://gitlab.eclipse.org/eclipse/titan/titan.core/-/issues/586Rename UNKNOWN in enum version_t2022-05-04T05:37:56ZAdam KnappRename UNKNOWN in enum version_tversion.h: `enum version_t { UNKNOWN, LEGACY_CRL, LEGACY_CAX, DOT_SEPARATED /*current*/ };`
The `UNKNOWN` literal could be used by other 3rd party component, therefore it should be renamed to something else (e.g. to `UNKNOWN_VERSION_TYP...version.h: `enum version_t { UNKNOWN, LEGACY_CRL, LEGACY_CAX, DOT_SEPARATED /*current*/ };`
The `UNKNOWN` literal could be used by other 3rd party component, therefore it should be renamed to something else (e.g. to `UNKNOWN_VERSION_TYPE`) to mitigate collision.Adam KnappAdam Knapphttps://gitlab.eclipse.org/eclipse/titan/titan.core/-/issues/585XER: untagged optional union decoding error2022-05-04T05:37:14ZBotond BaranyiXER: untagged optional union decoding error## Summary
The XER decoder doesn't move on to the next record/set field if an untagged optional field of union type fails to decode.
Original report: https://www.eclipse.org/forums/index.php/t/1110154/
## Steps and/or TTCN-3 code to r...## Summary
The XER decoder doesn't move on to the next record/set field if an untagged optional field of union type fails to decode.
Original report: https://www.eclipse.org/forums/index.php/t/1110154/
## Steps and/or TTCN-3 code to reproduce
```
module xml {
type record Rec {
integer num,
Uni1 u1 optional,
Uni2 u2
}
type union Uni1 {
charstring x1,
octetstring x2
}
with {
variant "untagged";
}
type union Uni2 {
charstring y1,
octetstring y2
}
with {
variant "untagged";
}
control {
var Rec y; // { 4, omit, { y2 := 'ABCD'O } };
var universal charstring x := "<ns:Rec xmlns:ns='www.somewhere.com/xml2'>\n\t<ns:num>4</ns:num>\n\t<ns:y2>ABCD</ns:y2>\n</ns:Rec>\n\n";
var integer res := decvalue_unichar(x, y);
action(res);
action(y);
}
}
with {
encode "XML";
variant "elementFormQualified";
variant "namespace as 'www.somewhere.com/xml2' prefix 'ns'";
variant "controlNamespace 'http://www.w3.org/2001/XMLSchema-instance' prefix 'xsi'";
}
```
## What is the current bug behavior?
XER decoding error: While XER-decoding type '@xml.Rec': Component 'u1': 'y2' does not match any alternative
## What is the expected correct behavior?
Set the optional union field to 'omit' and continue decoding the next field.
## Relevant logs and/or screenshots
## Possible fixes
Likely something similar to issue #212.
## Titan version
8.1.0
## Platform details (OS type and version)
any
/cc @aknappqwtBotond BaranyiBotond Baranyihttps://gitlab.eclipse.org/eclipse/titan/titan.core/-/issues/582mctr fails to accept all HC connections2022-05-04T05:36:51ZGábor Szalaimctr fails to accept all HC connections## Summary
If a large number of HC try to connect to the mctr, some of them are rejected.
## Steps and/or TTCN-3 code to reproduce
Try to start ~ 30 HCs at the same time.
## What is the current bug behavior?
Some HCs can't connect, ...## Summary
If a large number of HC try to connect to the mctr, some of them are rejected.
## Steps and/or TTCN-3 code to reproduce
Try to start ~ 30 HCs at the same time.
## What is the current bug behavior?
Some HCs can't connect, because the TCP connection is refused
## What is the expected correct behavior?
All HC connects
## Possible fixes
When the mctr opens the listening port, it sets the backlog to 10. When a new connection is accepted, a possible time consuming reverse DNS query is executed. If the number of the waiting connection exceeds 10, the new attempts are rejected by the kernel.
simply increase the backlog. The current value remained unchanged since the beginning.
"If the backlog argument is greater than the value in /proc/sys/net/core/somaxconn, then it is silently capped to that value. Since Linux 5.4, the default in this file is 4096; in earlier kernels, the default value is 128."
So it is safe to increase it to 4096
## Titan version
all
## Platform details (OS type and version)
all
/cc @aknappqwtAdam KnappAdam Knapphttps://gitlab.eclipse.org/eclipse/titan/titan.core/-/issues/576Debian packet creation fails2022-05-04T05:36:28ZLenard NagyDebian packet creation fails## Summary
Debian packet creation fails with following log:
```
--- /dev/null
+++ eclipse-titan-8.1.0/common/git_version.c
@@ -0,0 +1,4 @@
+// this file was generated by make
+#include "version_internal.h"
+
+char const *const GIT_COMM...## Summary
Debian packet creation fails with following log:
```
--- /dev/null
+++ eclipse-titan-8.1.0/common/git_version.c
@@ -0,0 +1,4 @@
+// this file was generated by make
+#include "version_internal.h"
+
+char const *const GIT_COMMIT_ID = "";
\ No newline at end of file
```
## Steps and/or TTCN-3 code to reproduce
-
## What is the current bug behavior?
-
## What is the expected correct behavior?
Packet creation succeeds
## Relevant logs and/or screenshots
```
--- /dev/null
+++ eclipse-titan-8.1.0/common/git_version.c
@@ -0,0 +1,4 @@
+// this file was generated by make
+#include "version_internal.h"
+
+char const *const GIT_COMMIT_ID = "";
\ No newline at end of file
```
## Possible fixes
One new line character must be the last character of all C/C++ source files, in this case common/git_version.c
## Titan version
8.0.0
## Platform details (OS type and version)
Debian (latest)
/cc @aknappqwtAdam KnappAdam Knapphttps://gitlab.eclipse.org/eclipse/titan/titan.core/-/issues/598Missing header files during build2022-05-04T05:36:06ZMiklos MagyariMissing header files during buildWhen running `make dep` or `make`, there are several errors complaining about missing header files.
These are generated header files that are referred to before they are actually created.
For example:
`touch RT2/PreGenRecordOf.cc.compi...When running `make dep` or `make`, there are several errors complaining about missing header files.
These are generated header files that are referred to before they are actually created.
For example:
`touch RT2/PreGenRecordOf.cc.compiled
(dep) RT2/PreGenRecordOf.cc
In file included from RT2/PreGenRecordOf.hh:19,
from RT2/PreGenRecordOf.cc:11:
../core/TTCN3.hh:74:10: fatal error: RT2/TitanLoggerApiSimple.hh: No such file or directory
74 | #include "RT2/TitanLoggerApiSimple.hh"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
(dep) ../core/config_process.tab.cc
In file included from ./RT2/PreGenRecordOf.hh:19,
from ../core/Debugger.hh:21,
from config_process.y:59:
../core/TTCN3.hh:74:10: fatal error: RT2/TitanLoggerApiSimple.hh: No such file or directory
74 | #include "RT2/TitanLoggerApiSimple.hh"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~`Miklos MagyariMiklos Magyarihttps://gitlab.eclipse.org/eclipse/titan/titan.core/-/issues/599Wrong code generated when accessing parent class member2022-05-04T05:35:41ZMiklos MagyariWrong code generated when accessing parent class memberWhen a class extends a parent that is defined in a separate module, the code generated for referencing an inherited member has an extra 'modulename::' prefix.
Example code:
```
module m1 {
public type class @abstract Parent { ...When a class extends a parent that is defined in a separate module, the code generated for referencing an inherited member has an extra 'modulename::' prefix.
Example code:
```
module m1 {
public type class @abstract Parent {
var charstring cmd := "";
}
const integer mycon := 0;
}
module m2 {
import from m1 all;
type class @final Child extends Parent {
var integer v_cap;
create():Parent("") {
v_cap := 1;
cmd := "abcd";
}
}
}
```
The generated code for **cmd := "abcd"** includes:
```
/* m2.ttcn3, line 8 */
m1::cmd = cs_0;
```
This results a gcc compile error:
![image](/uploads/1a442feab624446b03c0e405ff995345/image.png)
If the parent and the child classes are in the same module, there is no compile error as the generated code is:
```
this->cmd = cs_0;
```Adam KnappAdam Knapphttps://gitlab.eclipse.org/eclipse/titan/titan.core/-/issues/595LoggerPluginManager.cc:44:29: error: function ‘create_legacy_logger’ redeclar...2022-05-04T05:35:02ZPau Espin PedrolLoggerPluginManager.cc:44:29: error: function ‘create_legacy_logger’ redeclared as variable## Summary
Building titan.core master (c3485f5e27a4426c6ec40b549ef46d56cfee4fd2) PKGBUILD of AUR with makepkg fails with:
```
LoggerPluginManager.cc:44:29: error: function ‘create_legacy_logger’ redeclared as variable
44 | extern "C...## Summary
Building titan.core master (c3485f5e27a4426c6ec40b549ef46d56cfee4fd2) PKGBUILD of AUR with makepkg fails with:
```
LoggerPluginManager.cc:44:29: error: function ‘create_legacy_logger’ redeclared as variable
44 | extern "C" cb_create_plugin create_legacy_logger;
| ^
LegacyLogger.cc:50:16: note: previously declared here
50 | ILoggerPlugin *create_legacy_logger() { return new LegacyLogger(); }
| ^
```
It seems it fails first time, running make a second time somehow fixes it.
Using g++ (GCC) 11.2.0.
I attach entire build log.[titan-git-8.1.0.r28.gc3485f5e2-1-x86_64-build.log](/uploads/45482acecf8abc0db1caa2f6960ad5c7/titan-git-8.1.0.r28.gc3485f5e2-1-x86_64-build.log)
https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=titan-gi
/cc @aknappqwtAdam KnappAdam Knapp