81
84
// --gnu-if-then-expr
83
86
OptsParser::Option pumaOpts[] = {
84
{Config::PRE_ASSERT, 'A', NULL, "Assert a preprocessor predicate", OptsParser::AT_MANDATORY},
85
{Config::PRE_DEFINE, 'D', NULL, "Define a preprocessor macro", OptsParser::AT_MANDATORY},
86
{Config::PRE_UNDEFINE, 'U', NULL, "Undefine a preprocessor macro", OptsParser::AT_MANDATORY},
87
{Config::PRE_LOCK_MACRO, 0, "lock-macro", "Define an unchangeable preprocessor macro", OptsParser::AT_MANDATORY},
88
{Config::PRE_INCLUDE, 'I', NULL, "Add new include path", OptsParser::AT_MANDATORY},
89
{Config::PROJ_PATH, 'p', "path", "Path to project source", OptsParser::AT_MANDATORY},
90
{Config::PROJ_DESTINATION, 'd', "dest", "Path to destination for modified sources", OptsParser::AT_MANDATORY},
91
{Config::SET_SUFFIX, 's', "suffix", "Set file save suffix", OptsParser::AT_MANDATORY},
92
{Config::SET_EXTENSION, 'e', "extension", "Set the extension for source files", OptsParser::AT_MANDATORY},
93
{Config::SET_WRITE_PROTECTED, 'w', "write-protected", "Add a new write protected path", OptsParser::AT_MANDATORY},
94
{Config::CFG_FILE, 0, "config", "Full path to a config file", OptsParser::AT_MANDATORY},
95
{Config::SET_OPTION, 0, "save-overwrite", "Overwrite old files", OptsParser::AT_NONE},
96
{Config::SET_OPTION, 0, "rename-old", "Rename old files", OptsParser::AT_NONE},
97
{Config::SET_OPTION, 0, "new-suffix", "Append new suffix on old files", OptsParser::AT_NONE},
98
{Config::SET_OPTION, 0, "lang-c", "Input language is C", OptsParser::AT_NONE},
99
{Config::SET_OPTION, 0, "lang-ec++", "Input language is EC++", OptsParser::AT_NONE},
100
{Config::SET_OPTION, 0, "lang-c++", "Input language is C++", OptsParser::AT_NONE},
101
{Config::SET_OPTION, 0, "lang-ac++", "Input language is AC++", OptsParser::AT_NONE},
102
{Config::SET_OPTION, 0, "skip-bodies-all", "Skip parsing function bodies", OptsParser::AT_NONE},
103
{Config::SET_OPTION, 0, "skip-bodies-tpl", "Skip parsing function bodies of templates", OptsParser::AT_NONE},
104
{Config::SET_OPTION, 0, "skip-bodies-non-prj", "Skip parsing non-project function bodies", OptsParser::AT_NONE},
105
{Config::SET_OPTION, 0, "real-instances", "Do real template instantiation", OptsParser::AT_NONE},
106
{Config::SET_OPTION, 0, "match-expr", "Parse match expression", OptsParser::AT_NONE},
107
{Config::SET_OPTION, 0, "gnu-nested-fct", "", OptsParser::AT_NONE},
108
{Config::SET_OPTION, 0, "gnu-condition-scope", "", OptsParser::AT_NONE},
109
{Config::SET_OPTION, 0, "gnu-param-decl", "", OptsParser::AT_NONE},
110
{Config::SET_OPTION, 0, "gnu-fct-decl", "", OptsParser::AT_NONE},
111
{Config::SET_OPTION, 0, "gnu-param-scope", "", OptsParser::AT_NONE},
112
{Config::SET_OPTION, 0, "gnu-default-args", "", OptsParser::AT_NONE},
113
{Config::SET_OPTION, 0, "gnu-extended-asm", "", OptsParser::AT_NONE},
114
{Config::SET_OPTION, 0, "gnu-extended-expr", "", OptsParser::AT_NONE},
115
{Config::SET_OPTION, 0, "gnu-long-long", "", OptsParser::AT_NONE},
116
{Config::SET_OPTION, 0, "gnu-name-scope", "", OptsParser::AT_NONE},
117
{Config::SET_OPTION, 0, "gnu-implicit-int", "", OptsParser::AT_NONE},
118
{Config::SET_OPTION, 0, "gnu-fct-attribute", "", OptsParser::AT_NONE},
119
{Config::SET_OPTION, 0, "gnu-if-then-expr", "", OptsParser::AT_NONE},
120
{Config::SET_OPTION, 0, "gnu-std-hack", "", OptsParser::AT_NONE},
121
{Config::SET_OPTION, 0, "gnu", "Support gnu extensions", OptsParser::AT_NONE},
122
{Config::SET_OPTION, 0, "gnu-2.95", "Support gnu extensions for g++ 2.95", OptsParser::AT_NONE},
123
{Config::SET_OPTION, 0, "vc", "Support Visual C++ extensions", OptsParser::AT_NONE},
124
{Config::SET_OPTION_ARG, 0, "import-handler", "Handler for #import directives", OptsParser::AT_MANDATORY},
125
{Config::SET_OPTION_ARG, 0, "include", "Always include file", OptsParser::AT_MANDATORY},
126
{Config::SET_OPTION_ARG, 0, "size-type", "Internal type for size_t", OptsParser::AT_MANDATORY},
127
{Config::SET_OPTION_ARG, 0, "ptrdiff-type", "Internal type for ptrdiff_t", OptsParser::AT_MANDATORY},
128
{Config::SET_OPTION_ARG, 0, "inhibit-macro", "Prevent a preprocessor macro for being defined", OptsParser::AT_MANDATORY},
129
{0, 0, 0, 0, OptsParser::AT_NONE}
87
{Config::PRE_ASSERT, "A", NULL, "Assert a preprocessor predicate", OptsParser::AT_MANDATORY},
88
{Config::PRE_DEFINE, "D", NULL, "Define a preprocessor macro", OptsParser::AT_MANDATORY},
89
{Config::PRE_UNDEFINE, "U", NULL, "Undefine a preprocessor macro", OptsParser::AT_MANDATORY},
90
{Config::PRE_LOCK_MACRO, 0, "lock-macro", "Define an unchangeable preprocessor macro", OptsParser::AT_MANDATORY},
91
{Config::PRE_INCLUDE, "I", NULL, "Add new include path", OptsParser::AT_MANDATORY},
92
{Config::PROJ_PATH, "p", "path", "Path to project source", OptsParser::AT_MANDATORY},
93
{Config::PROJ_DESTINATION, "d", "dest", "Path to destination for modified sources", OptsParser::AT_MANDATORY},
94
{Config::SET_SUFFIX, "s", "suffix", "Set file save suffix", OptsParser::AT_MANDATORY},
95
{Config::SET_EXTENSION, "e", "extension", "Set the extension for source files", OptsParser::AT_MANDATORY},
96
{Config::SET_WRITE_PROTECTED, "w", "write-protected", "Add a new write protected path", OptsParser::AT_MANDATORY},
97
{Config::CFG_FILE, NULL, "config", "Full path to a config file", OptsParser::AT_MANDATORY},
98
{Config::SET_OPTION, NULL, "save-overwrite", "Overwrite old files", OptsParser::AT_NONE},
99
{Config::SET_OPTION, NULL, "rename-old", "Rename old files", OptsParser::AT_NONE},
100
{Config::SET_OPTION, NULL, "new-suffix", "Append new suffix on old files", OptsParser::AT_NONE},
101
{Config::SET_OPTION, NULL, "lang-c", "Input language is C", OptsParser::AT_NONE},
102
{Config::SET_OPTION, NULL, "lang-ec++", "Input language is EC++", OptsParser::AT_NONE},
103
{Config::SET_OPTION, NULL, "lang-c++", "Input language is C++", OptsParser::AT_NONE},
104
{Config::SET_OPTION, NULL, "lang-ac++", "Input language is AC++", OptsParser::AT_NONE},
105
{Config::SET_OPTION, NULL, "skip-bodies-all", "Skip parsing function bodies", OptsParser::AT_NONE},
106
{Config::SET_OPTION, NULL, "skip-bodies-tpl", "Skip parsing function bodies of templates", OptsParser::AT_NONE},
107
{Config::SET_OPTION, NULL, "skip-bodies-non-prj", "Skip parsing non-project function bodies", OptsParser::AT_NONE},
108
{Config::SET_OPTION, NULL, "skip-bodies-non-prim", "Skip parsing function bodies in non-primary files", OptsParser::AT_NONE},
109
{Config::SET_OPTION, NULL, "real-instances", "Do real template instantiation", OptsParser::AT_NONE},
110
{Config::SET_OPTION, NULL, "match-expr", "Parse match expression", OptsParser::AT_NONE},
111
{Config::SET_OPTION, NULL, "gnu-nested-fct", "", OptsParser::AT_NONE},
112
{Config::SET_OPTION, NULL, "gnu-condition-scope", "", OptsParser::AT_NONE},
113
{Config::SET_OPTION, NULL, "gnu-param-decl", "", OptsParser::AT_NONE},
114
{Config::SET_OPTION, NULL, "gnu-fct-decl", "", OptsParser::AT_NONE},
115
{Config::SET_OPTION, NULL, "gnu-param-scope", "", OptsParser::AT_NONE},
116
{Config::SET_OPTION, NULL, "gnu-default-args", "", OptsParser::AT_NONE},
117
{Config::SET_OPTION, NULL, "gnu-extended-asm", "", OptsParser::AT_NONE},
118
{Config::SET_OPTION, NULL, "gnu-extended-expr", "", OptsParser::AT_NONE},
119
{Config::SET_OPTION, NULL, "gnu-long-long", "", OptsParser::AT_NONE},
120
{Config::SET_OPTION, NULL, "gnu-name-scope", "", OptsParser::AT_NONE},
121
{Config::SET_OPTION, NULL, "gnu-implicit-int", "", OptsParser::AT_NONE},
122
{Config::SET_OPTION, NULL, "gnu-fct-attribute", "", OptsParser::AT_NONE},
123
{Config::SET_OPTION, NULL, "gnu-if-then-expr", "", OptsParser::AT_NONE},
124
{Config::SET_OPTION, NULL, "gnu-std-hack", "", OptsParser::AT_NONE},
125
{Config::SET_OPTION, NULL, "gnu", "Support gnu extensions", OptsParser::AT_NONE},
126
{Config::SET_OPTION, NULL, "gnu-2.95", "Support gnu extensions for g++ 2.95", OptsParser::AT_NONE},
127
{Config::SET_OPTION, NULL, "vc", "Support Visual C++ extensions", OptsParser::AT_NONE},
128
{Config::SET_OPTION_ARG, NULL, "import-handler", "Handler for #import directives", OptsParser::AT_MANDATORY},
129
{Config::SET_OPTION_ARG, NULL, "include", "Always include file", OptsParser::AT_MANDATORY},
130
{Config::SET_OPTION_ARG, NULL, "size-type", "Internal type for size_t", OptsParser::AT_MANDATORY},
131
{Config::SET_OPTION_ARG, NULL, "ptrdiff-type", "Internal type for ptrdiff_t", OptsParser::AT_MANDATORY},
132
{Config::SET_OPTION_ARG, NULL, "inhibit-macro", "Prevent a preprocessor macro for being defined", OptsParser::AT_MANDATORY},
133
{0, 0, 0, 0, OptsParser::AT_NONE}