aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1992-07-12 19:39:00 +0000
committerRichard Stallman <rms@gnu.org>1992-07-12 19:39:00 +0000
commit2cccceff8b3727cb210faed5d654d861564b1c92 (patch)
tree0d21811345229d1c017205f85a34cce2bcec4532 /gcc
parent467456d0548913eacaa4f0bcca37b34b6c90a657 (diff)
downloadgcc-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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/protoize.c36
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;
}
{