[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: icecream/client
From: Michael Matz <matz () kde ! org>
Date: 2008-08-11 13:46:41
Message-ID: 1218462401.446666.2753.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 845331 by matz:
Only localize job if we find -Wa,.*-a[a-z]*= in an argument. Otherwise
we would also force local on things like -Wa,-mtune=something.
Thanks Dmitry Baryshkov for the report and initial patch.
CCMAIL: dbaryshkov@gmail.com
M +19 -5 arg.cpp
--- trunk/icecream/client/arg.cpp #845330:845331
@@ -153,11 +153,25 @@
} else if (str_startswith("-Wa,", a)) {
/* Options passed through to the assembler. The only one we
* need to handle so far is -al=output, which directs the
- * listing to the named file and cannot be remote. Parsing
- * all the options would be complex since you can give several
- * comma-separated assembler options after -Wa, but looking
- * for '=' should be safe. */
- if (strchr(a, '=')) {
+ * listing to the named file and cannot be remote. There are
+ * some other options which also refer to local files,
+ * but most of them make no sense when called via the compiler,
+ * hence we only look for -a[a-z]*= and localize the job if we
+ * find it. */
+ const char *pos = a;
+ bool local = false;
+ while ((pos = strstr(pos+1, "-a"))) {
+ pos += 2;
+ while (*pos >= 'a' && *pos <= 'z')
+ pos++;
+ if (*pos == '=') {
+ local = true;
+ break;
+ }
+ if (!*pos)
+ break;
+ }
+ if (local) {
always_local = true;
args.append(a, Arg_Local);
} else
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic