File: actualize.cc

package info (click to toggle)
simrisc 16.06.00-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,568 kB
  • sloc: cpp: 6,889; fortran: 669; makefile: 112; ansic: 112; sh: 107
file content (35 lines) | stat: -rw-r--r-- 1,320 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#define XERR
#include "analysis.ih"

    // by analysis1.cc

void Analysis::actualize(Parser::OptionsVect const &optionsVect)
{
    auto &options = Options::instance();

    options.activate();                         // activate the startup
                                                // (default/command-line)
                                                // options

    for (auto const &spec: optionsVect)         // visit all options specified
    {                                           // in this analysis

                                                // visit all long options
        for (auto const *ptr = g_longOpts; ptr != g_longEnd; ++ptr)
        {
            string const &name = ptr->longName();

            if (name == spec.name)              // found an option to alter
            {
                                                // try to change it
                if (not options.alter(ptr->optionChar(), spec.value))
                    wmsg << "ignored analysis option specification " <<
                            spec.name << " (line " << spec.lineNr << ')' <<
                            endl;
                break;                          // done with this option
            }
        }
    }

    options.actualize();                        // obtain the actual options
}