check_subtype = TRUE, suppress_context = FALSE, display_up_to_date = FALSE,
implicit_json_encoding = FALSE, json_refs_for_all_types = TRUE,
force_gen_seof = FALSE, omit_in_value_list = FALSE,
- warnings_for_bad_variants = FALSE;
+ warnings_for_bad_variants = FALSE, debugger_active = FALSE,
+ legacy_unbound_union_fields = FALSE;
// Default code splitting mode is set to 'no splitting'.
CodeGenHelper::split_type code_splitting_mode = CodeGenHelper::SPLIT_NONE;
"OPTIONS:\n"
" -a: force XER in ASN.1 files\n"
" -b: disable BER encoder/decoder functions\n"
+ " -B: allow selected union field to be unbound (legacy behavior)\n"
" -c: write out checksums in case of error\n"
" -d: treat default fields as omit\n"
" -E: display only warnings for unrecognized encoding variants\n"
dflag = false, Xflag = false, Rflag = false, gflag = false, aflag = false,
s0flag = false, Cflag = false, yflag = false, Uflag = false, Qflag = false,
Sflag = false, Kflag = false, jflag = false, zflag = false, Fflag = false,
- Mflag = false, Eflag = false, errflag = false, print_usage = false,
- ttcn2json = false;
+ Mflag = false, Eflag = false, nflag = false, Bflag = false, errflag = false,
+ print_usage = false, ttcn2json = false;
CodeGenHelper cgh;
if (!ttcn2json) {
for ( ; ; ) {
- int c = getopt(argc, argv, "aA:bcC:dEfFgijK:lLMo:pP:qQ:rRsStT:uU:vV:wxXyYz:0-");
+ int c = getopt(argc, argv, "aA:bBcC:dEfFgijK:lLMno:pP:qQ:rRsStT:uU:vV:wxXyYz:0-");
if (c == -1) break;
switch (c) {
case 'a':
SET_FLAG(E);
warnings_for_bad_variants = TRUE;
break;
+ case 'n':
+ SET_FLAG(n);
+ debugger_active = TRUE;
+ break;
+ case 'B':
+ SET_FLAG(B);
+ legacy_unbound_union_fields = TRUE;
+ break;
case 'Q': {
long max_errs;
if (Aflag || Lflag || Pflag || Tflag || Vflag || Yflag ||
bflag || fflag || iflag || lflag || oflag || pflag || qflag ||
rflag || sflag || tflag || uflag || wflag || xflag || Xflag || Rflag ||
- Uflag || yflag || Kflag || jflag || zflag || Fflag || Mflag || Eflag) {
+ Uflag || yflag || Kflag || jflag || zflag || Fflag || Mflag || Eflag ||
+ nflag || Bflag) {
errflag = true;
print_usage = true;
}
ERROR("Source line information `-L' is necessary for profiling `-z'.");
errflag = true;
}
+ if (nflag && !Lflag) {
+ ERROR("Source line information `-L' is necessary for debugging `-n'.");
+ errflag = true;
+ }
if (iflag && gflag) {
WARNING("Option `-g' overrides `-i'.");
iflag = false; // -g gives more information