" uninitialized atomic.\n"
" Default: %u\n"
"-t, --analysis=NAME Use Trace Analysis.\n"
+"-o, --options=NAME Options.\n"
" -- Program arguments follow.\n\n",
program_name,
params->maxreads,
static void parse_options(struct model_params *params, int argc, char **argv)
{
- const char *shortopts = "hyYt:m:M:s:S:f:e:b:u:v::";
+ const char *shortopts = "hyYt:o:m:M:s:S:f:e:b:u:v::";
const struct option longopts[] = {
{"help", no_argument, NULL, 'h'},
{"liveness", required_argument, NULL, 'm'},
{"verbose", optional_argument, NULL, 'v'},
{"uninitialized", optional_argument, NULL, 'u'},
{"analysis", optional_argument, NULL, 't'},
+ {"options", optional_argument, NULL, 'o'},
{0, 0, 0, 0} /* Terminator */
};
int opt, longindex;
if (install_plugin(optarg))
error = true;
break;
+ case 'o':
+ {
+ ModelVector<TraceAnalysis *> * analyses = getInstalledTraceAnalysis();
+ if ( analyses->size() == 0 || (*analyses)[analyses->size()-1]->option(optarg))
+ error = true;
+ }
+ break;
case 'Y':
params->yieldblock = true;
break;