diff --git a/compiler2/makefile.c b/compiler2/makefile.c index 58ff4154d628624b9622c32405698308e8ae1b28..1145b463ce7264494ec11cf061d5ca069f073b8c 100644 --- a/compiler2/makefile.c +++ b/compiler2/makefile.c @@ -251,6 +251,8 @@ struct makefile_struct { const char *cxxcompiler; const char *optlevel; const char *optflags; + boolean semanticcheckonly; + boolean disableattibutevalidation; boolean disableber; boolean disableraw; boolean disabletext; @@ -2252,7 +2254,7 @@ static void print_makefile(struct makefile_struct *makefile) "AR = ar\n" "ARFLAGS = \n\n" "# Flags for the TTCN-3 and ASN.1 compiler:\n" - "COMPILER_FLAGS =%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n\n" + "COMPILER_FLAGS =%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n\n" "# Execution mode: (either ttcn3 or ttcn3-parallel)\n" "TTCN3_LIB = ttcn3%s%s%s\n\n" #ifdef LICENSE @@ -2275,6 +2277,8 @@ static void print_makefile(struct makefile_struct *makefile) (makefile->code_splitting_mode ? makefile->code_splitting_mode : ""), (makefile->quietly ? " -q" : ""), (makefile->disablesubtypecheck ? " -y" : ""), + (makefile->semanticcheckonly ? " -s" : ""), + (makefile->disableattibutevalidation ? " -0" : ""), (makefile->disableber ? " -b" : ""), (makefile->disableraw ? " -r" : ""), (makefile->disabletext ? " -x" : ""), @@ -4673,8 +4677,9 @@ static void generate_makefile(size_t n_arguments, char *arguments[], boolean Lflag, boolean Zflag, boolean Hflag, struct string_list* sub_project_dirs, struct string_list* ttcn3_prep_includes, struct string_list* ttcn3_prep_defines, struct string_list* ttcn3_prep_undefines, struct string_list* prep_includes, struct string_list* prep_defines, struct string_list* prep_undefines, char *codesplittpd, boolean quietly, boolean disablesubtypecheck, - const char* cxxcompiler, const char* optlevel, const char* optflags, boolean disableber, boolean disableraw, boolean disabletext, - boolean disablexer, boolean disablejson, boolean disableoer, boolean forcexerinasn, boolean defaultasomit, boolean gccmsgformat, + const char* cxxcompiler, const char* optlevel, const char* optflags, boolean semanticcheckonly, boolean disableattibutevalidation, + boolean disableber, boolean disableraw, boolean disabletext, boolean disablexer, boolean disablejson, boolean disableoer, + boolean forcexerinasn, boolean defaultasomit, boolean gccmsgformat, boolean linenumbersonlymsg, boolean includesourceinfo, boolean addsourcelineinfo, boolean suppresswarnings, boolean outparamboundness, boolean omit_in_value_list, boolean warnings_for_bad_variants, boolean activate_debugger, boolean ignore_untagged_on_top_union, boolean disable_predef_ext_folder, boolean enable_legacy_encoding, boolean disable_userinfo, @@ -4714,6 +4719,8 @@ static void generate_makefile(size_t n_arguments, char *arguments[], makefile.cxxcompiler = cxxcompiler; makefile.optlevel = optlevel; makefile.optflags = optflags; + makefile.semanticcheckonly = semanticcheckonly; + makefile.disableattibutevalidation = disableattibutevalidation; makefile.disableber = disableber; makefile.disableraw = disableraw; makefile.disabletext = disabletext; @@ -5318,6 +5325,9 @@ int main(int argc, char *argv[]) } free_license(&lstr); #endif + + boolean semantic_check_only = FALSE; + boolean disable_attibute_validation = FALSE; boolean free_argv = FALSE; if (tflag) { @@ -5401,7 +5411,8 @@ int main(int argc, char *argv[]) &gflag, &sflag, &cflag, &aflag, &pflag, &Rflag, &lflag, &mflag, &Pflag, &Lflag, rflag, Fflag, Tflag, output_file, &abs_work_dir, sub_project_dirs, program_name, prj_graph_fp, create_symlink_list, ttcn3_prep_includes, ttcn3_prep_defines, ttcn3_prep_undefines, prep_includes, prep_defines, prep_undefines, &csmode, - &quflag, &dsflag, &cxxcompiler, &optlevel, &optflags, &dbflag, &drflag, &dtflag, &dxflag, &djflag, &doerflag, &fxflag, &doflag, &gfflag, &lnflag, &isflag, + &quflag, &dsflag, &cxxcompiler, &optlevel, &optflags, &semantic_check_only, &disable_attibute_validation, + &dbflag, &drflag, &dtflag, &dxflag, &djflag, &doerflag, &fxflag, &doflag, &gfflag, &lnflag, &isflag, &asflag, &temp_wflag, &Yflag, &Mflag, &Eflag, &nflag, &Nflag, &diflag, &Gflag, &duflag, &iflag, solspeclibraries, sol8speclibraries, linuxspeclibraries, freebsdspeclibraries, win32speclibraries, &ttcn3prep, linkerlibraries, additionalObjects, linkerlibsearchpath, Vflag, Dflag, &Zflag, &Hflag, @@ -5449,8 +5460,9 @@ int main(int argc, char *argv[]) output_file, ets_name, project_name, gflag, sflag, cflag, aflag, pflag, dflag, fflag||Fflag, Rflag, lflag, mflag, Cflag, code_splitting_mode, tcov_file_name, profiled_file_list, file_list_file_name, Lflag, Zflag, Hflag, rflag ? sub_project_dirs : NULL, ttcn3_prep_includes, - ttcn3_prep_defines, ttcn3_prep_undefines, prep_includes, prep_defines, prep_undefines, csmode, quflag, dsflag, cxxcompiler, optlevel, optflags, dbflag, - drflag, dtflag, dxflag, djflag, doerflag, fxflag, doflag, gfflag, lnflag, isflag, asflag, wflag, Yflag, Mflag, Eflag, nflag, Nflag, diflag, + ttcn3_prep_defines, ttcn3_prep_undefines, prep_includes, prep_defines, prep_undefines, csmode, quflag, dsflag, cxxcompiler, optlevel, optflags, + semantic_check_only, disable_attibute_validation, dbflag, drflag, dtflag, dxflag, djflag, doerflag, + fxflag, doflag, gfflag, lnflag, isflag, asflag, wflag, Yflag, Mflag, Eflag, nflag, Nflag, diflag, Gflag, duflag, iflag, solspeclibraries, sol8speclibraries, linuxspeclibraries, freebsdspeclibraries, win32speclibraries, ttcn3prep, linkerlibraries, additionalObjects, linkerlibsearchpath, generatorCommandOutput, target_placement_list); diff --git a/compiler2/xpather.cc b/compiler2/xpather.cc index 17f01d24b53f865e081b5d7c065d810f0376eb79..7fa18d0ddae48c9486ebe801f9395b5a4e314ac2 100644 --- a/compiler2/xpather.cc +++ b/compiler2/xpather.cc @@ -1266,8 +1266,9 @@ static tpd_result process_tpd_internal(const char **p_tpd_name, char* tpdName, c const char* program_name, FILE* prj_graph_fp, struct string2_list* create_symlink_list, struct string_list* ttcn3_prep_includes, struct string_list* ttcn3_prep_defines, struct string_list* ttcn3_prep_undefines, struct string_list* prep_includes, struct string_list* prep_defines, struct string_list* prep_undefines, char **p_csmode, boolean *p_quflag, boolean* p_dsflag, - char** cxxcompiler, char** optlevel, char** optflags, boolean* p_dbflag, boolean* p_drflag, boolean* p_dtflag, boolean* p_dxflag, - boolean* p_djflag, boolean* p_doerflag, boolean* p_fxflag, boolean* p_doflag, boolean* p_gfflag, boolean* p_lnflag, boolean* p_isflag, + char** cxxcompiler, char** optlevel, char** optflags, boolean* semantic_check_only, boolean* disable_attibute_validation, + boolean* p_dbflag, boolean* p_drflag, boolean* p_dtflag, boolean* p_dxflag, boolean* p_djflag, boolean* p_doerflag, + boolean* p_fxflag, boolean* p_doflag, boolean* p_gfflag, boolean* p_lnflag, boolean* p_isflag, boolean* p_asflag, boolean* p_swflag, boolean* p_Yflag, boolean* p_Mflag, boolean *p_Eflag, boolean* p_nflag, boolean* p_Nflag, boolean* p_diflag, boolean* p_enable_legacy_encoding, boolean* p_disable_userinfo, boolean* p_realtime_features, struct string_list* solspeclibs, struct string_list* sol8speclibs, @@ -1287,8 +1288,9 @@ extern "C" tpd_result process_tpd(const char **p_tpd_name, const char *actcfg, const char* program_name, FILE* prj_graph_fp, struct string2_list* create_symlink_list, struct string_list* ttcn3_prep_includes, struct string_list* ttcn3_prep_defines, struct string_list* ttcn3_prep_undefines, struct string_list* prep_includes, struct string_list* prep_defines, struct string_list* prep_undefines, char **p_csmode, boolean *p_quflag, boolean* p_dsflag, - char** cxxcompiler, char** optlevel, char** optflags, boolean* p_dbflag, boolean* p_drflag, boolean* p_dtflag, boolean* p_dxflag, - boolean* p_djflag, boolean* p_doerflag, boolean* p_fxflag, boolean* p_doflag, boolean* p_gfflag, boolean* p_lnflag, boolean* p_isflag, + char** cxxcompiler, char** optlevel, char** optflags, boolean* semantic_check_only, boolean* disable_attibute_validation, + boolean* p_dbflag, boolean* p_drflag, boolean* p_dtflag, boolean* p_dxflag, boolean* p_djflag, boolean* p_doerflag, + boolean* p_fxflag, boolean* p_doflag, boolean* p_gfflag, boolean* p_lnflag, boolean* p_isflag, boolean* p_asflag, boolean* p_swflag, boolean* p_Yflag, boolean* p_Mflag, boolean* p_Eflag, boolean* p_nflag, boolean* p_Nflag, boolean* p_diflag, boolean* p_enable_legacy_encoding, boolean* p_disable_userinfo, boolean* p_realtime_features, struct string_list* solspeclibs, struct string_list* sol8speclibs, @@ -1318,8 +1320,9 @@ extern "C" tpd_result process_tpd(const char **p_tpd_name, const char *actcfg, program_name, prj_graph_fp, create_symlink_list, ttcn3_prep_includes, ttcn3_prep_defines, ttcn3_prep_undefines, prep_includes, prep_defines, prep_undefines, p_csmode, p_quflag, p_dsflag, cxxcompiler, - optlevel, optflags, p_dbflag, p_drflag, p_dtflag, p_dxflag, p_djflag, - p_doerflag, p_fxflag, p_doflag, p_gfflag, p_lnflag, p_isflag, + optlevel, optflags, semantic_check_only, disable_attibute_validation, + p_dbflag, p_drflag, p_dtflag, p_dxflag, p_djflag, p_doerflag, + p_fxflag, p_doflag, p_gfflag, p_lnflag, p_isflag, p_asflag, p_swflag, p_Yflag, p_Mflag, p_Eflag, p_nflag, p_Nflag, p_diflag, p_enable_legacy_encoding, p_disable_userinfo, p_realtime_features, solspeclibs, sol8speclibs, @@ -1348,8 +1351,9 @@ extern "C" tpd_result process_tpd(const char **p_tpd_name, const char *actcfg, program_name, prj_graph_fp, create_symlink_list, ttcn3_prep_includes, ttcn3_prep_defines, ttcn3_prep_undefines, prep_includes, prep_defines, prep_undefines, p_csmode, p_quflag, p_dsflag, cxxcompiler, - optlevel, optflags, p_dbflag, p_drflag, p_dtflag, p_dxflag, p_djflag, - p_doerflag, p_fxflag, p_doflag, p_gfflag, p_lnflag, p_isflag, + optlevel, optflags, semantic_check_only, disable_attibute_validation, + p_dbflag, p_drflag, p_dtflag, p_dxflag, p_djflag, p_doerflag, + p_fxflag, p_doflag, p_gfflag, p_lnflag, p_isflag, p_asflag, p_swflag, p_Yflag, p_Mflag, p_Eflag, p_nflag, p_Nflag, p_diflag, p_enable_legacy_encoding, p_disable_userinfo, p_realtime_features, solspeclibs, sol8speclibs, @@ -1453,8 +1457,9 @@ static tpd_result process_tpd_internal(const char **p_tpd_name, char *tpdName, c const char* program_name, FILE* prj_graph_fp, struct string2_list* create_symlink_list, struct string_list* ttcn3_prep_includes, struct string_list* ttcn3_prep_defines, struct string_list* ttcn3_prep_undefines, struct string_list* prep_includes, struct string_list* prep_defines, struct string_list* prep_undefines, char **p_csmode, boolean *p_quflag, boolean* p_dsflag, - char** cxxcompiler, char** optlevel, char** optflags, boolean* p_dbflag, boolean* p_drflag, boolean* p_dtflag, boolean* p_dxflag, - boolean* p_djflag, boolean* p_doerflag, boolean* p_fxflag, boolean* p_doflag, boolean* p_gfflag, boolean* p_lnflag, boolean* p_isflag, + char** cxxcompiler, char** optlevel, char** optflags, boolean* semantic_check_only, boolean* disable_attibute_validation, + boolean* p_dbflag, boolean* p_drflag, boolean* p_dtflag, boolean* p_dxflag, boolean* p_djflag, boolean* p_doerflag, + boolean* p_fxflag, boolean* p_doflag, boolean* p_gfflag, boolean* p_lnflag, boolean* p_isflag, boolean* p_asflag, boolean* p_swflag, boolean* p_Yflag, boolean* p_Mflag, boolean* p_Eflag, boolean* p_nflag, boolean* p_Nflag, boolean* p_diflag, boolean* p_enable_legacy_encoding, boolean* p_disable_userinfo, boolean* p_realtime_features, struct string_list* solspeclibs, struct string_list* sol8speclibs, @@ -2043,6 +2048,8 @@ static tpd_result process_tpd_internal(const char **p_tpd_name, char *tpdName, c xsdbool2boolean(xpathCtx, actcfg, "singleMode", p_sflag); xsdbool2boolean(xpathCtx, actcfg, "quietly", p_quflag); xsdbool2boolean(xpathCtx, actcfg, "disableSubtypeChecking", p_dsflag); + xsdbool2boolean(xpathCtx, actcfg, "semanticCheckOnly", semantic_check_only); + xsdbool2boolean(xpathCtx, actcfg, "disableAttributeValidation", disable_attibute_validation); xsdbool2boolean(xpathCtx, actcfg, "disableBER", p_dbflag); xsdbool2boolean(xpathCtx, actcfg, "disableRAW", p_drflag); xsdbool2boolean(xpathCtx, actcfg, "disableTEXT", p_dtflag); @@ -3010,8 +3017,8 @@ static tpd_result process_tpd_internal(const char **p_tpd_name, char *tpdName, c &my_mflag, &my_Pflag, &my_Lflag, recursive, force_overwrite, gen_only_top_level, NULL, &sub_proj_abs_work_dir, sub_project_dirs, program_name, prj_graph_fp, create_symlink_list, ttcn3_prep_includes, ttcn3_prep_defines, ttcn3_prep_undefines, prep_includes, prep_defines, prep_undefines, &my_csmode, - &my_quflag, &my_dsflag, cxxcompiler, optlevel, optflags, &my_dbflag, &my_drflag, - &my_dtflag, &my_dxflag, &my_djflag, &my_doerflag, &my_fxflag, &my_doflag, + &my_quflag, &my_dsflag, cxxcompiler, optlevel, optflags, semantic_check_only, disable_attibute_validation, + &my_dbflag, &my_drflag, &my_dtflag, &my_dxflag, &my_djflag, &my_doerflag, &my_fxflag, &my_doflag, &my_gfflag, &my_lnflag, &my_isflag, &my_asflag, &my_swflag, &my_Yflag, &my_Mflag, &my_Eflag, &my_nflag, &my_Nflag, &my_diflag, &my_enable_legacy_encoding, &my_duflag, &my_realtime_features, solspeclibs, sol8speclibs, linuxspeclibs, freebsdspeclibs, win32speclibs, ttcn3prep, linkerlibs, additionalObjects, linkerlibsearchp, Vflag, FALSE, &my_Zflag, diff --git a/compiler2/xpather.h b/compiler2/xpather.h index 16aefa225b7c0fc555d5c232a5988ed824c070ef..493add35ad98f9e6af758e33dc3b75a8adbffd19 100644 --- a/compiler2/xpather.h +++ b/compiler2/xpather.h @@ -283,8 +283,9 @@ tpd_result process_tpd(const char **p_tpd_name, const char *actcfg, const char* program_name, FILE* prj_graph_fp, struct string2_list* create_symlink_list, struct string_list* ttcn3_prep_includes, struct string_list* ttcn3_prep_defines, struct string_list* ttcn3_prep_undefines, struct string_list* prep_includes, struct string_list* prep_defines, struct string_list* prep_undefines, char **codesplit, boolean *quietly, boolean *disablesubtypecheck, - char** cxxcompiler, char** optlevel, char** optflags, boolean *disableber, boolean *disableraw, boolean *disabletext, boolean *disablexer, - boolean *disablejson, boolean *disableoer, boolean *forcexerinasn, boolean *defaultasomit, boolean *gccmessageformat, + char** cxxcompiler, char** optlevel, char** optflags, boolean* semantic_check_only, boolean* disable_attibute_validation, + boolean *disableber, boolean *disableraw, boolean *disabletext, boolean *disablexer, boolean *disablejson, boolean *disableoer, + boolean *forcexerinasn, boolean *defaultasomit, boolean *gccmessageformat, boolean *linenumber, boolean *includesourceinfo, boolean *addsourcelineinfo, boolean *suppresswarnings, boolean *outparamboundness, boolean *omit_in_value_list, boolean *warnings_for_bad_variants, boolean *activate_debugger, boolean* ignore_untagged_union, boolean *disable_predef_exp_folder, boolean* enable_legacy_encoding, boolean* disable_userinfo, boolean* realtime_features, diff --git a/etc/xsd/TPD.xsd b/etc/xsd/TPD.xsd index 594dda3ab7dddeacd562f1ca23d6952b4f2b2d72..3618be92f3395be4ddb6115740ccfb04bda264f0 100644 --- a/etc/xsd/TPD.xsd +++ b/etc/xsd/TPD.xsd @@ -113,6 +113,8 @@ </xs:complexType> </xs:element> + <xs:element name="semanticCheckOnly" minOccurs="0" maxOccurs="1" type="xs:boolean" /> + <xs:element name="disableAttributeValidation" minOccurs="0" maxOccurs="1" type="xs:boolean" /> <xs:element name="disableBER" minOccurs="0" maxOccurs="1" type="xs:boolean" /> <xs:element name="disableRAW" minOccurs="0" maxOccurs="1" type="xs:boolean" /> <xs:element name="disableTEXT" minOccurs="0" maxOccurs="1" type="xs:boolean" /> diff --git a/usrguide/referenceguide/8-the_titan_project_descriptor_file.adoc b/usrguide/referenceguide/8-the_titan_project_descriptor_file.adoc index 850480d3230b2b5012dc2504afa12abfae527210..cbde75ab336087fd082b14aba55c83ac9f821ecd 100644 --- a/usrguide/referenceguide/8-the_titan_project_descriptor_file.adoc +++ b/usrguide/referenceguide/8-the_titan_project_descriptor_file.adoc @@ -206,6 +206,8 @@ Useful information can be found in TITAN Designer documentation <<13-references. |`TTCN3preprocessor (the name of the preprocessor meaningful only in Eclipse)` |- |- |cpp |O |`TTCN3preprocessorIncludes` |- |- |empty |O |`preprocessorIncludes` |-p |- |emtpy |O +|`semanticCheckOnly` |- |-s |emtpy |O +|`disableAttributeValidation` |- |-0 |emtpy |O |`disableBER (disable BER encoder/decoder functions)` |- |-b |false |O |`disableRAW (disable RAW encoder/decoder functions)` |- |-r |false |O |`disableTEXT (disable TEXT encoder/decoder functions)` |- |-x |false |O