summaryrefslogtreecommitdiff
path: root/gcc/collect2.c
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2010-01-04 14:42:38 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2010-01-04 06:42:38 -0800
commit7152f51efdcd5f6d9643dc182055873f3eb5a4bd (patch)
tree66507aef63b120549acc39d85f4c1218f17ebada /gcc/collect2.c
parent45de56481a57d261d6bc81439b6ee5053193a696 (diff)
downloadgcc-7152f51efdcd5f6d9643dc182055873f3eb5a4bd.tar.gz
Turn on trace in collect2 if needed
2010-01-04 H.J. Lu <hongjiu.lu@intel.com> PR lto/42581 * collect2.c (main): Turn on trace in collect2 if -v is passed to gcc with LTO. From-SVN: r155616
Diffstat (limited to 'gcc/collect2.c')
-rw-r--r--gcc/collect2.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/gcc/collect2.c b/gcc/collect2.c
index b9bed6be9e0..777510b4e40 100644
--- a/gcc/collect2.c
+++ b/gcc/collect2.c
@@ -1174,6 +1174,8 @@ main (int argc, char **argv)
int num_c_args;
char **old_argv;
+ bool use_verbose = false;
+
old_argv = argv;
expandargv (&argc, &argv);
if (argv != old_argv)
@@ -1228,12 +1230,19 @@ main (int argc, char **argv)
if (! strcmp (argv[i], "-debug"))
debug = 1;
else if (! strcmp (argv[i], "-flto") && ! use_plugin)
- lto_mode = LTO_MODE_LTO;
+ {
+ use_verbose = true;
+ lto_mode = LTO_MODE_LTO;
+ }
else if (! strcmp (argv[i], "-fwhopr") && ! use_plugin)
- lto_mode = LTO_MODE_WHOPR;
+ {
+ use_verbose = true;
+ lto_mode = LTO_MODE_WHOPR;
+ }
else if (! strcmp (argv[i], "-plugin"))
{
use_plugin = true;
+ use_verbose = true;
lto_mode = LTO_MODE_NONE;
}
#ifdef COLLECT_EXPORT_LIST
@@ -1446,6 +1455,11 @@ main (int argc, char **argv)
*c_ptr++ = xstrdup (q);
}
}
+ if (use_verbose && *q == '-' && q[1] == 'v' && q[2] == 0)
+ {
+ /* Turn on trace in collect2 if needed. */
+ vflag = 1;
+ }
}
obstack_free (&temporary_obstack, temporary_firstobj);
*c_ptr++ = "-fno-profile-arcs";