protoize.c: (AUX_INFO_SUFFIX): New macro.

* protoize.c: (AUX_INFO_SUFFIX): New macro.
        (aux_info_suffix): Use.
        (SAVE_SUFFIX): New macro.
        (save_suffix): Use.
        (munge_compile_parms): Fix typo in NUL. DJGPP supports /dev/null.
        (gen_aux_info_file): Use aux_info_suffix instead of ".X".
        (edit_file): Handle 8.3 restriction for DOS/DJGPP filenames.

        * invoke.texi (Running Protoize): Update documentation.

From-SVN: r32170
This commit is contained in:
Mumit Khan 2000-02-26 05:39:13 +00:00 committed by Jeff Law
parent 3431f196c0
commit a7db8bbb21
3 changed files with 41 additions and 9 deletions

View File

@ -1,3 +1,15 @@
2000-02-25 Mumit Khan <khan@xraylith.wisc.edu>
* protoize.c: (AUX_INFO_SUFFIX): New macro.
(aux_info_suffix): Use.
(SAVE_SUFFIX): New macro.
(save_suffix): Use.
(munge_compile_parms): Fix typo in NUL. DJGPP supports /dev/null.
(gen_aux_info_file): Use aux_info_suffix instead of ".X".
(edit_file): Handle 8.3 restriction for DOS/DJGPP filenames.
* invoke.texi (Running Protoize): Update documentation.
2000-02-25 Mark Elbrecht <snowball3@bigfoot.com>
* i386/djgpp.h (CPP_PREDEFINES): Remove Unix defines.

View File

@ -7525,8 +7525,9 @@ with @samp{-q}.
The output from @code{protoize} or @code{unprotoize} replaces the
original source file. The original file is renamed to a name ending
with @samp{.save}. If the @samp{.save} file already exists, then
the source file is simply discarded.
with @samp{.save} (for DOS, the saved filename ends in @samp{.sav}
without the original @samp{.c} suffix). If the @samp{.save} (@samp{.sav}
for DOS) file already exists, then the source file is simply discarded.
@code{protoize} and @code{unprotoize} both depend on GCC itself to
scan the program and collect information about the functions it uses.
@ -7559,8 +7560,8 @@ would produce the wrong kind of output. These include @samp{-g},
the @var{compilation-options}, they are ignored.
@item -C
Rename files to end in @samp{.C}, or @samp{.cc} for DOS-based file
systems, instead of @samp{.c}. This is convenient if you are converting
Rename files to end in @samp{.C} (@samp{.cc} for DOS-based file
systems) instead of @samp{.c}. This is convenient if you are converting
a C program to C++. This option applies only to @code{protoize}.
@item -g

View File

@ -47,6 +47,20 @@ Boston, MA 02111-1307, USA. */
#define IS_SAME_PATH(a,b) (strcmp (a, b) == 0)
#endif
/* Suffix for aux-info files. */
#ifdef __MSDOS__
#define AUX_INFO_SUFFIX "X"
#else
#define AUX_INFO_SUFFIX ".X"
#endif
/* Suffix for saved files. */
#ifdef __MSDOS__
#define SAVE_SUFFIX "sav"
#else
#define SAVE_SUFFIX ".save"
#endif
/* Suffix for renamed C++ files. */
#ifdef HAVE_DOS_BASED_FILE_SYSTEM
#define CPLUS_FILE_SUFFIX "cc"
@ -117,11 +131,11 @@ static const char * const target_version = DEFAULT_TARGET_VERSION;
/* Suffix of aux_info files. */
static const char * const aux_info_suffix = ".X";
static const char * const aux_info_suffix = AUX_INFO_SUFFIX;
/* String to attach to filenames for saved versions of original files. */
static const char * const save_suffix = ".save";
static const char * const save_suffix = SAVE_SUFFIX;
/* String to attach to C filenames renamed to C++. */
@ -1983,8 +1997,8 @@ munge_compile_params (params_list)
temp_params[param_count++] = "-S";
temp_params[param_count++] = "-o";
#if defined (__MSDOS__) || (defined (_WIN32) && ! defined (__CYGWIN__) && ! defined (_UWIN))
temp_params[param_count++] = "NUL:";
#if defined (_WIN32) && ! defined (__CYGWIN__) && ! defined (_UWIN)
temp_params[param_count++] = "NUL";
#else
temp_params[param_count++] = "/dev/null";
#endif
@ -2018,7 +2032,7 @@ gen_aux_info_file (base_filename)
compile_params[input_file_name_index] = shortpath (NULL, base_filename);
/* Add .X to source file name to get aux-info file name. */
compile_params[aux_info_file_name_index] =
concat (compile_params[input_file_name_index], ".X", NULL);
concat (compile_params[input_file_name_index], aux_info_suffix, NULL);
if (!quiet_flag)
notice ("%s: compiling `%s'\n",
@ -4316,6 +4330,11 @@ edit_file (hp)
= (char *) xmalloc (strlen (convert_filename) + strlen (save_suffix) + 2);
strcpy (new_filename, convert_filename);
#ifdef __MSDOS__
/* MSDOS filenames are restricted to 8.3 format, so we save `foo.c'
as `foo.<save_suffix>'. */
new_filename[(strlen (convert_filename) - 1] = '\0';
#endif
strcat (new_filename, save_suffix);
/* Don't overwrite existing file. */