diff options
author | manu <manu@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-04-29 17:42:54 +0000 |
---|---|---|
committer | manu <manu@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-04-29 17:42:54 +0000 |
commit | 2bd5037b2a112ea00c21d6cb15b024491afb4812 (patch) | |
tree | c94b2a869151dcadbd829d86a475c5322044156d /gcc/collect2.c | |
parent | ccb7e201577eaad9ccab63b857efbbc48e570069 (diff) | |
download | gcc-2bd5037b2a112ea00c21d6cb15b024491afb4812.tar.gz |
2010-04-29 Jon Grant <04@jguk.org>
* collect2.c (vflag): Change type from int to bool.
(debug): Likewise.
(helpflag): New global bool.
(main): Set vflag and debug with boolean, not integer truth
values. Accept new "--help" option and output usage text if
found.
* collect2.h (vflag): Update prototype.
(debug): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158908 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/collect2.c')
-rw-r--r-- | gcc/collect2.c | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/gcc/collect2.c b/gcc/collect2.c index 481f73990f9..6b2bb500588 100644 --- a/gcc/collect2.c +++ b/gcc/collect2.c @@ -178,7 +178,7 @@ struct head int number; }; -int vflag; /* true if -v */ +bool vflag; /* true if -v or --version */ static int rflag; /* true if -r */ static int strip_flag; /* true if -s */ static const char *demangle_flag; @@ -197,7 +197,8 @@ enum lto_mode_d { /* Current LTO mode. */ static enum lto_mode_d lto_mode = LTO_MODE_NONE; -int debug; /* true if -debug */ +bool debug; /* true if -debug */ +bool helpflag; /* true if --help */ static int shared_obj; /* true if -shared */ @@ -1243,7 +1244,7 @@ main (int argc, char **argv) for (i = 1; argv[i] != NULL; i ++) { if (! strcmp (argv[i], "-debug")) - debug = 1; + debug = true; else if (! strcmp (argv[i], "-flto") && ! use_plugin) { use_verbose = true; @@ -1473,7 +1474,7 @@ main (int argc, char **argv) if (use_verbose && *q == '-' && q[1] == 'v' && q[2] == 0) { /* Turn on trace in collect2 if needed. */ - vflag = 1; + vflag = true; } } obstack_free (&temporary_obstack, temporary_firstobj); @@ -1603,7 +1604,7 @@ main (int argc, char **argv) case 'v': if (arg[2] == '\0') - vflag = 1; + vflag = true; break; case '-': @@ -1634,6 +1635,10 @@ main (int argc, char **argv) } else if (strncmp (arg, "--sysroot=", 10) == 0) target_system_root = arg + 10; + else if (strncmp (arg, "--version", 9) == 0) + vflag = true; + else if (strncmp (arg, "--help", 9) == 0) + helpflag = true; break; } } @@ -1735,6 +1740,20 @@ main (int argc, char **argv) fprintf (stderr, "\n"); } + if (helpflag) + { + fprintf (stderr, "Usage: collect2 [options]\n"); + fprintf (stderr, " Wrap linker and generate constructor code if needed.\n"); + fprintf (stderr, " Options:\n"); + fprintf (stderr, " -debug Enable debug output\n"); + fprintf (stderr, " --help Display this information\n"); + fprintf (stderr, " -v, --version Display this program's version number\n"); + fprintf (stderr, "Overview: http://gcc.gnu.org/onlinedocs/gccint/Collect2.html\n"); + fprintf (stderr, "Report bugs: %s\n", bug_report_url); + + collect_exit (0); + } + if (debug) { const char *ptr; |