This version CRL 113 200/5 R5A (5.5.pl0) has the following new features:
• clang support in Titan
As an experimental feature we have introduced support for clang 3-8.
Clang comes with the promise of (significantly) reducing the build time , however at the expense of at a reduced execution speed of the generated binary.
This means that we will not recommended it for load generating applications in production phase, but even for these, it can be used during development.
The C++ source code generated and Titan must be compiled with the same version of clang.
We have published Titan built with clang-3.8 for a number of platforms.
(Note: If you need a Titan built with clang for a platform other than published, pls. let us know and we'll see if we can produce it for you;
else, you can build it from scratch yourself based on the source from github:
Makefiles of TTCN-3 projects must be modified by hand as below:
# Your C++ compiler:
# (if you change the platform, you may need to change the compiler)
CXX := clang++-3.8
or regenerated using makefilegen, to use the clang compiler.
Makefilegen will check the version of the C++ compiler used when building Titan and will re-use the same in the generated Makefile.
• config parser/editor based on ANTLR 4
The config parser/editor was switched off in 5.4.0 as we could not finish ANTLR 4 migration in time.
Now the config parser/editor is active again, fully powered by ANTLR 4.
• a new, faster algorithm for semantic analysis implemented in Eclipse Designer
• a new statement of compliance document covering the core language part of the standard
• added negative and positive conformance tests ( about 2100) covering core language part of the standard
• new legacy switches to be considered:
-M: allow 'omit' in template value lists (legacy behavior)
-B: allow selected union field to be unbound (legacy behavior)
• makefilegen -I option to include search paths in .tpd files
• RAW encoder for universal character string
• ISO 10646-conformant unicode syntaxes
• new internal functions: encvalue2unichar/decvalue2unichar,any2unistr,hostid
• make port command ( similar in effect with 'compiler -t')
• checkstate port operation
• activation of emergency logging when a test fails (optional)
• support for type substitutionGroup
• support for using specific encode attribute strings to identify encode functions
• ttcn2json: extra keyword for restricted "as value" unions
• makefilegen generates -Y if tpd orders it
• user Debug classes
• negative testing support with JSON encoder
• new compiler switch for decreasing variant errorlevel from error to warning
• makefilegen support for commenting out OPENSSL_DIR based on tpd setting
• A number of TRs fixed related to XML, Eclipse plug-ins, JSON