+ break;
+ case FLG_DEEPBREAK:
+ DOSET (FLG_LOOPLOOPBREAK, b);
+ DOSET (FLG_LOOPSWITCHBREAK, b);
+ DOSET (FLG_SWITCHLOOPBREAK, b);
+ DOSET (FLG_SWITCHSWITCHBREAK, b);
+ DOSET (FLG_LOOPLOOPCONTINUE, b);
+ DOSET (FLG_DEEPBREAK, b);
+ break;
+ case FLG_LOOPEXEC:
+ DOSET (FLG_FORLOOPEXEC, b);
+ DOSET (FLG_WHILELOOPEXEC, b);
+ DOSET (FLG_ITERLOOPEXEC, b);
+ break;
+ case FLG_ACCESSALL:
+ DOSET (FLG_ACCESSMODULE, b);
+ DOSET (FLG_ACCESSFILE, b);
+ DOSET (FLG_ACCESSCZECH, b);
+ break;
+ case FLG_ALLMACROS:
+ DOSET (FLG_ALLMACROS, b);
+ DOSET (FLG_FCNMACROS, b);
+ DOSET (FLG_CONSTMACROS, b);
+ break;
+ case FLG_BOUNDS:
+ DOSET (FLG_BOUNDSREAD, b);
+ DOSET (FLG_BOUNDSWRITE, b);
+ DOSET (FLG_LIKELYBOUNDSREAD, b);
+ DOSET (FLG_LIKELYBOUNDSWRITE, b);
+ break;
+ case FLG_BOUNDSREAD:
+ DOSET (FLG_LIKELYBOUNDSREAD, b);
+ break;
+ case FLG_BOUNDSWRITE:
+ DOSET (FLG_LIKELYBOUNDSWRITE, b);
+ break;
+ case FLG_LIKELYBOUNDS:
+ DOSET (FLG_LIKELYBOUNDSREAD, b);
+ DOSET (FLG_LIKELYBOUNDSWRITE, b);
+ break;
+
+ case FLG_CZECH:
+ if (b) { DOSET (FLG_ACCESSCZECH, b); }
+ DOSET (FLG_CZECHFUNCTIONS, b);
+ DOSET (FLG_CZECHVARS, b);
+ DOSET (FLG_CZECHCONSTANTS, b);
+ DOSET (FLG_CZECHTYPES, b);
+ break;
+ case FLG_SLOVAK:
+ if (b) { DOSET (FLG_ACCESSSLOVAK, b); }
+ DOSET (FLG_SLOVAKFUNCTIONS, b);
+ DOSET (FLG_SLOVAKVARS, b);
+ DOSET (FLG_SLOVAKCONSTANTS, b);
+ DOSET (FLG_SLOVAKTYPES, b);
+ break;
+ case FLG_CZECHOSLOVAK:
+ if (b) { DOSET (FLG_ACCESSCZECHOSLOVAK, b); }
+ DOSET (FLG_CZECHOSLOVAKFUNCTIONS, b);
+ DOSET (FLG_CZECHOSLOVAKVARS, b);
+ DOSET (FLG_CZECHOSLOVAKCONSTANTS, b);
+ DOSET (FLG_CZECHOSLOVAKTYPES, b);
+ break;
+ case FLG_NULL:
+ DOSET (FLG_NULLSTATE, b);
+ DOSET (FLG_NULLDEREF, b);
+ DOSET (FLG_NULLASSIGN, b);
+ DOSET (FLG_NULLPASS, b);
+ DOSET (FLG_NULLRET, b);
+ break;
+ case FLG_MUSTFREE:
+ DOSET (FLG_MUSTFREEONLY, b);
+ DOSET (FLG_MUSTFREEFRESH, b);
+ break;
+ case FLG_MEMCHECKS:
+ DOSET (FLG_NULLSTATE, b);
+ DOSET (FLG_NULLDEREF, b);
+ DOSET (FLG_NULLASSIGN, b);
+ DOSET (FLG_NULLPASS, b);
+ DOSET (FLG_NULLRET, b);
+ DOSET (FLG_COMPDEF, b);
+ DOSET (FLG_COMPMEMPASS, b);
+ DOSET (FLG_UNIONDEF, b);
+ DOSET (FLG_MEMTRANS, b);
+ DOSET (FLG_USERELEASED, b);
+ DOSET (FLG_ALIASUNIQUE, b);
+ DOSET (FLG_MAYALIASUNIQUE, b);
+ DOSET (FLG_MUSTFREEONLY, b);
+ DOSET (FLG_MUSTFREEFRESH, b);
+ DOSET (FLG_MUSTDEFINE, b);
+ DOSET (FLG_GLOBSTATE, b);
+ DOSET (FLG_COMPDESTROY, b);
+ DOSET (FLG_MUSTNOTALIAS, b);
+ DOSET (FLG_MEMIMPLICIT, b);
+ DOSET (FLG_BRANCHSTATE, b);
+ /*@fallthrough@*/ /* also sets memtrans flags */
+ case FLG_MEMTRANS:
+ DOSET (FLG_MEMTRANS, b);
+ DOSET (FLG_EXPOSETRANS, b);
+ DOSET (FLG_OBSERVERTRANS, b);
+ DOSET (FLG_DEPENDENTTRANS, b);
+ DOSET (FLG_NEWREFTRANS, b);
+ DOSET (FLG_ONLYTRANS, b);
+ DOSET (FLG_OWNEDTRANS, b);
+ DOSET (FLG_FRESHTRANS, b);
+ DOSET (FLG_SHAREDTRANS, b);
+ DOSET (FLG_TEMPTRANS, b);
+ DOSET (FLG_KEPTTRANS, b);
+ DOSET (FLG_REFCOUNTTRANS, b);
+ DOSET (FLG_STATICTRANS, b);
+ DOSET (FLG_UNKNOWNTRANS, b);
+ DOSET (FLG_KEEPTRANS, b);
+ DOSET (FLG_IMMEDIATETRANS, b);
+ break;
+
+ default:
+ break;
+ }
+
+ if (b && !gc.anyExports
+ && (f == FLG_EXPORTVAR || f == FLG_EXPORTFCN
+ || f == FLG_EXPORTTYPE || f == FLG_EXPORTMACRO
+ || f == FLG_EXPORTCONST
+ || f == FLG_EXPORTANY))
+ {
+ gc.anyExports = TRUE;