diff main.c @ 37:70902cac4170

Sort the option lists to match the comparison used to search them. duh. Also don't assert on the incpaths during shutdown.
author David A. Holland
date Sat, 30 Mar 2013 20:52:59 -0400
parents 76c114899f63
children b156910b59b2
line wrap: on
line diff
--- a/main.c	Sat Mar 30 20:39:59 2013 -0400
+++ b/main.c	Sat Mar 30 20:52:59 2013 -0400
@@ -315,6 +315,11 @@
 void
 incpath_cleanup(void)
 {
+	stringarray_setsize(&incpath_quote, 0);
+	stringarray_setsize(&incpath_user, 0);
+	stringarray_setsize(&incpath_system, 0);
+	stringarray_setsize(&incpath_late, 0);
+
 	stringarray_cleanup(&incpath_quote);
 	stringarray_cleanup(&incpath_user);
 	stringarray_cleanup(&incpath_system);
@@ -712,13 +717,9 @@
 static const struct flag_option flag_options[] = {
 	{ "C",                          &mode.output_retain_comments,  true },
 	{ "CC",                         &mode.output_retain_comments,  true },
-	{ "fdollars-in-identifiers",    &mode.input_allow_dollars,     true },
-	{ "fno-dollars-in-identifiers", &mode.input_allow_dollars,     false },
 	{ "MG",                         &mode.depend_assume_generated, true },
 	{ "MP",                         &mode.depend_issue_fakerules,  true },
-	{ "nostdinc",                   &mode.do_stdinc,               false },
 	{ "P",                          &mode.output_linenumbers,      false },
-	{ "undef",                      &mode.do_stddef,               false },
 	{ "Wcomment",                   &warns.nestcomment,    true },
 	{ "Wendif-labels",              &warns.endiflabels,    true },
 	{ "Werror",                     &mode.werror,          true },
@@ -729,14 +730,14 @@
 	{ "Wno-unused-macros",          &warns.unused,         false },
 	{ "Wundef",                     &warns.undef,          true },
 	{ "Wunused-macros",             &warns.unused,         true },
+	{ "fdollars-in-identifiers",    &mode.input_allow_dollars,     true },
+	{ "fno-dollars-in-identifiers", &mode.input_allow_dollars,     false },
+	{ "nostdinc",                   &mode.do_stdinc,               false },
+	{ "undef",                      &mode.do_stddef,               false },
 };
 static const unsigned num_flag_options = HOWMANY(flag_options);
 
 static const struct act_option act_options[] = {
-	{ "dD",        commandline_dD },
-	{ "dI",        commandline_dI },
-	{ "dM",        commandline_dM },
-	{ "dN",        commandline_dN },
 	{ "H",         commandline_H },
 	{ "M",         commandline_M },
 	{ "MD",        commandline_MD },
@@ -744,20 +745,27 @@
 	{ "MMD",       commandline_MMD },
 	{ "Wall",      commandline_wall },
 	{ "Wno-all",   commandline_wnoall },
+	{ "dD",        commandline_dD },
+	{ "dI",        commandline_dI },
+	{ "dM",        commandline_dM },
+	{ "dN",        commandline_dN },
 	{ "w",         commandline_wnone },
 };
 static const unsigned num_act_options = HOWMANY(act_options);
 
 static const struct prefix_option prefix_options[] = {
 	{ "D",         commandline_def },
+	{ "I",         commandline_addincpath_user },
+	{ "U",         commandline_undef },
 	{ "ftabstop=", commandline_tabstop },
-	{ "I",         commandline_addincpath_user },
 	{ "std=",      commandline_setstd },
-	{ "U",         commandline_undef },
 };
 static const unsigned num_prefix_options = HOWMANY(prefix_options);
 
 static const struct arg_option arg_options[] = {
+	{ "MF",          commandline_setdependoutput },
+	{ "MQ",          commandline_setdependtarget_quoted },
+	{ "MT",          commandline_setdependtarget },
 	{ "idirafter",   commandline_addincpath_late },
 	{ "imacros",     commandline_addfile_nooutput },
 	{ "include",     commandline_addfile_output },
@@ -768,9 +776,6 @@
 	{ "isystem",     commandline_addincpath_system },
 	{ "iwithprefix", commandline_addincpath_late_withprefix },
 	{ "iwithprefixbefore", commandline_addincpath_user_withprefix },
-	{ "MF",          commandline_setdependoutput },
-	{ "MT",          commandline_setdependtarget },
-	{ "MQ",          commandline_setdependtarget_quoted },
 	{ "x",           commandline_setlang },
 };
 static const unsigned num_arg_options = HOWMANY(arg_options);