diff options
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/doc/options.texi | 11 | ||||
-rw-r--r-- | gcc/opt-functions.awk | 8 |
3 files changed, 23 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0b69427eb63..d945d5034db 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2009-07-30 Dave Korn <dave.korn.cygwin@gmail.com> + + * opt-functions.awk (opt_args): Allow argument to be enclosed in + curly braces. + * doc/options.texi (Option properties): Mention new quoting syntax. + 2009-07-29 Douglas B Rupp <rupp@gnat.com> * config/alpha/alpha.c (alpha_start_function): diff --git a/gcc/doc/options.texi b/gcc/doc/options.texi index 53ad66bb7f6..2041de97353 100644 --- a/gcc/doc/options.texi +++ b/gcc/doc/options.texi @@ -84,7 +84,16 @@ configurations and yet the masks always need to be defined. @node Option properties @section Option properties -The second field of an option record can specify the following properties: +The second field of an option record can specify any of the following +properties. When an option takes an argument, it is enlosed in parentheses +following the option property name. The parser that handles option files +is quite simplistic, and will be tricked by any nested parentheses within +the argument text itself; in this case, the entire option argument can +be wrapped in curly braces within the parentheses to demarcate it, e.g.: + +@smallexample +Condition(@{defined (USE_CYGWIN_LIBSTDCXX_WRAPPERS)@}) +@end smallexample @table @code @item Common diff --git a/gcc/opt-functions.awk b/gcc/opt-functions.awk index ae1e1cb38c6..98414dae9a9 100644 --- a/gcc/opt-functions.awk +++ b/gcc/opt-functions.awk @@ -41,7 +41,13 @@ function opt_args(name, flags) if (flags !~ " " name "\\(") return "" sub(".* " name "\\(", "", flags) - sub("\\).*", "", flags) + if (flags ~ "^{") + { + sub ("^{", "", flags) + sub("}\\).*", "", flags) + } + else + sub("\\).*", "", flags) return flags } |