diff options
author | Richard Stallman <rms@gnu.org> | 1992-07-12 19:39:00 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1992-07-12 19:39:00 +0000 |
commit | 2cccceff8b3727cb210faed5d654d861564b1c92 (patch) | |
tree | 0d21811345229d1c017205f85a34cce2bcec4532 | |
parent | 467456d0548913eacaa4f0bcca37b34b6c90a657 (diff) | |
download | gcc-2cccceff8b3727cb210faed5d654d861564b1c92.zip gcc-2cccceff8b3727cb210faed5d654d861564b1c92.tar.gz gcc-2cccceff8b3727cb210faed5d654d861564b1c92.tar.bz2 |
(process_aux_info_file): Set must_create before jumping to start_over.
(process_aux_info_file): Set must_create before jumping to
start_over. Don't clear must_create at start_over. Don't test
source file mod time for SYSCALLS.
From-SVN: r1573
-rw-r--r-- | gcc/protoize.c | 36 |
1 files changed, 22 insertions, 14 deletions
diff --git a/gcc/protoize.c b/gcc/protoize.c index a5fb8db..eca7413 100644 --- a/gcc/protoize.c +++ b/gcc/protoize.c @@ -2090,12 +2090,14 @@ process_aux_info_file (base_source_filename, keep_it, is_syscalls) /* Check that the aux_info file exists and is readable. If it does not exist, try to create it (once only). */ -start_over: ; - /* If file doesn't exist, set must_create. Likewise if it exists and we can read it but it is obsolete. Otherwise, report an error. */ must_create = 0; + + /* Come here with must_create set to 1 if file is out of date. */ +start_over: ; + if (my_access (aux_info_filename, R_OK) == -1) { if (errno == ENOENT) @@ -2172,20 +2174,26 @@ start_over: ; aux_info_mtime = stat_buf.st_mtime; - /* Compare mod time with the .c file; update .X file if obsolete. - The code later on can fail to check the .c file - if it did not directly define any functions. */ - - if (my_stat (base_source_filename, &stat_buf) == -1) + if (!is_syscalls) { - fprintf (stderr, "%s: can't get status of aux info file `%s': %s\n", - pname, shortpath (NULL, base_source_filename), - sys_errlist[errno]); - errors++; - return; + /* Compare mod time with the .c file; update .X file if obsolete. + The code later on can fail to check the .c file + if it did not directly define any functions. */ + + if (my_stat (base_source_filename, &stat_buf) == -1) + { + fprintf (stderr, "%s: can't get status of aux info file `%s': %s\n", + pname, shortpath (NULL, base_source_filename), + sys_errlist[errno]); + errors++; + return; + } + if (stat_buf.st_mtime > aux_info_mtime) + { + must_create = 1; + goto start_over; + } } - if (stat_buf.st_mtime > aux_info_mtime) - goto start_over; } { |