*** empty log message ***
From-SVN: r945
This commit is contained in:
parent
a8031c4edc
commit
2dcb563f6c
17
gcc/gcc.c
17
gcc/gcc.c
@ -94,6 +94,11 @@ extern int execv (), execvp ();
|
||||
|
||||
#define MIN_FATAL_STATUS 1
|
||||
|
||||
/* Flag saying to print the full filename of libgcc.a
|
||||
as found through our usual search mechanism. */
|
||||
|
||||
static int print_libgcc_file_name;
|
||||
|
||||
/* Flag indicating whether we should print the command and arguments */
|
||||
|
||||
static int verbose_flag;
|
||||
@ -1826,6 +1831,10 @@ process_command (argc, argv)
|
||||
printf ("%s\n", version_string);
|
||||
exit (0);
|
||||
}
|
||||
else if (! strcmp (argv[i], "-print-libgcc-file-name"))
|
||||
{
|
||||
print_libgcc_file_name = 1;
|
||||
}
|
||||
else if (! strcmp (argv[i], "-Xlinker"))
|
||||
{
|
||||
/* Pass the argument of this option to the linker when we link. */
|
||||
@ -1939,6 +1948,8 @@ process_command (argc, argv)
|
||||
{
|
||||
if (!strcmp (argv[i], "-Xlinker"))
|
||||
i++;
|
||||
else if (! strcmp (argv[i], "-print-libgcc-file-name"))
|
||||
i++;
|
||||
else if (argv[i][0] == '-' && argv[i][1] != 0 && argv[i][1] != 'l')
|
||||
{
|
||||
register char *p = &argv[i][1];
|
||||
@ -3038,6 +3049,12 @@ main (argc, argv)
|
||||
if (! switches[i].valid)
|
||||
error ("unrecognized option `-%s'", switches[i].part1);
|
||||
|
||||
if (print_libgcc_file_name)
|
||||
{
|
||||
printf ("%s\n", find_file ("libgcc.a"));
|
||||
exit (0);
|
||||
}
|
||||
|
||||
/* Obey some of the options. */
|
||||
|
||||
if (verbose_flag)
|
||||
|
32
gcc/rtl.c
32
gcc/rtl.c
@ -642,36 +642,28 @@ read_rtx (infile)
|
||||
}
|
||||
if (c != '"')
|
||||
dump_and_abort ('"', c, infile);
|
||||
j = 0;
|
||||
stringbufsize = 10;
|
||||
stringbuf = (char *) xmalloc (stringbufsize + 1);
|
||||
|
||||
while (1)
|
||||
{
|
||||
if (j >= stringbufsize - 4)
|
||||
c = getc (infile); /* Read the string */
|
||||
if (c == '\\')
|
||||
{
|
||||
stringbufsize *= 2;
|
||||
stringbuf = (char *) xrealloc (stringbuf, stringbufsize + 1);
|
||||
}
|
||||
stringbuf[j] = getc (infile); /* Read the string */
|
||||
if (stringbuf[j] == '\\')
|
||||
{
|
||||
stringbuf[j] = getc (infile); /* Read the string */
|
||||
c = getc (infile); /* Read the string */
|
||||
/* \; makes stuff for a C string constant containing
|
||||
newline and tab. */
|
||||
if (stringbuf[j] == ';')
|
||||
{
|
||||
strcpy (&stringbuf[j], "\\n\\t");
|
||||
j += 3;
|
||||
}
|
||||
if (c == ';')
|
||||
obstack_grow (rtl_obstack, "\\n\\t", 4);
|
||||
else
|
||||
obstack_1grow (rtl_obstack, c);
|
||||
}
|
||||
else if (stringbuf[j] == '"')
|
||||
else if (c == '"')
|
||||
break;
|
||||
j++;
|
||||
|
||||
obstack_1grow (rtl_obstack, c);
|
||||
}
|
||||
|
||||
stringbuf[j] = 0; /* NUL terminate the string */
|
||||
stringbuf = (char *) xrealloc (stringbuf, j + 1);
|
||||
obstack_1grow (rtl_obstack, 0);
|
||||
stringbuf = (char *) obstack_finish (rtl_obstack);
|
||||
|
||||
if (saw_paren)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user