@@ -28,11 +28,12 @@ int main(int argc, char **argv)
2828
2929 // Settings..
3030 simplecpp::DUI dui;
31+ bool quiet = false ;
3132 for (int i = 1 ; i < argc; i++) {
3233 const char *arg = argv[i];
3334 if (*arg == ' -' ) {
3435 char c = arg[1 ];
35- if (c != ' D' && c != ' U' && c != ' I' && c != ' i' && c != ' s' )
36+ if (c != ' D' && c != ' U' && c != ' I' && c != ' i' && c != ' s' && c != ' q ' )
3637 continue ; // Ignored
3738 const char *value = arg[2 ] ? (argv[i] + 2 ) : argv[++i];
3839 switch (c) {
@@ -53,6 +54,9 @@ int main(int argc, char **argv)
5354 if (std::strncmp (arg, " -std=" ,5 )==0 )
5455 dui.std = arg + 5 ;
5556 break ;
57+ case ' q' :
58+ quiet = true ;
59+ break ;
5660 }
5761 } else {
5862 filename = arg;
@@ -66,6 +70,8 @@ int main(int argc, char **argv)
6670 std::cout << " -IPATH Include path." << std::endl;
6771 std::cout << " -include=FILE Include FILE." << std::endl;
6872 std::cout << " -UNAME Undefine NAME." << std::endl;
73+ std::cout << " -std=STD Specify standard." << std::endl;
74+ std::cout << " -q Quiet mode (no output)." << std::endl;
6975 std::exit (0 );
7076 }
7177
@@ -82,36 +88,39 @@ int main(int argc, char **argv)
8288 simplecpp::preprocess (outputTokens, rawtokens, files, included, dui, &outputList);
8389
8490 // Output
85- std::cout << outputTokens.stringify () << std::endl;
86- for (const simplecpp::Output &output : outputList) {
87- std::cerr << output.location .file () << ' :' << output.location .line << " : " ;
88- switch (output.type ) {
89- case simplecpp::Output::ERROR:
90- std::cerr << " #error: " ;
91- break ;
92- case simplecpp::Output::WARNING:
93- std::cerr << " #warning: " ;
94- break ;
95- case simplecpp::Output::MISSING_HEADER:
96- std::cerr << " missing header: " ;
97- break ;
98- case simplecpp::Output::INCLUDE_NESTED_TOO_DEEPLY:
99- std::cerr << " include nested too deeply: " ;
100- break ;
101- case simplecpp::Output::SYNTAX_ERROR:
102- std::cerr << " syntax error: " ;
103- break ;
104- case simplecpp::Output::PORTABILITY_BACKSLASH:
105- std::cerr << " portability: " ;
106- break ;
107- case simplecpp::Output::UNHANDLED_CHAR_ERROR:
108- std::cerr << " unhandled char error: " ;
109- break ;
110- case simplecpp::Output::EXPLICIT_INCLUDE_NOT_FOUND:
111- std::cerr << " explicit include not found: " ;
112- break ;
91+ if (!quiet) {
92+ std::cout << outputTokens.stringify () << std::endl;
93+
94+ for (const simplecpp::Output &output : outputList) {
95+ std::cerr << output.location .file () << ' :' << output.location .line << " : " ;
96+ switch (output.type ) {
97+ case simplecpp::Output::ERROR:
98+ std::cerr << " #error: " ;
99+ break ;
100+ case simplecpp::Output::WARNING:
101+ std::cerr << " #warning: " ;
102+ break ;
103+ case simplecpp::Output::MISSING_HEADER:
104+ std::cerr << " missing header: " ;
105+ break ;
106+ case simplecpp::Output::INCLUDE_NESTED_TOO_DEEPLY:
107+ std::cerr << " include nested too deeply: " ;
108+ break ;
109+ case simplecpp::Output::SYNTAX_ERROR:
110+ std::cerr << " syntax error: " ;
111+ break ;
112+ case simplecpp::Output::PORTABILITY_BACKSLASH:
113+ std::cerr << " portability: " ;
114+ break ;
115+ case simplecpp::Output::UNHANDLED_CHAR_ERROR:
116+ std::cerr << " unhandled char error: " ;
117+ break ;
118+ case simplecpp::Output::EXPLICIT_INCLUDE_NOT_FOUND:
119+ std::cerr << " explicit include not found: " ;
120+ break ;
121+ }
122+ std::cerr << output.msg << std::endl;
113123 }
114- std::cerr << output.msg << std::endl;
115124 }
116125
117126 // cleanup included tokenlists
0 commit comments