summaryrefslogtreecommitdiff
path: root/gcc/mips-tfile.c
diff options
context:
space:
mode:
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2003-05-29 21:33:35 +0000
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2003-05-29 21:33:35 +0000
commit4eb7b61f2c1c20024050339e57a2aee041147ec4 (patch)
tree96002dd0abd5b477d7d771673ceec8d85c96df7b /gcc/mips-tfile.c
parent360ece753248451ec41e47e4cf6dd0a6ec6d1423 (diff)
downloadgcc-4eb7b61f2c1c20024050339e57a2aee041147ec4.tar.gz
PR bootstrap/10169
* mips-tfile.c (main): Use getopt_long instead of getopt. Add new command line option --version to display version. Treat --verbose like -v to report a single line version. (options): New global variable for getopt_long. * mips-tdump.c (main): Use getopt_long instead of getopt. New command line options -v, --version and -verbose to display the program version number (to match mips-tfile's behavior). (options): New global variable for getopt_long. * gcov.c (options): Zero-terminate getopt_long array. * gcov-dump.c (options): Likewise. * Makefile.in (mips-tdump.o): Add dependency on version.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67230 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/mips-tfile.c')
-rw-r--r--gcc/mips-tfile.c53
1 files changed, 41 insertions, 12 deletions
diff --git a/gcc/mips-tfile.c b/gcc/mips-tfile.c
index 45b8717d933..d5c378f2e05 100644
--- a/gcc/mips-tfile.c
+++ b/gcc/mips-tfile.c
@@ -611,6 +611,9 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#define saber_stop()
#endif
+/* Include getopt.h for the sake of getopt_long. */
+#include "getopt.h"
+
#ifndef __LINE__
#define __LINE__ 0
#endif
@@ -1510,6 +1513,7 @@ static unsigned cur_line_alloc = 0; /* # bytes total in buffer */
static long line_number = 0; /* current input line number */
static int debug = 0; /* trace functions */
static int version = 0; /* print version # */
+static int verbose = 0;
static int had_errors = 0; /* != 0 if errors were found */
static int rename_output = 0; /* != 0 if rename output file*/
static int delete_input = 0; /* != 0 if delete input after done */
@@ -1664,6 +1668,15 @@ static const pseudo_ops_t pseudo_ops[] = {
};
+/* Command line options for getopt_long. */
+
+static const struct option options[] =
+{
+ { "version", 0, 0, 'V' },
+ { "verbose", 0, 0, 'v' },
+ { 0, 0, 0, 0 }
+};
+
/* Add a page to a varray object. */
STATIC void
@@ -4809,7 +4822,7 @@ main (argc, argv)
void_type_info = type_info_init;
void_type_info.basic_type = bt_Void;
- while ((option = getopt (argc, argv, "d:i:I:o:v")) != EOF)
+ while ((option = getopt_long (argc, argv, "d:i:I:o:v", options, NULL)) != -1)
switch (option)
{
default:
@@ -4849,10 +4862,24 @@ main (argc, argv)
break;
case 'v':
+ verbose++;
+ break;
+
+ case 'V':
version++;
break;
}
+ if (version)
+ {
+ printf (_("mips-tfile (GCC) %s\n"), version_string);
+ fputs (_("Copyright (C) 2003 Free Software Foundation, Inc.\n"), stdout);
+ fputs (_("This is free software; see the source for copying conditions. There is NO\n\
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n"),
+ stdout);
+ exit (0);
+ }
+
if (obj_in_name == (char *) 0 && optind <= argc - 2)
obj_in_name = argv[--argc];
@@ -4868,7 +4895,19 @@ main (argc, argv)
delete_input = 1;
}
- if (object_name == (char *) 0 || had_errors || optind != argc - 1)
+ if (optind != argc - 1)
+ had_errors++;
+
+ if (verbose || had_errors)
+ {
+ fprintf (stderr, _("mips-tfile (GCC) %s"), version_string);
+#ifdef TARGET_VERSION
+ TARGET_VERSION;
+#endif
+ fputc ('\n', stderr);
+ }
+
+ if (object_name == (char *) 0 || had_errors)
{
fprintf (stderr, _("Calling Sequence:\n"));
fprintf (stderr, _("\tmips-tfile [-d <num>] [-v] [-i <o-in-file>] -o <o-out-file> <s-file> (or)\n"));
@@ -4883,16 +4922,6 @@ main (argc, argv)
return 1;
}
-
- if (version)
- {
- fprintf (stderr, _("mips-tfile version %s"), version_string);
-#ifdef TARGET_VERSION
- TARGET_VERSION;
-#endif
- fputc ('\n', stderr);
- }
-
if (obj_in_name == (char *) 0)
obj_in_name = object_name;