diff options
author | Gabriel Dos Reis <gdr@codesourcery.com> | 2000-05-28 21:22:12 +0000 |
---|---|---|
committer | Gabriel Dos Reis <gdr@gcc.gnu.org> | 2000-05-28 21:22:12 +0000 |
commit | 6f5ef761dff56f6fad015e13d16d1ec12283a25c (patch) | |
tree | 8ea1a5fdfdba85a8c2a066a09b4a28546171a2b0 /gcc/cp | |
parent | 055177dc83b011c37b3b78c23d4f86d471bf21c7 (diff) | |
download | gcc-6f5ef761dff56f6fad015e13d16d1ec12283a25c.zip gcc-6f5ef761dff56f6fad015e13d16d1ec12283a25c.tar.gz gcc-6f5ef761dff56f6fad015e13d16d1ec12283a25c.tar.bz2 |
toplev.h (skip_leading_substring): New macro.
2000-05-28 Gabriel Dos Reis <gdr@codesourcery.com>
* toplev.h (skip_leading_substring): New macro.
* toplev.c (decode_f_option): Use skip_leading_substring instead
of strncmp.
(decode_W_option): Likewise.
cp/
2000-05-28 Gabriel Dos Reis <gdr@codesourcery.com>
* decl2.c (lang_decode_option): Use skip_leading_substring instead
of plain strncmp.
From-SVN: r34240
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/decl2.c | 28 |
2 files changed, 22 insertions, 11 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index fafb15c..385f921 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2000-05-28 Gabriel Dos Reis <gdr@codesourcery.com> + + * decl2.c (lang_decode_option): Use skip_leading_substring instead + of plain strncmp. + 2000-05-28 Alexandre Oliva <aoliva@cygnus.com> * operators.def (<?): Duplicated, should have been... diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c index 6a90a0a..5ce75ef 100644 --- a/gcc/cp/decl2.c +++ b/gcc/cp/decl2.c @@ -590,6 +590,7 @@ lang_decode_option (argc, argv) /* Some kind of -f option. P's value is the option sans `-f'. Search for it in the table of options. */ + const char *option_value = NULL; size_t j; p += 2; @@ -639,31 +640,36 @@ lang_decode_option (argc, argv) flag_new_abi = 0; flag_do_squangling = 0; } - else if (!strncmp (p, "template-depth-", 15)) + else if ((option_value + = skip_leading_substring (p, "template-depth-"))) max_tinst_depth - = read_integral_parameter (p + 15, p - 2, max_tinst_depth); - else if (!strncmp (p, "name-mangling-version-", 22)) + = read_integral_parameter (option_value, p - 2, max_tinst_depth); + else if ((option_value + = skip_leading_substring (p, "name-mangling-version-"))) name_mangling_version - = read_integral_parameter (p + 22, p - 2, name_mangling_version); - else if (!strncmp (p, "message-length=", 15)) + = read_integral_parameter (option_value, p - 2, name_mangling_version); + else if ((option_value + = skip_leading_substring (p, "message-length="))) set_message_length - (read_integral_parameter (p + 15, p - 2, + (read_integral_parameter (option_value, p - 2, /* default line-wrap length */ 72)); - else if (!strncmp (p, "diagnostics-show-location=", 26)) + else if ((option_value + = skip_leading_substring (p, "diagnostics-show-location="))) { - if (!strncmp (p + 26, "once", 4)) + if (!strcmp (option_value, "once")) set_message_prefixing_rule (DIAGNOSTICS_SHOW_PREFIX_ONCE); - else if (!strncmp (p + 26, "every-line", 10)) + else if (!strcmp (option_value, "every-line")) set_message_prefixing_rule (DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE); else error ("Unrecognized option `%s'", p - 2); } - else if (!strncmp (p, "dump-translation-unit-", 22)) + else if ((option_value + = skip_leading_substring (p, "dump-translation-unit-"))) { if (p[22] == '\0') error ("no file specified with -fdump-translation-unit"); else - flag_dump_translation_unit = p + 22; + flag_dump_translation_unit = option_value; } else { |