From 938516d302b23a468764bc444d42b39c1508b7bd Mon Sep 17 00:00:00 2001 From: jsm28 Date: Fri, 2 Jun 2006 19:46:52 +0000 Subject: 2006-06-02 Richard Sandiford * gcc/gcc.c (feature_proxy_flag): New variable. (process_command): Handle -ffeature-proxy and -fno-feature-proxy. (main): Add "-p" if -ffeature-proxy. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/csl/wrs-linux-2006q1@114329 138bc75d-0d04-0410-961f-82ee72b054a4 --- ChangeLog.csl | 6 ++++++ gcc/gcc.c | 37 +++++++++++++++++++++++++++---------- 2 files changed, 33 insertions(+), 10 deletions(-) diff --git a/ChangeLog.csl b/ChangeLog.csl index b1d58450f4d..637569ec3f2 100644 --- a/ChangeLog.csl +++ b/ChangeLog.csl @@ -1,3 +1,9 @@ +2006-06-02 Richard Sandiford + + * gcc/gcc.c (feature_proxy_flag): New variable. + (process_command): Handle -ffeature-proxy and -fno-feature-proxy. + (main): Add "-p" if -ffeature-proxy. + 2006-05-03 Joseph Myers * gcc/testsuite/gcc.c-torture/execute/20020720-1.x: XFAIL for diff --git a/gcc/gcc.c b/gcc/gcc.c index 3e842422d5e..4a4f75c0116 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -228,6 +228,11 @@ static int use_pipes; static int license_me_flag; +/* WRS LOCAL + True if the -p option should be passed to the get_feature command. */ + +static int feature_proxy_flag = 1; + /* The compiler version. */ static const char *compiler_version; @@ -3569,6 +3574,10 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n" } else if (strcmp (argv[i], "-flicense-me") == 0) license_me_flag = 1; /* WRS LOCAL */ + else if (strcmp (argv[i], "-ffeature-proxy") == 0) + feature_proxy_flag = 1; /* WRS LOCAL */ + else if (strcmp (argv[i], "-fno-feature-proxy") == 0) + feature_proxy_flag = 0; /* WRS LOCAL */ else if (argv[i][0] == '-' && argv[i][1] != 0) { const char *p = &argv[i][1]; @@ -3925,6 +3934,10 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n" ; else if (! strcmp (argv[i], "-flicense-me")) ; + else if (! strcmp (argv[i], "-ffeature-proxy")) + ; + else if (! strcmp (argv[i], "-fno-feature-proxy")) + ; else if (! strncmp (argv[i], "--sysroot=", strlen ("--sysroot="))) { target_system_root = argv[i] + strlen ("--sysroot="); @@ -6465,19 +6478,23 @@ main (int argc, const char **argv) must remain separate from the GPL, and this method of doing so is explicitly blessed by the FSF's GPL FAQ. */ - const char *argv[9]; + const char *argv[10]; + const char **p; char *ptr; char *err_fmt, *err_arg; - argv[0] = "get_feature"; - argv[1] = "-co"; - argv[2] = xstrdup (DEFAULT_TARGET_MACHINE); - argv[3] = "-v"; - argv[4] = "3.3"; - argv[5] = "gnu"; - argv[6] = infiles[i].language; - argv[7] = (license_me_flag ? "-flicense-me" : ""); - argv[8] = 0; + p = argv; + *p++ = "get_feature"; + if (feature_proxy_flag) + *p++ = "-p"; + *p++ = "-co"; + *p++ = xstrdup (DEFAULT_TARGET_MACHINE); + *p++ = "-v"; + *p++ = "3.3"; + *p++ = "gnu"; + *p++ = infiles[i].language; + *p++ = (license_me_flag ? "-flicense-me" : ""); + *p++ = 0; ptr = find_a_file (&exec_prefixes, argv[0], X_OK, 0); -- cgit v1.2.3