aboutsummaryrefslogtreecommitdiff
path: root/gcc/opts-common.c
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2011-04-04 11:17:11 +0100
committerJoseph Myers <jsm28@gcc.gnu.org>2011-04-04 11:17:11 +0100
commit413519aef85273d74fab2b26aff5ee339c29dc8f (patch)
tree80b585242934f43f5933e85676bd17af4fba0f01 /gcc/opts-common.c
parent2aeaa366ad0dff200eb4c9b660b24a150f69f6a6 (diff)
downloadgcc-413519aef85273d74fab2b26aff5ee339c29dc8f.zip
gcc-413519aef85273d74fab2b26aff5ee339c29dc8f.tar.gz
gcc-413519aef85273d74fab2b26aff5ee339c29dc8f.tar.bz2
options.texi (ToLower): Document.
* doc/options.texi (ToLower): Document. * opt-functions.awk (switch_bit_fields): Initialize cl_tolower field. * opts-common.c (decode_cmdline_option): Handle cl_tolower. * opts.h (cl_option): Add cl_tolower field. * config/rx/rx.c (rx_handle_option): Use strcmp of -mcpu= arguments with lowercase strings. * config/rx/rx.opt (mcpu=): Add ToLower. * config/rx/t-rx (MULTILIB_MATCHES): Don't handle uppercase -mcpu= argument. From-SVN: r171932
Diffstat (limited to 'gcc/opts-common.c')
-rw-r--r--gcc/opts-common.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/opts-common.c b/gcc/opts-common.c
index f54d64a..e314cb3 100644
--- a/gcc/opts-common.c
+++ b/gcc/opts-common.c
@@ -567,6 +567,19 @@ decode_cmdline_option (const char **argv, unsigned int lang_mask,
if (!option_ok_for_language (option, lang_mask))
errors |= CL_ERR_WRONG_LANG;
+ /* Convert the argument to lowercase if appropriate. */
+ if (arg && option->cl_tolower)
+ {
+ size_t j;
+ size_t len = strlen (arg);
+ char *arg_lower = XNEWVEC (char, len + 1);
+
+ for (j = 0; j < len; j++)
+ arg_lower[j] = TOLOWER ((unsigned char) arg[j]);
+ arg_lower[len] = 0;
+ arg = arg_lower;
+ }
+
/* If the switch takes an integer, convert it. */
if (arg && option->cl_uinteger)
{