mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-10 23:11:36 +08:00
opts-common.c (decode_cmdline_option): Print empty string argument as "" in decoded->orig_option_with_args_text.
* opts-common.c (decode_cmdline_option): Print empty string argument as "" in decoded->orig_option_with_args_text. * gcc.c (execute): Print empty string argument as "" in the verbose output. (do_spec_1): Keep empty string argument. testsuite/ * gcc.dg/cpp/include7.c: New test. From-SVN: r170426
This commit is contained in:
parent
f85b70fda4
commit
7fcf46f509
@ -1,3 +1,11 @@
|
||||
2011-02-23 Jie Zhang <jie@codesourcery.com>
|
||||
|
||||
* opts-common.c (decode_cmdline_option): Print empty string
|
||||
argument as "" in decoded->orig_option_with_args_text.
|
||||
* gcc.c (execute): Print empty string argument as ""
|
||||
in the verbose output.
|
||||
(do_spec_1): Keep empty string argument.
|
||||
|
||||
2011-02-23 Nathan Froyd <froydnj@codesourcery.com>
|
||||
|
||||
* config.gcc: Declare score-* and crx-* obsolete.
|
||||
|
16
gcc/gcc.c
16
gcc/gcc.c
@ -2538,13 +2538,20 @@ execute (void)
|
||||
}
|
||||
fputc ('"', stderr);
|
||||
}
|
||||
/* If it's empty, print "". */
|
||||
else if (!**j)
|
||||
fprintf (stderr, " \"\"");
|
||||
else
|
||||
fprintf (stderr, " %s", *j);
|
||||
}
|
||||
}
|
||||
else
|
||||
for (j = commands[i].argv; *j; j++)
|
||||
fprintf (stderr, " %s", *j);
|
||||
/* If it's empty, print "". */
|
||||
if (!**j)
|
||||
fprintf (stderr, " \"\"");
|
||||
else
|
||||
fprintf (stderr, " %s", *j);
|
||||
|
||||
/* Print a pipe symbol after all but the last command. */
|
||||
if (i + 1 != n_commands)
|
||||
@ -4423,6 +4430,10 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part)
|
||||
int i;
|
||||
int value;
|
||||
|
||||
/* If it's an empty string argument to a switch, keep it as is. */
|
||||
if (inswitch && !*p)
|
||||
arg_going = 1;
|
||||
|
||||
while ((c = *p++))
|
||||
/* If substituting a switch, treat all chars like letters.
|
||||
Otherwise, NL, SPC, TAB and % are special. */
|
||||
@ -5149,7 +5160,8 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part)
|
||||
case '*':
|
||||
if (soft_matched_part)
|
||||
{
|
||||
do_spec_1 (soft_matched_part, 1, NULL);
|
||||
if (soft_matched_part[0])
|
||||
do_spec_1 (soft_matched_part, 1, NULL);
|
||||
do_spec_1 (" ", 0, NULL);
|
||||
}
|
||||
else
|
||||
|
@ -607,11 +607,15 @@ decode_cmdline_option (const char **argv, unsigned int lang_mask,
|
||||
{
|
||||
if (i < result)
|
||||
{
|
||||
size_t len;
|
||||
if (opt_index == OPT_SPECIAL_unknown)
|
||||
decoded->canonical_option[i] = argv[i];
|
||||
else
|
||||
decoded->canonical_option[i] = NULL;
|
||||
total_len += strlen (argv[i]) + 1;
|
||||
len = strlen (argv[i]);
|
||||
/* If the argument is an empty string, we will print it as "" in
|
||||
orig_option_with_args_text. */
|
||||
total_len += (len != 0 ? len : 2) + 1;
|
||||
}
|
||||
else
|
||||
decoded->canonical_option[i] = NULL;
|
||||
@ -637,7 +641,14 @@ decode_cmdline_option (const char **argv, unsigned int lang_mask,
|
||||
{
|
||||
size_t len = strlen (argv[i]);
|
||||
|
||||
memcpy (p, argv[i], len);
|
||||
/* Print the empty string verbally. */
|
||||
if (len == 0)
|
||||
{
|
||||
*p++ = '"';
|
||||
*p++ = '"';
|
||||
}
|
||||
else
|
||||
memcpy (p, argv[i], len);
|
||||
p += len;
|
||||
if (i == result - 1)
|
||||
*p++ = 0;
|
||||
|
@ -1,3 +1,7 @@
|
||||
2011-02-23 Jie Zhang <jie@codesourcery.com>
|
||||
|
||||
* gcc.dg/cpp/include7.c: New test.
|
||||
|
||||
2011-02-22 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
PR c++/47242
|
||||
|
3
gcc/testsuite/gcc.dg/cpp/include7.c
Normal file
3
gcc/testsuite/gcc.dg/cpp/include7.c
Normal file
@ -0,0 +1,3 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-I \"\"" } */
|
||||
|
Loading…
x
Reference in New Issue
Block a user